Skip to main content

Python bindings for SystemVerilog parsing.

Project description

py-sv-parser

This is a simple set of bindings for the wonderful sv-parser library. Bindings are written in Rust using PyO3 to provide the Python interface.

Currently it only supports the "standard" parsing function and operations on the tree that function generates. It currently iterates over the provided tree and generates a new tree with all of the data copied out, so it's quite a bit less performant than pure native Rust, but all the functionality is there.

The intent is to support 100% of sv-parser, and eventually map to the native library's Rust iterators directly for better performance.

Installation

pip install .

I have not yet tested on a machine without the Rust toolchain installed, so you may have to install that first if you're getting build errors.

Documentation

The Rust docs aren't particularly helpful, as PyO3 consumes the doc comments and all structure before it gets to rustdoc, so don't bother building those. To get some API documentation, install and use pdoc3. You must have built and installed the py_sv_parser package.

pip install pdoc3
pdoc3 --html py_sv_parser

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

py_sv_parser-0.3.0.tar.gz (7.4 kB view details)

Uploaded Source

Built Distributions

py_sv_parser-0.3.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.whl (11.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.5+ x86-64

py_sv_parser-0.3.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl (11.1 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.5+ x86-64

py_sv_parser-0.3.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl (11.1 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.5+ x86-64

py_sv_parser-0.3.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl (11.1 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.5+ x86-64

py_sv_parser-0.3.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl (11.1 MB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.5+ x86-64

File details

Details for the file py_sv_parser-0.3.0.tar.gz.

File metadata

  • Download URL: py_sv_parser-0.3.0.tar.gz
  • Upload date:
  • Size: 7.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.10

File hashes

Hashes for py_sv_parser-0.3.0.tar.gz
Algorithm Hash digest
SHA256 6b664747586624780a30a79dbf05b8d8a4ff0e2f0ca6ea3c65c279571eace19e
MD5 fa8e0a00458cb9bc3d773ef69ec01c21
BLAKE2b-256 f94d8c5dd2868e559023d13e2bd1b17cf71e7c40b038a0eb4af7274e75917638

See more details on using hashes here.

File details

Details for the file py_sv_parser-0.3.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for py_sv_parser-0.3.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 8df447f6b9f68bc8bed6cff6065bbd0b42d7e7351a65824489f57bdfa071923c
MD5 9d7d4cde3a587c6c81f14db710298716
BLAKE2b-256 f5bc3013dedd7fe43a19435af924292d557a0aad41c4346be58482236fd79620

See more details on using hashes here.

File details

Details for the file py_sv_parser-0.3.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for py_sv_parser-0.3.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 e8c8bfce062633f741aac31a8403f91fffcb7b1314a7c2957563e6ff03643f6a
MD5 ed4df58540a1da8637dcc71731afff48
BLAKE2b-256 ecd8208c2c0abfbf1d4ebd252b412944f8cae15b924d34f4e5573ae1f0be215e

See more details on using hashes here.

File details

Details for the file py_sv_parser-0.3.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for py_sv_parser-0.3.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 bdfbf278b7e89a6491c5e9f902726e76a8a7a7e56cb1f1ccc7e64693e14396f6
MD5 2b3c114ffccdac21c10e3a30027ad651
BLAKE2b-256 239779d43c3e9fc4145c85f998fb762ce138b21bbe7df486e32be5535f6f8825

See more details on using hashes here.

File details

Details for the file py_sv_parser-0.3.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for py_sv_parser-0.3.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 844de9e5d338fe8967e7ee911e1327e77af006c576f14854f4489e36670024e1
MD5 3b284ec20abd110178fbbb24a8b4bbdf
BLAKE2b-256 a2acd8ccc9dc7ac522c2bed14fecd74b1c1e7a696b1955464d25fc3a34650b23

See more details on using hashes here.

File details

Details for the file py_sv_parser-0.3.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for py_sv_parser-0.3.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 d9ae470aef6b5483c6e8062274871ab31ca3ac8553c3f68ba22ecb4d3e8a79ca
MD5 3838f77b0d43cce25acf88dd19dc8bf1
BLAKE2b-256 fd3b3e699c784f6733ded9dad5bf5baf2ddc6248c4866f532a43f6f9294702a8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page