www.delorie.com/archives/browse.cgi   search  
Mail Archives: geda-user/2012/02/14/15:37:56

X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f
X-Recipient: geda-user AT delorie DOT com
MIME-Version: 1.0
Date: Tue, 14 Feb 2012 13:36:38 -0700
Message-ID: <CAN0Jx-_077aOKbuuTt7y3Wg7p-8HP9CJB1Zfm9GmvLWP-kXmwg@mail.gmail.com>
Subject: [geda-user] PyBIS - A Python based IBIS parser.
From: Russell Dill <Russ DOT Dill AT asu DOT edu>
To: si-list AT freelists DOT org
Cc: geda-user AT delorie DOT com
X-Gm-Message-State: ALoCoQmo4rdbc6+u/bp/bdZgSE+XrXp6rpA0h6loCFuba6ojfur6GbEKAFxV/aeu5TssZcVU8Rca
Reply-To: geda-user AT delorie DOT com

I've released a Python based IBIS parser I've created as part of a
project that I'm working on in the hope that others will find it
useful, improve on it, and create new projects based on it. The parser
manages everything in the 5.0 specification except for AMI files.

http://github.com/russdill/pybis
http://github.com/russdill/pybis/wiki

The IBIS format, partially due to its long history, is somewhat
difficult to parse. Due to the licensing terms of the only publically
available parser, there is a barrier to entry for projects (especially
open) based on the IBIS format. Either write a new parser from
scratch, or pay for (and abide by the licensing terms) of the golden
parser. With PyBIS, parsing IBIS should be as easy as:

    import pybis
    parse_results = pybis.IBSParser().parse('test.ibs')

A script that creates a component based on the component information
can simply iterate through the components:

    for component_name, component in parse_results.component.iteritems():

And through the pins of the component:

        for pin_name, pin in component.pin.iteritems():

And do something with each pin:

            my_add_pin(component_name, pin_name, pin.signal_name)

Information could easily be supplemented by checking the information
in the model for the pin as well.

The library is licensed under the GNU LGPL v2.1. Its up on github, so
feel free to fork, send pull requests, enter issues, or edit the wiki.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019