PySpice


NamePySpice JSON
Version 1.5 PyPI version JSON
download
home_pagehttps://github.com/FabriceSalvaire/PySpice
SummarySimulate electronic circuit using Python and the Ngspice / Xyce simulators
upload_time2021-05-15 23:01:56
maintainerFabrice Salvaire
docs_urlNone
authorFabrice Salvaire
requires_python>=3.6
licenseGPLv3
keywords ngspice xyce spice berkeley electronic circuit simulation simulator
VCS
bugtrack_url
requirements PyYAML cffi matplotlib numpy ply scipy
Travis-CI
coveralls test coverage No coveralls.
            .. -*- Mode: rst -*-

.. -*- Mode: rst -*-

.. |PySpiceUrl| replace:: https://pyspice.fabrice-salvaire.fr

.. |PySpiceHomePage| replace:: PySpice Home Page
.. _PySpiceHomePage: https://pyspice.fabrice-salvaire.fr


.. |PySpice@github| replace:: https://github.com/FabriceSalvaire/PySpice


.. |PySpice@pypi| replace:: https://pypi.python.org/pypi/PySpice


.. |PySpice@anaconda| replace:: https://anaconda.org/conda-forge/pyspice

.. |PySpice@fs-anaconda| replace:: https://anaconda.org/fabricesalvaire/pyspice

.. |Anaconda Version| image:: https://anaconda.org/conda-forge/pyspice/badges/version.svg
   :target: https://anaconda.org/conda-forge/pyspice/badges/version.svg
   :alt: Anaconda last version

.. |Anaconda Downloads| image:: https://anaconda.org/conda-forge/pyspice/badges/downloads.svg
   :target: https://anaconda.org/conda-forge/pyspice/badges/downloads.svg
   :alt: Anaconda donwloads


.. |Pypi Version| image:: https://img.shields.io/pypi/v/PySpice.svg
   :target: https://pypi.python.org/pypi/PySpice
   :alt: PySpice last version

.. |Pypi License| image:: https://img.shields.io/pypi/l/PySpice.svg
   :target: https://pypi.python.org/pypi/PySpice
   :alt: PySpice license

.. |Pypi Python Version| image:: https://img.shields.io/pypi/pyversions/PySpice.svg
   :target: https://pypi.python.org/pypi/PySpice
   :alt: PySpice python version


.. |Tavis CI master| image:: https://travis-ci.com/FabriceSalvaire/PySpice.svg?branch=master
   :target: https://travis-ci.com/FabriceSalvaire/PySpice
   :alt: PySpice build status @travis-ci.org
.. -*- Mode: rst -*-

.. _CFFI: http://cffi.readthedocs.org/en/latest/
.. _Circuit_macros: http://ece.uwaterloo.ca/~aplevich/Circuit_macros
.. _IPython: http://ipython.org
.. _Kicad: http://www.kicad-pcb.org
.. _Matplotlib: http://matplotlib.org
.. _Modelica: http://www.modelica.org
.. _Ngspice: http://ngspice.sourceforge.net
.. _Numpy: http://www.numpy.org
.. _PyPI: https://pypi.python.org/pypi
.. _Pyterate: https://github.com/FabriceSalvaire/Pyterate
.. _Python: http://python.org
.. _Sphinx: http://sphinx-doc.org
.. _Tikz: http://www.texample.net/tikz
.. _Xyce: https://xyce.sandia.gov

.. |CFFI| replace:: CFFI
.. |Circuit_macros| replace:: Circuit_macros
.. |IPython| replace:: IPython
.. |Kicad| replace:: Kicad
.. |Matplotlib| replace:: Matplotlib
.. |Modelica| replace:: Modelica
.. |Ngspice| replace:: Ngspice
.. |Numpy| replace:: Numpy
.. |PyPI| replace:: PyPI
.. |Pyterate| replace:: Pyterate
.. |Python| replace:: Python
.. |Sphinx| replace:: Sphinx
.. |Tikz| replace:: Tikz
.. |Xyce| replace:: Xyce

=====================================================================================
 PySpice : Simulate Electronic Circuit using Python and the Ngspice / Xyce Simulators
=====================================================================================

