Skip to main content

PySpice license PySpicePro python version

PySpicePro last version

Overview

What is PySpicePro ?

PySpicePro is a Python module based on the PySpice module created by Fabrice Salvaire with additions that are not yet integrated into PySpice.

PySpicePro only works with ngspice version 30 (install from ngspice-30_dll_64.zip).

Additions:

  • The .meas(ure) keyword has been added through the simulator.measure(..) member function. This allows the use of simulator.options(‘AUTOSTOP’).

  • Parallelisation is now more convenient with the use of NgSpiceShared.new_instance() where the management of new instances is now completely automated (temporary dll, instances deletions).

Installation:

pip install PySpicePro

PySpicePro needs to work with a specific version of ngspice. Currently only supporting v30.

What is PySpice ?

PySpice is a Python module which interface Python to the Ngspice and Xyce circuit simulators.

Where is the Documentation ?

The documentation is available on the PySpice Home Page.

What are the main features ?

  • support Ngspice and Xyce circuit simulators

  • support Linux, Windows and Mac OS X platforms

  • licensed under GPLv3 therms

  • 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

Credits

Author of the original PySpice: Fabrice Salvaire

V1.4.0 (development release)

V1.3.2 (production release) 2019-03-11

  • support Ngspice 30 and Xyce 6.10

  • fixed NgSpice and Xyce support on Windows 10

  • bug fixes

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 </faq.html>’_)

  • 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

V1.1.0 2017-09-06

  • Enhanced shared mode

  • Shared mode is now set as default on Linux

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

V0.4.2

  • Fixed Spice parser for lower case device prefix.

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.

V0.3.2 2017-02-22

  • fixed CCCS and CCVS

V0.3.1 2017-02-22

  • fixed ngspice shared

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.

V0 2014-03-21

Started project

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

PySpicePro-40.1.tar.gz (444.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

PySpicePro-40.1-py2.py3-none-any.whl (125.8 kB view details)

Uploaded Python 2Python 3

File details

Details for the file PySpicePro-40.1.tar.gz.

File metadata

  • Download URL: PySpicePro-40.1.tar.gz
  • Upload date:
  • Size: 444.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.1.0 requests-toolbelt/0.9.1 tqdm/4.41.0 CPython/3.6.8

File hashes

Hashes for PySpicePro-40.1.tar.gz
Algorithm Hash digest
SHA256 9ad94ae6fc7b8cf7997d0e1fe5bb1a71a0ff31e0793c11d4de3e727bbc576c5c
MD5 3b454c9ad64893b4c969ad13929f4ff3
BLAKE2b-256 fe4bb07c3782daad71ecf19d1fd5dca8fc8d99c755b8ffea01bc3e8c12547962

See more details on using hashes here.

File details

Details for the file PySpicePro-40.1-py2.py3-none-any.whl.

File metadata

  • Download URL: PySpicePro-40.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 125.8 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.1.0 requests-toolbelt/0.9.1 tqdm/4.41.0 CPython/3.6.8

File hashes

Hashes for PySpicePro-40.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 f04b89756b20e1ae0e7503ad6184008c803b10c6fc8b0841fb1a9e878f427fcf
MD5 73dd9e440130c3d306ed8e79bdce9f44
BLAKE2b-256 bd3f33c58105b109ce6b8f1dc1c105c44c8982cadae9f03a850d1036850341fe

See more details on using hashes here.

Release history Release notifications | RSS feed

40.3

2 files

40.2

2 files

This release

40.1 This release

2 files

40

2 files

31

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page