genesispy
Python port of the Genesis2 Chip Generator (see
https://github.com/StanfordVLSI/Genesis2). Replaces the Perl runtime
with a pure-Python implementation while keeping the template hierarchy
(now .vpy / .svpy). Configuration is JSON; legacy Genesis2 .xml
configs convert via the bundled genesispy-xml2json helper.
Editor support
Filetype detection and syntax highlighting for .vpy / .svpy / .gvpy files is available from the
genesis-editors repository (Vim/Neovim, Emacs, VS
Code). Install each per its own README.
Install
From PyPI
pip install genesispy
Installs the genesispy, gvpy, genesispy-vp2vpy, genesispy-xml2json,
genesispy-json2xml and genesispy-jinja2j2 commands. There are no
mandatory dependencies; three optional extras:
pip install 'genesispy[xml]' # lxml: pretty-printed genesispy-json2xml
pip install 'genesispy[color]' # colorama: coloured diagnostics
pip install 'genesispy[import-j2]' # jinja2: required by genesispy-jinja2j2
From a checkout, with pip
pip install -e .
# or
pip install --target /path/to/install-dir .
For developers: from a checkout, without pip -- use bin/ launchers
The repo ships shell launchers in bin/ (bin/genesispy, bin/gvpy)
that set PYTHONPATH to the sibling src/ and exec
python3 -m genesispy.cli. No build step, no pip -- just run from a
checkout:
./bin/genesispy --input top.vpy --top top --json-cfg config.json
To "install" to a destination, copy bin/ and src/ together (the
launchers resolve src/ as ../src relative to their own directory):
DEST=/path/to/install-dir
mkdir -p "$DEST"
cp -a bin src "$DEST/"
export PATH="$DEST/bin:$PATH"
Tests
Against the in-tree source, no install required:
PYTHONPATH=src pytest tests/
Against an installed copy (pip install -e . or pip install genesispy):
pytest tests/
Documentation
Each entry links to the rendered copy on GitHub; the local link resolves in a
source checkout.
- doc/user-guide.md
(local) --
.vpysyntax, walkthrough, CLI reference forgenesispyandgvpy, migrating from Genesis2. - doc/code-structure.md (local) -- pipeline, dedup, control flags.
- doc/interfaces.md (local) -- module-boundary interfaces.
- doc/genesis2-incompatibilities.md (local) -- non-obvious behavior differences from Perl Genesis2.
- CHANGELOG.md (local) -- notable changes per version.
Metadata
Release files for genesispy 0.6.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| genesispy-0.6.2.tar.gz | 240.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| genesispy-0.6.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 385.4 kB
Release files / genesispy-0.6.2.tar.gz
| Download URL | genesispy-0.6.2.tar.gz |
|---|---|
| Size | 240.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
41cf7424b579b83f580ce19a1629b715f3b58df4d5c055d6b74fcd4a6293cf51
|
|
BLAKE2b-256 checksum How to use checksums |
f72b1f29b78e2ceebf5f34907ae2f650d8c1668781249d8a646622d106b8377e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.
Transparency logRelease files / genesispy-0.6.2-py3-none-any.whl
| Download URL | genesispy-0.6.2-py3-none-any.whl |
|---|---|
| Size | 144.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3ddfb60a8eea675721e1dee0736d5398aa4732c4b13df3203685f6d228c02569
|
|
BLAKE2b-256 checksum How to use checksums |
3a92345c766a7c354f4cc10a7db57e7a4d7b1530a3338d0cd0bdeae4d2cc2fed
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.
Transparency log