Skip to main content

SymbiFlow Routing Resources Graph (rr-graph) Python Libraries

License GitHub issues PyPI PyPI - Python Version PyPI - Downloads

This repository contains a Python library and utilities for working with "Routing Resource Graph" (rr-graph) files used by SymbiFlow and Verilog to Routing.

It supports both the XML and Cap'n'Proto formats of rr-graph files. The Cap'n'Proto schema is generated from the XML schema @ vtr-verilog-to-routing/vpr/src/route/rr_graph.xsd using the uxsdcxx tool.

For information on the schema generation can be found in the SCHEMA_GENERATOR.md file in Verilog to Routing.

Contributing

A full contribution guide can be found in docs/contributing.md.

A few important points;

License

All software (code, associated documentation, support files, etc) in this repository is licensed under the very permissive ISC Licence.

A copy can be found in the LICENSE file.

All new contributions must also be released under this license.

Installing

From PyPI

pip install rr-graph

FYI: Builds are automatically published to GitHub on every push to this repository.

Direct from GitHub

pip install git+https://github.com/SymbiFlow/symbiflow-rr-graph.git#egg=rr-graph

Direct from checkout

python setup.py install or python setup.py develop

Developing

To setup a local development environment use the make venv target which will build you a Python virtualenv (in the venv directory) with the needed packages and tools.

The make version target will output the current version of the rr-graph library.

Running tests

To run the tests, run make test.

If you have an issue with the CI disagreeing with the output of your local make test output, you can also try the make test-like-ci target to closer match how the CI system runs the tests.

Formatting

To run automated formatting over the repository, use make format.

Updating GitHub Actions

The make format-gha target will update the GitHub Actions under .github/workflows with the latest version of the included tasks.

It is recommended that you commit these updates separately from your other changes.

Metadata

Release files for rr-graph 0.0.1.post20

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for rr-graph 0.0.1.post20
File Size Uploaded
rr-graph-0.0.1.post20.tar.gz 78.2 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for rr-graph 0.0.1.post20
File Interpreter ABI Platform
rr_graph-0.0.1.post20-py3-none-any.whl Python 3 none any Details
rr_graph-0.0.1.post20-py2-none-any.whl Python 2 none any Details

Total release size: 232.9 kB

Release files / rr-graph-0.0.1.post20.tar.gz

Download URL rr-graph-0.0.1.post20.tar.gz
Size 78.2 kB
Tags Source
SHA-256 checksum
How to use checksums
39739b1c7992fe39de9cc1aa35e42f5688206627d3073cb4a96cd0157e47e94a
BLAKE2b-256 checksum
How to use checksums
feb3c52df728f6e823c8047d714bc113ec0fefd48aeaf8cb1c84dde3c65a4959
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2

Release files / rr_graph-0.0.1.post20-py3-none-any.whl

Download URL rr_graph-0.0.1.post20-py3-none-any.whl
Size 77.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f040d5a5b48f3a32282afec39af11e298c0c0e8a33d58c257646dbcba58c1210
BLAKE2b-256 checksum
How to use checksums
ff26356e0633629f7eeefbcc555c63961f7de0b2b80ad20618e43c00d865f491
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2

Release files / rr_graph-0.0.1.post20-py2-none-any.whl

Download URL rr_graph-0.0.1.post20-py2-none-any.whl
Size 77.3 kB
Tags Python 2
SHA-256 checksum
How to use checksums
4304e7c1321acf1404c06c0ed0c6aebbd60d4792412118cf23dcf62f9fa911d7
BLAKE2b-256 checksum
How to use checksums
6d06112fb6d77278c94a9a4b13d09e12d6eeee96f11d7467d6fc6f26c23833c5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.15.0 pkginfo/1.7.0 requests/2.25.1 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/2.7.18
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page