|Pypi License|
|Pypi Python Version|

|Pypi Version|

|Anaconda Version|
|Anaconda Downloads|

|Tavis CI master|

**Quick Links**

* `Production Branch <https://github.com/FabriceSalvaire/PySpice/tree/master>`_
* `Devel Branch <https://github.com/FabriceSalvaire/PySpice/tree/devel>`_
* `Travis CI <https://travis-ci.com/github/FabriceSalvaire/PySpice>`_
* `pyspice@conda-forge <https://github.com/conda-forge/pyspice-feedstock>`_
* `conda-forge/pyspice <https://anaconda.org/conda-forge/pyspice>`_
* `ngspice@conda-forge <https://github.com/conda-forge/ngspice-feedstock>`_
* `Ngspice <http://ngspice.sourceforge.net>`_
* `Ngspice Bug Tracker <https://sourceforge.net/p/ngspice/bugs>`_
* `Xyce of Sandia National Laboratories <https://xyce.sandia.gov>`_

Brief Notes
===========

Thanks to `Discourse <https://www.discourse.org>`_, PySpice now has a **Forum** hosted at https://pyspice.discourse.group

**Disclaimer: PySpice is developed on my free time actually, so I could be busy with other tasks and less reactive.**

An issue was found with NgSpice Shared, we must `setlocale(LC_NUMERIC, "C");` see https://sourceforge.net/p/ngspice/bugs/490/

Overview
========

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 |PySpiceHomePage|_.

*Note: This site is hosted on my own infrastructure, if the site seems done, please create an issue to notify me.*

Where to get help or talk about PySpice ?
-----------------------------------------

Thanks to `Discourse <https://www.discourse.org>`_, PySpice now has a **Forum** hosted at https://pyspice.discourse.group

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**

How to install it ?
-------------------

Look at the `installation <https://pyspice.fabrice-salvaire.fr/releases/latest/installation.html>`_ section in the documentation.

Pull Request Recommendation
===========================

To make it easier to merge your pull request, you should divide your PR into smaller and easier-to-verify units.

Please do not make a pull requests with a lot of modifications which are difficult to check.  **If I merge
pull requests blindly then there is a high risk this software will become a mess quickly for everybody.**

Credits
=======

Authors: `Fabrice Salvaire <http://fabrice-salvaire.fr>`_ and `contributors <https://github.com/FabriceSalvaire/PySpice/blob/master/CONTRIBUTORS.md>`_

News
====

.. -*- Mode: rst -*-


.. no title here

V1.6.0 (development release)
----------------------------

* **KiCadTools** a proof of concept module to read KiCad 6
  `.kicad_sch` schema file and compute the netlist.  *This module can
  be used to perform any kind of processings on a KiCad schema.  It is
  actually hosted in the source but could become a standalone
  project.* For PySpice, it provides a very flexible way to draft a
  circuit with the help of KiCad and then generate the netlist without
  using the netlist export feature of KiCad.  And thus leverage the
  writing of fastidious cicruit.

V1.5.0 (production release) 2021-05-xx
--------------------------------------

* Support Ngspice up to version 34
* Renamed custom dunders "__dunder__" to "CONSTANT" or "_private" class attributes
* Fixed typo in documentation (thanks to endolith and brollb)
* Add DC temperature sweep support #272 (thanks to Fatsie)
* PWL support improvements #271 (thanks to Fatsie)
* Assign units on creation of temperature-sweep vectors #263 (thanks to ARF1)
* Prevent memory leaks by freeing ngspice command log #260  thanks to ARF1)
* Performance optimization: dispatch multiple alter commands jointly #259 (thanks to ARF1)
* Added spice library support #258  (thanks to Fatsie)
* Allow to specify DC value for PWL #257 (thanks to Fatsie)
* Support for `.nodeset` type initial condition #256 (thanks to Fatsie)
* Fix accuracy problems #254 (thanks to sotw1957)
* Changes to make it easier to use PySpice with a large archive of SPICE models medium diff #249 (thanks to xesscorp)
* `Netlist.py`: Fix wrong method when joining parameters during netlist parse #245 (thanks to cyber-g)
* Unit: add Pickle support
* Add Parser code from #136 (thanks to jmgc) but not yet merged
* Unit: add np.mean

