PySpice : Simulate Electronic Circuit using Python and the Ngspice Simulator
- Quick Link to Production Branch
- Quick Link to Devel Branch
Overview
What is PySpice ?
PySpice is a Python module which interface Python and the Ngspice circuit simulator.
What are the main features ?
- licensed under GPLv3 therms
- support Linux, Windows and Mac OS X platforms
- implement an Ngspice shared library binding using CFFI which support external sources
- implement (partial) SPICE netlist parser
- implement an Oriented Object API to define circuit
- export simulation output to Numpy arrays
- plot using Matplotlib
- handle units
- work with Kicad schematic editor
- implement a documentation generator
- provides many examples
Where is the Documentation ?
The documentation is available on the PySpice Home Page.
How to install it ?
Look at the installation section in the documentation.
Credits
Authors: Fabrice Salvaire
News
V1.1.0
- Enhanced shared mode
- Shared mode is now set as default on Linux
V1.0.0
- Bump version to v1.0.0 since it just works!
- Support Windows platform using Ngspice shared mode
- Fixed shared mode
- Fixed and completed Spice parser : tested on example's libraries
V0.4.2
- Fixed Spice parser for lower case device prefix.
V0.4.0
- Git repository cleanup: filtered generated doc and useless files so as to shrink the repository size.
- Improved documentation generator: Implemented
format
for RST content and Tikz figure.- Improved unit support: It implements now the International System of Units. And we can now use unit helper like
u_mV
or compute the value of1.2@u_kΩ / 2@u_mA
. The relevant documentation is on this page.- Added the Simulation instance to the Analysis class.
- Refactored simulation parameters as classes.
V0.3.2
- fixed CCCS and CCVS
V0.3.1
- fixed ngspice shared
V0.3.0
- Added an example to show how to use the NgSpice Shared Simulation Mode.
- Completed the Spice netlist parser and added examples, we could now use a schematic editor to define the circuit. The program cir2py translates a circuit file to Python.