skillfed

salamandra

Framework for netlist manipulation

salamandra v1.0.1 181.7K downloads/30d#10,117 on PyPI9
Permissive license Abandoned released

What it is and what it does

Salamandra is an object-oriented framework for working with electronic circuit netlists in Python. It provides core classes—Component, Net, Param, and Pin—that let you build hierarchical circuit descriptions programmatically, define connectivity between pins and nets, manage parameters (like transistor width and length), and export the result to Verilog format. You can create leaf components like transistors, compose them into higher-level blocks like inverters, connect pins to nets or constants, and manipulate the netlist structure through operations like flattening, cloning, and uniquification.

The package is designed for hardware engineers and EDA tool developers who need to generate or analyze netlists programmatically rather than by hand. It supports busses for multi-bit signals, properties on objects for metadata (like timing delays), and connectivity introspection. However, the project has been inactive since April 2021 and is no longer maintained, so it carries the risk of incompatibility with newer Python versions or evolving standards.

Use it for:

  • Generate circuit netlists programmatically for custom cell libraries or design flows
  • Build hierarchical circuit descriptions by composing components and managing pin-to-net connectivity
  • Export circuit designs to Verilog format for simulation or synthesis tools
  • Analyze and transform existing netlists through flattening, cloning, or uniquification operations
  • Attach metadata to circuit elements for downstream processing

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Salamandra is a Python framework for loading, analyzing, generating, and storing electronic circuit netlists through an object-oriented API.

No. While Salamandra is permissively licensed and has no dependencies, the project has been abandoned for nearly 1949 days with no maintenance or updates. The description itself notes that documentation is incomplete and expected to be added—a promise never fulfilled. For active EDA work, choose a maintained alternative; for legacy code already using it, keep the existing version but do not adopt it for new projects.

Install

salamandra on PyPI

pip

pip install salamandra

uv

uv add salamandra

poetry

poetry add salamandra

Installing salamandra

Before you install

Installation is straightforward with no runtime dependencies. However, the project has been abandoned since April 2021 with no maintenance activity in nearly 1949 days, so expect no bug fixes or updates.

License in practice

Salamandra is released under the Apache 2.0 permissive license, allowing commercial and private use with minimal restrictions.

Quickstart

pip install salamandra==1.0.1

import salamandra as slm
nmos = slm.Component('nmos')
nmos.add_pin(slm.Pin('source'))
nmos.add_pin(slm.Pin('drain'))

Only Python 3 is supported; requires Python >= 3.5

Verify before relying

  • Whether the package works correctly with Python versions beyond 3.5 despite being marked as supporting current versions
  • Whether the incomplete documentation mentioned in the description has been addressed since the last release
  • Real-world compatibility with modern Verilog export workflows and netlist standards

Package facts

License not declared (permissive)
Python support supports the current Python release (>=3.5)
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance abandoned — 1,949 days since the last release
Last repo commit
First released
Downloads 181,676/month — #10,117 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: salamandra-1.0.1-py3-none-any.whl

License :: OSI Approved :: Apache Software LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3

Tags

netlist manipulation pythoncircuit netlist frameworkverilog netlist generationcomponent hierarchy modelingpin net connectivityhardware design automationcircuit description language
edacircuit-designabandoned

More Build Tools packages