[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gnucap-devel] python bindings update

From: Patrick Mulder
Subject: Re: [Gnucap-devel] python bindings update
Date: Fri, 28 Dec 2018 20:55:37 +0100

On Thu, Dec 27, 2018 at 5:58 PM Felix Salfelder <address@hidden> wrote:

> On Wed, Dec 26, 2018 at 05:08:09PM +0100, Patrick Mulder wrote:
> v1 1 0 pulse iv=0 pv=1
> perhaps you should also set rise to a positive value.
> thanks, I will use the param=... syntax. it's much better readable. also,
I found some user help in the docs on e.g. the transient command

> cmd("list") above. dumps the netlist to stdout.
yes, that works very nicely. Maybe for interactive sessions, it might be
nice to have:
wrapper, but very low prio, as the cmd("..") syntax works nicely already.

for now, it's probably most straightforward to access data through the
> wave store, as shown above. waves are iterable and yield pairs of
> double, perhaps you can pass it to a numpy array constructor or so.

yes, it works nicely, I use this:

w = gnucap.CKT_BASE_find_wave("v(1)")
xs=[]; ys = []
for (x,y) in w:

> ...
> (there are better and more immediate ways on the way, ETA unknown.)
yes, for my purposes, the current setup works fine already.

> > When I have this working, I can try to share the results in a Jupyter
> > notebook.
> sounds useful, please do. i'd like to add it to the examples.
I was able to run the gnucap python package in Python 2, for Python 3 (
which i use for Jupyter i get this, probably I am missing a build step to
build the module for Python3:

$ python3
Python 3.6.6 (default, Sep 12 2018, 18:26:19)
[GCC 8.0.1 20180414 (experimental) [trunk revision 259383]] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import gnucap
Traceback (most recent call last):
  File "/home/patrick/projects/gnucap/gnucap-python/gnucap/",
line 14, in swig_import_helper
    return importlib.import_module(mname)
  File "/usr/lib/python3.6/importlib/", line 126, in
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 658, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 571, in module_from_spec
  File "<frozen importlib._bootstrap_external>", line 922, in create_module
  File "<frozen importlib._bootstrap>", line 219, in
undefined symbol: PyCObject_Type

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/patrick/projects/gnucap/gnucap-python/gnucap/",
line 21, in <module>
    from .gnucap_swig import command, parse
  File "/home/patrick/projects/gnucap/gnucap-python/gnucap/",
line 17, in <module>
    _gnucap_swig = swig_import_helper()
  File "/home/patrick/projects/gnucap/gnucap-python/gnucap/",
line 16, in swig_import_helper
    return importlib.import_module('_gnucap_swig')
  File "/usr/lib/python3.6/importlib/", line 126, in
    return _bootstrap._gcd_import(name[level:], package, level)
ModuleNotFoundError: No module named '_gnucap_swig'

PS I am taking some notes in a gitbook - will try to extend it "peu a
peu". Also, will try to play with diode, and DC sweeps for a transistor

reply via email to

[Prev in Thread] Current Thread [Next in Thread]