2. News

2.1. V1.5.0 (development release)

2.2. V1.4.? (production release) 2020-0?-??

  • PySpice is now available on Anaconda(conda-forge) as well as a wheel on PyPI

  • Added a post installation tool to download the Ngspice DLL on Windows and to check the installation. It should now simplify considerably the PySpice installation on Windows.

  • This tool can also download the examples and the Ngspice PDF manual.

  • On Linux and OSX, a Ngspice package is now available on Anaconda(conda-forge). Note that theses two platforms do not download a binary from Ngspice since a compiler can easily be installed on theses platforms.

  • Updated installation documentation for Linux, the main distributions now provide a ngspice shared package.

  • Added a front-end web site so as to keep older releases documentation available on the web.

  • fixed and rebuilt all examples (but mistakes could happen …)

  • examples are now available as Python files and Jupyter notebooks (but some issues must be fixed, e.g. due to the way Jupyter handles Matplotlib plots)

  • support NgSpice 32 API (no change)

  • removed @substitution@ in PySpice/__init__.py, beacause it breaks pip install from git

  • fixed some logging spams

  • fixed NonLinearVoltageSource

  • cir2py has been converted to an entry point so as to work on all platforms

2.3. V1.4.0 (production release) 2020-05-05

This release is yanked due to broken Windows support.

  • fixed nasty issue with NgSpice shared for setlocale(LC_NUMERIC, “C”); cf. #172

  • fixed AC AC_MAG AC_PASAE SIN for new NgSpice syntax

  • fixed initial_state for VoltageControlledSwitch

  • fixed LosslessTransmissionLine #169

  • fixed docstrings for element shortcut methods (thanks to Kyle Dunn) #178

  • fixed parser for leading whitespace (thanks to Matt Huszagh) #182

  • fix for PyYAML newer API

  • support NgSpice 31 API (no change)

  • added check for CoupledInductor #157

  • added check-installation tool to help to fix broken installation

  • added pole-zero, noise, distorsion, transfer-function analyses (thanks to Peter Garrone) #191

  • added .measure support (thanks to ceprio) #160

  • added log_desk parameter to CircuitSimulator

  • added listing command method to NgSpiceShared

  • added Xyce Mosfet nfin #177

2.4. V1.3.2 2019-03-11

  • support Ngspice 30 and Xyce 6.10

  • fixed NgSpice and Xyce support on Windows 10

  • bug fixes

2.5. V1.2.0 2018-06-07

  • Initial support of the Xyce simulator. Xyce is an open source, SPICE-compatible, high-performance analog circuit simulator, capable of solving extremely large circuit problems developed at Sandia National Laboratories. Xyce will make PySpice suitable for industry and research use.

  • Fixed OSX support

  • Splitted G device

  • Implemented partially A XSPICE device

  • Implemented missing transmission line devices

  • Implemented high level current sources Notice: Some classes were renamed !

  • Implemented node kwarg e.g. circuit.Q(1, base=1, collector=2, emitter=3, model='npn')

  • Implemented raw spice pass through (see User FAQ)

  • Implemented access to internal parameters (cf. save @device[parameter])

  • Implemented check for missing ground node

  • Implemented a way to disable an element and clone netlist

  • Improved SPICE parser

  • Improved unit support:

    • Implemented unit prefix cast U_μV(U_mV(1)) to easily convert values

    • Added U_mV, … shortcuts

    • Added Numpy array support to unit, see UnitValues Notice: this new feature could be buggy !!!

    • Rebased WaveForm to UnitValues

  • Fixed node order so as to not confuse users Now PySpice matches SPICE order for two ports elements !

  • Fixed device shortcuts in Netlist class

  • Fixed model kwarg for BJT Notice: it must be passed exclusively as kwarg !

  • Fixed subcircuit nesting

  • Outsourced documentation generator to Pyterate

  • Updated setup.py for wheel

2.6. V1.1.0 2017-09-06

  • Enhanced shared mode

  • Shared mode is now set as default on Linux

2.7. V1.0.0 2017-09-06

  • 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

2.8. V0.4.2

  • Fixed Spice parser for lower case device prefix.

2.9. V0.4.0 2017-07-31

  • 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 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.

2.10. V0.3.2 2017-02-22

  • fixed CCCS and CCVS

2.11. V0.3.1 2017-02-22

  • fixed ngspice shared

2.12. V0.3.0 2015-12-08

  • 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.

2.13. V0 2014-03-21

Started project