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 hashes)

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 hashes)

Uploaded CPython 3.10 manylinux: 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 hashes)

Uploaded CPython 3.9 manylinux: 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 hashes)

Uploaded CPython 3.8 manylinux: 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 hashes)

Uploaded CPython 3.7m manylinux: 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 hashes)

Uploaded CPython 3.6m manylinux: glibc 2.5+ x86-64

Supported by

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