Registry / data / salamandra

salamandra

JSON →
library1.0.1pypypi✓ verified 85d ago

Salamandra is an extensible Pythonic infrastructure for loading, analyzing, generating, and storing netlists. Developed by EnICS labs, it is currently at version 1.0.1 and is under active development. The library supports Python 3.5+ and is released under the Apache 2.0 open-source license.

pip install salamandra
INSTALL
IMPORT
SIG · SALAMANDRA
S
salamandra
datapythonv1.0.1
Install
1.8s avg
Import
10ms
Disk
16MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v1.0.1 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.920 runs
installs and imports cleanly · install 0.0s · import 0.011s · 18.1MB
glibc
py 3.103.920 runs
installs and imports cleanly · install 1.8s · import 0.010s · 19MB
16MB installed
● package 16MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

Component
from salamandra import Component
Pin
from salamandra import Pin
Input
from salamandra import Input
Output
from salamandra import Output
Inout
from salamandra import Inout

This quickstart demonstrates how to create basic `Component` objects, add `Pin`s, and then construct a hierarchical component like an inverter with subcomponents and connections.

import salamandra as slm # Create an NMOS component skeleton nmos = slm.Component('nmos') nmos.add_pin(slm.Pin('source')) nmos.add_pin(slm.Pin('drain')) nmos.add_pin(slm.Pin('gate')) nmos.add_pin(slm.Pin('body')) # Create an inverter component with subcomponents and connections inv = slm.Component('inv') # Add pins to the inverter inv.add_pin(slm.Input('I')) inv.add_pin(slm.Output('ZN')) inv.add_pin(slm.Inout('VDD')) inv.add_pin(slm.Inout('VSS')) # Add subcomponents (instances of nmos and pmos - pmos would be defined similarly to nmos) # For this example, let's assume 'pmos' is also a defined slm.Component object pmos = slm.Component('pmos') # Define a dummy pmos for the example to be runnable pmos.add_pin(slm.Pin('source')) pmos.add_pin(slm.Pin('drain')) pmos.add_pin(slm.Pin('gate')) pmos.add_pin(slm.Pin('body')) inv.add_subcomponent(nmos, 'n1') inv.add_subcomponent(pmos, 'p1') # Establish connections inv.connect('I', 'n1.gate') inv.connect('I', 'p1.gate') inv.connect('ZN', 'n1.drain') inv.connect('ZN', 'p1.drain') inv.connect('VDD', 'p1.source') inv.connect('VDD', 'p1.body') print(f"Created component: {inv.name}") print(f"Pins: {[p.name for p in inv.pins]}") print(f"Subcomponents: {[s.name for s in inv.subcomponents]}") # For full netlist export, one would typically call functions like inv.print_verilog() # print("\nVerilog Netlist (example snippet):") # inv.print_verilog()
Debug
Known issues
gotchaSalamandra is currently under development, and its documentation for the latest features may be incomplete or evolving. Users should expect potential API changes as the library matures.
fix
Refer to the GitHub repository for the most up-to-date examples and source code. Report issues via GitHub issues.
affects: 1.0.1 and earlier
gotchaThe Salamandra library exclusively supports Python 3 (specifically Python 3.5 and above). Attempting to use it with Python 2 will result in compatibility errors.
fix
Ensure your development environment uses Python 3.5 or a newer version.
affects: <=1.0.1
Errors
Common errors & fixes
ModuleNotFoundError: No module named 'salamandra'
The Salamandra library is not installed in the current Python environment.
fix
Run `pip install salamandra` to install the library.
TypeError: 'str' object is not callable
This error often indicates attempting to use Python 2-specific syntax or features, or incorrect object usage, with a Python 3-only library like Salamandra.
fix
Verify that you are running your code with Python 3.5+ and that your code adheres to Python 3 syntax. Consult the official Python 3 documentation for language differences if migrating from Python 2.
Upgrade
Version history
1.0.1latest on PyPI · released Apr 13, 2021
Audit
Dependencies

No dependency data recorded yet.

Agent activity
24 hits · last 30 days
node
16
OpenAI (training)
1
Resources
salamandra — pip install salamandra · libregistry