Skidl

Latest version: v2.0.1

Safety actively analyzes 723158 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 7

1.0.0

______________________

- Buses can now be created without names and a name will be
automatically assigned. Or use "name=..." to manually assign a name.
Or just place a string in the list of arguments and that will be used.
- Footprint search can now process directories of footprints without the
need for an `fp-lib-table` file.
- `Part` fields can now be accessed using attributes.
- Creating fields requires use of `Part.fields[key]` instead of Part.key.
- Added context manager for `Circuit` object so Parts/Nets can be joined
using a `with...` statement.
- Adding/removing `Parts` to/from a `Circuit` can now be done using `+=` and `-=`.
- Tags can be added to `Parts` and `Circuits` for hierarchical naming.
- `Part` values can now be assigned arbitrary objects including units from either PySpice or Pint.
- Multi-function pin names can now be split into a collection of shorter aliases,
thus reducing the need to access pins using regexes.
- Schematics can now be automatically using the KiCad symbol graphics for the parts.
- The library interface now handles the Skywater 130 SPICE libraries.

0.0.30

______________________

* Added package decorator to make subcircuits act like Parts.
* Interfaces now act like dictionaries so the ** operator works as expected.
* Interface I/O can now be accessed using brackets ([]) and via attributes (e.g., intfc.a).
* Interface I/O can now be assigned aliases.
* Added tee() function for creating T-junctions in networks.
* Custom ERCs can now be added using the `erc_assert` function.
* Aliases take precedence over default pin names.
* Substring matching in pin names can be enabled/disabled (off by default).

0.0.29

______________________

* Added XSPICE parts capability to SPICE simulations.
* Unconnected XSPICE ports now are set to NULL in SPICE node lists.
* Added no_files() function to disable output to files of netlists, ERCs, logs, backup libs.

0.0.28

______________________

* The ``zyc`` utility was split into a separate repository and placed on PyPi.
* Fixed slicing of grouped part pins so things like ``ram['A[1]']`` won't grab ``A1``, ``A10``, ``A11``, etc.

0.0.27

______________________

* Prevent changing the name of net 0 when generating a SPICE netlist.
* Fixed Pin, Net, Bus and Part iterators so they'll work in nested loops.
* Part units are automatically added when a part is parsed.
* Files are now opened for reading using latin_1 encoding to allow special symbols used by KiCad.
* Part pins can now be aliased directly, e.g. `uc[5].aliases += 'gp0'`.
* Added class method get() to Part to allow finding a part based on name, reference, description.
* Refactored ERC functions to allow user-extensibility.
* Created a base object for Circuit, Part, Pin, Net, and Bus objects.
* Added an aliases property to the SKiDL base object so all its children could be aliased.
* Updated to perform simulations with ngspice version 30.
* Added a notes property to allow attachment of user notes to Parts, Pins, Nets, etc.
* Added net class to net objects for specifying net-specific design rules in PCBNEW.
* Ignore multiple pins with the same number in symbols with DeMorgan equivalents.
* Fixed problem with non-ASCII chars (e.g. Ohms) in strings.
* Sped-up part/net naming using heap/cache, binary search, sets.
* Sped-up by storing net traversals to avoid recomputation.
* Fixed processing of slices in things like sdram['A[0:15]'].
* Sped-up part_search() by eliminating unnecessary part parsing.
* Improved schematic generation with graphviz.
* Search now allows AND/OR of parenthesized terms.
* New GUI for searching for parts and footprints.
* Footprint libraries to search are now selected from the global fp-lib-table file.
* KiCad library component field values are now stored in a dict in Part indexed by the field name or F0, F1, F2...
* KiCad library component field values are also stored as Part attributes using the field name or F0, F1, F2...
* Added `p` and `n` attributes to `Part` object to permit explicit reference to pin numbers or names.

0.0.26

______________________

* ``search`` command no longer looks in backup library because that leads to erroneous hits in all libraries.
* Part objects will now iterate through their pins and len() will return the number of pins.
* Updated netlist_to_skidl utility to account for new version of kinparse.

Page 2 of 7

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.