Skip to main content

A tiny Python package to parse spice raw data files

Project description

Spice Raw Parser (spr)

A tiny Python package to parse spice raw data files.

Getting Started

These instructions will get you a copy of the package up and running on your local machine.

Note: at the moment only ascii raw spice format is supported!

Installation

From PyPI

pip install spr

From source code

pip install git+https://github.com/goncalo-godwitlabs/spr.git

or

git clone git@github.com:goncalo-godwitlabs/spr.git
cd spr/
make install

Usage

Just run:

from spr import load_raw
data = load_raw("/path/to/rawspice.raw")

Data structure

A properly parsed raw spice file by load_raw() returns a dictionary with the following structure:

{
    "title": <str>,
    "date:": <str>,
    "plotname:": <str>,
    "flags:": <str>,
    "no_vars:": <str>,
    "no_points:": <str>,
    "vars": [
        { "idx": <int>, "name": <str>, "type": <str> },
        { "idx": <int>, "name": <str>, "type": <str> }
        ...
        { "idx": <int>, "name": <str>, "type": <str> }
    ]
    "values": {
        "var1": <numpy.ndarray>,
        "var2": <numpy.ndarray>,
        ...
        "varN": <numpy.ndarray>
    }
}

Where values values is a numpy structured array with the actual data.

Examples

The following examples make use of ngspice to run the spice simulations, so please ensure it is installed. On ubuntu that would be:

sudo apt install ngspice

Inverting amplifier with an opamp LM741

Check the directory examples/amplifier/ for details on the cirtcuit and the simulation files.

The schematic:

Run the simulation with:

git clone git@github.com:goncalo-godwitlabs/spr.git
cd spr
make run-example-amplifier

which will fire ngspice generating output.log and rawspice.raw files and also plots the voltages vin and vout.

Second order low pass filter with an opamp LM741

Check the directory examples/lp_filter/ for details on the cirtcuit and the simulation files.

The schematic:

Run the simulation with:

git clone git@github.com:goncalo-godwitlabs/spr.git
cd spr
make run-example-lp_filter

which will fire ngspice generating output.log and rawspice.raw files and also plots the gain vout/vin in dB.

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Project details


Download files

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

Files for spr, version 0.2.1
Filename, size File type Python version Upload date Hashes
Filename, size spr-0.2.1-py2-none-any.whl (3.8 kB) File type Wheel Python version py2 Upload date Hashes View hashes
Filename, size spr-0.2.1.tar.gz (3.5 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page