______________________ - `is_url` function fixed to solve problems with `search` and loading libraries.
1.2.0
______________________
- Added ability to generate an editable schematic from a Circuit object. (Currently only works for KiCad V5.) - Added Group object for creating hierarchy without using function calls. - `generate_pcb` now takes an optional list of footprint library directories. - If not explicitly declared, `Part` objects will load the default footprint from their symbol definition. - Added `empty_footprint_handler()` for parts without footprints that logs errors by default but can be overriden by the user. - Symbol libraries can now be searched on remote repositories by placing the URL in the `lib_search_paths` dictionary. KiCad V6 symbols are found at `https://gitlab.com/kicad/libraries/kicad-symbols/-/raw/master` and V5 symbols are at `https://raw.githubusercontent.com/KiCad/kicad-symbols/master/`. - `Part` pins can now be sorted and retrieved in order using the `ordered_pins` property.
1.1.0
______________________
- Added `generate_pcb()` function to create a PCB file directly from a `Circuit` object. (Currently only works for KiCad.) - Added `PartTmplt` shortcut which creates a Part template using `dest=TEMPLATE` implicitly.
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.