Simulate electronic circuit using Python and the Ngspice simulator
What is PySpice ?
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.
Authors: Fabrice Salvaire
- Enhanced shared mode
- Shared mode is now set as default on Linux
- 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
- Fixed Spice parser for lower case device prefix.
- Git repository cleanup: filtered generated doc and useless files so as to shrink the repository size.
- Improved documentation generator: Implemented
formatfor 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_mVor compute the value of
1.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.
- fixed CCCS and CCVS
- fixed ngspice shared
- 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.