V1.4.3 2020-07-04
-----------------

A huge effort, thanks to @stuarteberg Stuart Berg, has been made to make Ngspice and PySpice
available on Anaconda (conda-forge) for the Window, OSX and Linux platforms.  Thanks to the
conda-forge continuous integration platform, we can now run unit tests and the examples on theses
platforms automatically.  Hope this will make the software more robust and easier to run !

* 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
* fixed Unicode issue with °C (° is Extended ASCII)
* fixed ffi_string_utf8 for UnicodeDecodeError
* fixed logging formater for OSX (removed ANSI codes)
* reworded "Invalid plot name" exception
* removed diacritics in example filenames
* cir2py has been converted to an entry point so as to work on all platforms
* updated Matplotlib subplots in examples
* added a unit example
* added a NMOS example (thanks to cyber-g) cf. #221

V1.4.0 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

V1.3.2  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. :code:`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. :code:`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

.. :ref:`user-faq-page`

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 :code:`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 :code:`u_mV` or compute the value of :code:`1.2@u_kΩ / 2@u_mA`.
  The relevant documentation is on this `page <api/PySpice/Unit.html>`_.
* 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

.. End

.. End



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/FabriceSalvaire/PySpice",
    "name": "PySpice",
    "maintainer": "Fabrice Salvaire",
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": "pyspice@fabrice-salvaire.fr",
    "keywords": "ngspice,xyce,spice,berkeley,electronic,circuit,simulation,simulator",
    "author": "Fabrice Salvaire",
    "author_email": "pyspice@fabrice-salvaire.fr",
    "download_url": "https://files.pythonhosted.org/packages/0a/c5/8bc8c2838edc410e7751c1fcfe80b7bd1280e35e96661a866743fd6a0700/PySpice-1.5.tar.gz",
    "platform": "any",
    "description": ".. -*- Mode: rst -*-\n\n.. -*- Mode: rst -*-\n\n.. |PySpiceUrl| replace:: https://pyspice.fabrice-salvaire.fr\n\n.. |PySpiceHomePage| replace:: PySpice Home Page\n.. _PySpiceHomePage: https://pyspice.fabrice-salvaire.fr\n\n\n.. |PySpice@github| replace:: https://github.com/FabriceSalvaire/PySpice\n\n\n.. |PySpice@pypi| replace:: https://pypi.python.org/pypi/PySpice\n\n\n.. |PySpice@anaconda| replace:: https://anaconda.org/conda-forge/pyspice\n\n.. |PySpice@fs-anaconda| replace:: https://anaconda.org/fabricesalvaire/pyspice\n\n.. |Anaconda Version| image:: https://anaconda.org/conda-forge/pyspice/badges/version.svg\n   :target: https://anaconda.org/conda-forge/pyspice/badges/version.svg\n   :alt: Anaconda last version\n\n.. |Anaconda Downloads| image:: https://anaconda.org/conda-forge/pyspice/badges/downloads.svg\n   :target: https://anaconda.org/conda-forge/pyspice/badges/downloads.svg\n   :alt: Anaconda donwloads\n\n\n.. |Pypi Version| image:: https://img.shields.io/pypi/v/PySpice.svg\n   :target: https://pypi.python.org/pypi/PySpice\n   :alt: PySpice last version\n\n.. |Pypi License| image:: https://img.shields.io/pypi/l/PySpice.svg\n   :target: https://pypi.python.org/pypi/PySpice\n   :alt: PySpice license\n\n.. |Pypi Python Version| image:: https://img.shields.io/pypi/pyversions/PySpice.svg\n   :target: https://pypi.python.org/pypi/PySpice\n   :alt: PySpice python version\n\n\n.. |Tavis CI master| image:: https://travis-ci.com/FabriceSalvaire/PySpice.svg?branch=master\n   :target: https://travis-ci.com/FabriceSalvaire/PySpice\n   :alt: PySpice build status @travis-ci.org\n.. -*- Mode: rst -*-\n\n.. _CFFI: http://cffi.readthedocs.org/en/latest/\n.. _Circuit_macros: http://ece.uwaterloo.ca/~aplevich/Circuit_macros\n.. _IPython: http://ipython.org\n.. _Kicad: http://www.kicad-pcb.org\n.. _Matplotlib: http://matplotlib.org\n.. _Modelica: http://www.modelica.org\n.. _Ngspice: http://ngspice.sourceforge.net\n.. _Numpy: http://www.numpy.org\n.. _PyPI: https://pypi.python.org/pypi\n.. _Pyterate: https://github.com/FabriceSalvaire/Pyterate\n.. _Python: http://python.org\n.. _Sphinx: http://sphinx-doc.org\n.. _Tikz: http://www.texample.net/tikz\n.. _Xyce: https://xyce.sandia.gov\n\n.. |CFFI| replace:: CFFI\n.. |Circuit_macros| replace:: Circuit_macros\n.. |IPython| replace:: IPython\n.. |Kicad| replace:: Kicad\n.. |Matplotlib| replace:: Matplotlib\n.. |Modelica| replace:: Modelica\n.. |Ngspice| replace:: Ngspice\n.. |Numpy| replace:: Numpy\n.. |PyPI| replace:: PyPI\n.. |Pyterate| replace:: Pyterate\n.. |Python| replace:: Python\n.. |Sphinx| replace:: Sphinx\n.. |Tikz| replace:: Tikz\n.. |Xyce| replace:: Xyce\n\n=====================================================================================\n PySpice : Simulate Electronic Circuit using Python and the Ngspice / Xyce Simulators\n=====================================================================================\n\n|Pypi License|\n|Pypi Python Version|\n\n|Pypi Version|\n\n|Anaconda Version|\n|Anaconda Downloads|\n\n|Tavis CI master|\n\n**Quick Links**\n\n* `Production Branch <https://github.com/FabriceSalvaire/PySpice/tree/master>`_\n* `Devel Branch <https://github.com/FabriceSalvaire/PySpice/tree/devel>`_\n* `Travis CI <https://travis-ci.com/github/FabriceSalvaire/PySpice>`_\n* `pyspice@conda-forge <https://github.com/conda-forge/pyspice-feedstock>`_\n* `conda-forge/pyspice <https://anaconda.org/conda-forge/pyspice>`_\n* `ngspice@conda-forge <https://github.com/conda-forge/ngspice-feedstock>`_\n* `Ngspice <http://ngspice.sourceforge.net>`_\n* `Ngspice Bug Tracker <https://sourceforge.net/p/ngspice/bugs>`_\n* `Xyce of Sandia National Laboratories <https://xyce.sandia.gov>`_\n\nBrief Notes\n===========\n\nThanks to `Discourse <https://www.discourse.org>`_, PySpice now has a **Forum** hosted at https://pyspice.discourse.group\n\n**Disclaimer: PySpice is developed on my free time actually, so I could be busy with other tasks and less reactive.**\n\nAn issue was found with NgSpice Shared, we must `setlocale(LC_NUMERIC, \"C\");` see https://sourceforge.net/p/ngspice/bugs/490/\n\nOverview\n========\n\nWhat is PySpice ?\n-----------------\n\nPySpice is a Python module which interface |Python|_ to the |Ngspice|_ and |Xyce|_ circuit simulators.\n\nWhere is the Documentation ?\n----------------------------\n\nThe documentation is available on the |PySpiceHomePage|_.\n\n*Note: This site is hosted on my own infrastructure, if the site seems done, please create an issue to notify me.*\n\nWhere to get help or talk about PySpice ?\n-----------------------------------------\n\nThanks to `Discourse <https://www.discourse.org>`_, PySpice now has a **Forum** hosted at https://pyspice.discourse.group\n\nWhat are the main features ?\n----------------------------\n\n* support Ngspice and Xyce circuit simulators\n* support **Linux**, **Windows** and Mac **OS X** platforms\n* licensed under **GPLv3** therms\n* implement an **Ngspice shared library binding** using CFFI which support external sources\n* implement (partial) **SPICE netlist parser**\n* implement an **Oriented Object API** to define circuit\n* export simulation output to |Numpy|_ arrays\n* plot using |Matplotlib|_\n* handle **units**\n* work with **Kicad schematic editor**\n* implement a **documentation generator**\n* provides many **examples**\n\nHow to install it ?\n-------------------\n\nLook at the `installation <https://pyspice.fabrice-salvaire.fr/releases/latest/installation.html>`_ section in the documentation.\n\nPull Request Recommendation\n===========================\n\nTo make it easier to merge your pull request, you should divide your PR into smaller and easier-to-verify units.\n\nPlease do not make a pull requests with a lot of modifications which are difficult to check.  **If I merge\npull requests blindly then there is a high risk this software will become a mess quickly for everybody.**\n\nCredits\n=======\n\nAuthors: `Fabrice Salvaire <http://fabrice-salvaire.fr>`_ and `contributors <https://github.com/FabriceSalvaire/PySpice/blob/master/CONTRIBUTORS.md>`_\n\nNews\n====\n\n.. -*- Mode: rst -*-\n\n\n.. no title here\n\nV1.6.0 (development release)\n----------------------------\n\n* **KiCadTools** a proof of concept module to read KiCad 6\n  `.kicad_sch` schema file and compute the netlist.  *This module can\n  be used to perform any kind of processings on a KiCad schema.  It is\n  actually hosted in the source but could become a standalone\n  project.* For PySpice, it provides a very flexible way to draft a\n  circuit with the help of KiCad and then generate the netlist without\n  using the netlist export feature of KiCad.  And thus leverage the\n  writing of fastidious cicruit.\n\nV1.5.0 (production release) 2021-05-xx\n--------------------------------------\n\n* Support Ngspice up to version 34\n* Renamed custom dunders \"__dunder__\" to \"CONSTANT\" or \"_private\" class attributes\n* Fixed typo in documentation (thanks to endolith and brollb)\n* Add DC temperature sweep support #272 (thanks to Fatsie)\n* PWL support improvements #271 (thanks to Fatsie)\n* Assign units on creation of temperature-sweep vectors #263 (thanks to ARF1)\n* Prevent memory leaks by freeing ngspice command log #260  thanks to ARF1)\n* Performance optimization: dispatch multiple alter commands jointly #259 (thanks to ARF1)\n* Added spice library support #258  (thanks to Fatsie)\n* Allow to specify DC value for PWL #257 (thanks to Fatsie)\n* Support for `.nodeset` type initial condition #256 (thanks to Fatsie)\n* Fix accuracy problems #254 (thanks to sotw1957)\n* Changes to make it easier to use PySpice with a large archive of SPICE models medium diff #249 (thanks to xesscorp)\n* `Netlist.py`: Fix wrong method when joining parameters during netlist parse #245 (thanks to cyber-g)\n* Unit: add Pickle support\n* Add Parser code from #136 (thanks to jmgc) but not yet merged\n* Unit: add np.mean\n\nV1.4.3 2020-07-04\n-----------------\n\nA huge effort, thanks to @stuarteberg Stuart Berg, has been made to make Ngspice and PySpice\navailable on Anaconda (conda-forge) for the Window, OSX and Linux platforms.  Thanks to the\nconda-forge continuous integration platform, we can now run unit tests and the examples on theses\nplatforms automatically.  Hope this will make the software more robust and easier to run !\n\n* PySpice is now available on Anaconda(conda-forge) as well as a wheel on PyPI\n* Added a post installation tool to download the Ngspice DLL on Windows and to check the installation.\n  It should now simplify considerably the PySpice installation on Windows.\n* This tool can also download the examples and the Ngspice PDF manual.\n* On Linux and OSX, a Ngspice package is now available on Anaconda(conda-forge).\n  Note that theses two platforms do not download a binary from Ngspice since a compiler can easily be installed on theses platforms.\n* Updated installation documentation for Linux, the main distributions now provide a ngspice shared package.\n\n* Added a front-end web site so as to keep older releases documentation available on the web.\n* fixed and rebuilt all examples (but mistakes could happen ...)\n* examples are now available as Python files and Jupyter notebooks\n  (but some issues must be fixed, e.g. due to the way Jupyter handles Matplotlib plots)\n\n* support NgSpice 32 API (no change)\n* removed @substitution@ in PySpice/__init__.py, beacause it breaks pip install from git\n* fixed some logging spams\n* fixed NonLinearVoltageSource\n* fixed Unicode issue with \u00b0C (\u00b0 is Extended ASCII)\n* fixed ffi_string_utf8 for UnicodeDecodeError\n* fixed logging formater for OSX (removed ANSI codes)\n* reworded \"Invalid plot name\" exception\n* removed diacritics in example filenames\n* cir2py has been converted to an entry point so as to work on all platforms\n* updated Matplotlib subplots in examples\n* added a unit example\n* added a NMOS example (thanks to cyber-g) cf. #221\n\nV1.4.0 2020-05-05\n-----------------\n\nThis release is yanked due to broken Windows support.\n\n* fixed nasty issue with NgSpice shared for `setlocale(LC_NUMERIC, \"C\");` cf. #172\n* fixed `AC AC_MAG AC_PASAE SIN` for new NgSpice syntax\n* fixed `initial_state` for `VoltageControlledSwitch`\n* fixed `LosslessTransmissionLine` #169\n* fixed docstrings for element shortcut methods (thanks to Kyle Dunn) #178\n* fixed parser for leading whitespace (thanks to Matt Huszagh) #182\n* fix for PyYAML newer API\n* support NgSpice 31 API (no change)\n* added check for `CoupledInductor` #157\n* added `check-installation` tool to help to fix broken installation\n* added pole-zero, noise, distorsion, transfer-function analyses (thanks to Peter Garrone) #191\n* added `.measure` support (thanks to ceprio) #160\n* added `log_desk` parameter to `CircuitSimulator`\n* added `listing` command method to `NgSpiceShared`\n* added Xyce Mosfet nfin #177\n\nV1.3.2  2019-03-11\n------------------\n\n* support Ngspice 30 and Xyce 6.10\n* fixed NgSpice and Xyce support on Windows 10\n* bug fixes\n\nV1.2.0 2018-06-07\n-----------------\n\n* Initial support of the |Xyce|_ simulator.  Xyce is an open source, SPICE-compatible,\n  high-performance analog circuit simulator, capable of solving extremely large circuit problems\n  developed at Sandia National Laboratories.  Xyce will make PySpice suitable for industry and\n  research use.\n* Fixed OSX support\n* Splitted G device\n* Implemented partially `A` XSPICE device\n* Implemented missing transmission line devices\n* Implemented high level current sources\n  **Notice: Some classes were renamed !**\n* Implemented node kwarg e.g. :code:`circuit.Q(1, base=1, collector=2, emitter=3, model='npn')`\n* Implemented raw spice pass through (see `User FAQ </faq.html>`_)\n* Implemented access to internal parameters (cf. :code:`save @device[parameter]`)\n* Implemented check for missing ground node\n* Implemented a way to disable an element and clone netlist\n* Improved SPICE parser\n* Improved unit support:\n\n  * Implemented unit prefix cast `U_\u03bcV(U_mV(1))` to easily convert values\n  * Added `U_mV`, ... shortcuts\n  * Added Numpy array support to unit, see `UnitValues` **Notice: this new feature could be buggy !!!**\n  * Rebased `WaveForm` to `UnitValues`\n\n* Fixed node order so as to not confuse users **Now PySpice matches SPICE order for two ports elements !**\n* Fixed device shortcuts in `Netlist` class\n* Fixed model kwarg for BJT **Notice: it must be passed exclusively as kwarg !**\n* Fixed subcircuit nesting\n* Outsourced documentation generator to |Pyterate|_\n* Updated `setup.py` for wheel\n\n.. :ref:`user-faq-page`\n\nV1.1.0 2017-09-06\n-----------------\n\n* Enhanced shared mode\n* Shared mode is now set as default on Linux\n\nV1.0.0 2017-09-06\n-----------------\n\n* Bump version to v1.0.0 since it just works!\n* Support Windows platform using Ngspice shared mode\n* Fixed shared mode\n* Fixed and completed Spice parser : tested on example's libraries\n\nV0.4.2\n------\n\n* Fixed Spice parser for lower case device prefix.\n\nV0.4.0 2017-07-31\n-----------------\n\n* Git repository cleanup: filtered generated doc and useless files so as to shrink the repository size.\n* Improved documentation generator: Implemented :code:`format` for RST content and Tikz figure.\n* Improved unit support: It implements now the International System of Units.\n  And we can now use unit helper like :code:`u_mV` or compute the value of :code:`1.2@u_k\u03a9 / 2@u_mA`.\n  The relevant documentation is on this `page <api/PySpice/Unit.html>`_.\n* Added the Simulation instance to the Analysis class.\n* Refactored simulation parameters as classes.\n\nV0.3.2 2017-02-22\n-----------------\n\n* fixed CCCS and CCVS\n\nV0.3.1 2017-02-22\n-----------------\n\n* fixed ngspice shared\n\nV0.3.0 2015-12-08\n-----------------\n\n* Added an example to show how to use the NgSpice Shared Simulation Mode.\n* Completed the Spice netlist parser and added examples, we could now use a schematic editor\n  to define the circuit.  The program *cir2py* translates a circuit file to Python.\n\nV0 2014-03-21\n-------------\n\nStarted project\n\n.. End\n\n.. End\n\n\n",
    "bugtrack_url": null,
    "license": "GPLv3",
    "summary": "Simulate electronic circuit using Python and the Ngspice / Xyce simulators",
    "version": "1.5",
    "split_keywords": [
        "ngspice",
        "xyce",
        "spice",
        "berkeley",
        "electronic",
        "circuit",
        "simulation",
        "simulator"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "md5": "0c0eeb75a157e9773a75183c64543c46",
                "sha256": "a7512163136a6af5911ba280dc97f70224ed5acfcd5647edbafca9e2053d229c"
            },
            "downloads": -1,
            "filename": "PySpice-1.5-py2.py3-none-any.whl",
            "has_sig": true,
            "md5_digest": "0c0eeb75a157e9773a75183c64543c46",
            "packagetype": "bdist_wheel",
            "python_version": "py2.py3",
            "requires_python": ">=3.6",
            "size": 158492,
            "upload_time": "2021-05-15T23:01:53",
            "upload_time_iso_8601": "2021-05-15T23:01:53.938540Z",
            "url": "https://files.pythonhosted.org/packages/55/5e/b41350ab2547751fa6c81e9da5174af585b41e70e2241e4e46c77f17dd8d/PySpice-1.5-py2.py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "8f9f54b6c6fe897674d5d2c3613a3247",
                "sha256": "d28448accad98959e0f5932af8736e90a1f3f9ff965121c6881d24cdfca23d22"
            },
            "downloads": -1,
            "filename": "PySpice-1.5.tar.gz",
            "has_sig": true,
            "md5_digest": "8f9f54b6c6fe897674d5d2c3613a3247",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 685039,
            "upload_time": "2021-05-15T23:01:56",
            "upload_time_iso_8601": "2021-05-15T23:01:56.438785Z",
            "url": "https://files.pythonhosted.org/packages/0a/c5/8bc8c2838edc410e7751c1fcfe80b7bd1280e35e96661a866743fd6a0700/PySpice-1.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2021-05-15 23:01:56",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "FabriceSalvaire",
    "github_project": "PySpice",
    "travis_ci": true,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "PyYAML",
            "specs": [
                [
                    ">=",
                    "5.3"
                ]
            ]
        },
        {
            "name": "cffi",
            "specs": [
                [
                    ">=",
                    "1.14"
                ]
            ]
        },
        {
            "name": "matplotlib",
            "specs": [
                [
                    ">=",
                    "3.2"
                ]
            ]
        },
        {
            "name": "numpy",
            "specs": [
                [
                    ">=",
                    "1.18"
                ]
            ]
        },
        {
            "name": "ply",
            "specs": [
                [
                    ">=",
                    "3.11"
                ]
            ]
        },
        {
            "name": "scipy",
            "specs": [
                [
                    ">=",
                    "1.4"
                ]
            ]
        }
    ],
    "tox": true,
    "lcname": "pyspice"
}
        
Elapsed time: 0.01164s