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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
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 |
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 |
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 |
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 |
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 |