Skip to main content

pyrudof

pyrudof provides Python bindings for rudof, a Rust toolkit for the Semantic Web. It is a thin binding: every piece of Semantic Web logic lives in the rudof_lib and rudof_generate crates, and this package's job is to move values across the language boundary, turn Rust errors into Python exceptions, and present the result as an API that feels like Python.

  • User documentation - start here to use the library: API reference, guides and runnable examples.
  • Internals - package layout and how the examples manifest drives both the tests and the documentation.

Installation

Wheels are published on PyPI and the package requires Python 3.10 or newer:

pip install pyrudof

The wheels are abi3-py310, so a single wheel per platform serves every supported Python version. The package has no Python runtime dependencies.

Development

All commands below are run from bindings/python/. They are the same ones CI runs, in .github/workflows/python.yml.

Setting up

python -m venv .venv
source .venv/bin/activate          # Windows: .venv\Scripts\Activate.ps1

pip install -e '.[dev]'

pip install -e builds the extension through maturin, so the first run compiles the Rust workspace and takes a while. Afterwards, rebuild just the extension with:

maturin develop                    # debug build, fast to compile
maturin develop --release          # optimised, what you want for benchmarks

Testing

pytest                             # the whole suite
pytest -k shex                     # just the ShEx examples
pytest -x -q                       # stop at the first failure

mypy                               # strict type-check of python/, examples/ and tests/

Regenerating what is generated

# 1. Type stubs, from the Rust annotations
cargo run --bin stub_gen --features stub-gen

# 2. The documentation's examples page, from examples.toml
python docs/generate_examples_doc.py --update
python docs/generate_examples_doc.py --check       # non-zero if stale
python docs/generate_examples_doc.py --dry-run     # preview without writing

# 3. The HTML documentation
python -m sphinx -b html docs docs/_build/html

-W to turn warnings into errors, and -E to force a full rebuild rather than an incremental one:

python -m sphinx -b html -E -W docs docs/_build/html
python -m sphinxlint docs/*.rst

Then open docs/_build/html/index.html.

Building wheels

maturin build --release            # wheel into target/wheels/
maturin sdist                      # source distribution
pip install --force-reinstall target/wheels/pyrudof-*.whl

Metadata

Release files for pyrudof 0.3.33

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

Source distribution (sdist)

Source distribution for pyrudof 0.3.33
File Size Uploaded Provenance
pyrudof-0.3.33.tar.gz 4.9 MB Without provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for pyrudof 0.3.33
File
pyrudof-0.3.33-cp310-abi3-win_amd64.whl CPython 3.10 abi3 Windows x86-64 Details
pyrudof-0.3.33-cp310-abi3-manylinux_2_34_x86_64.whl CPython 3.10 abi3 Linux glibc 2.34+ x86-64 Details
pyrudof-0.3.33-cp310-abi3-manylinux_2_34_aarch64.whl CPython 3.10 abi3 Linux glibc 2.34+ ARM64 Details
pyrudof-0.3.33-cp310-abi3-macosx_13_0_x86_64.whl CPython 3.10 abi3 macOS 13.0+ x86-64 Details
pyrudof-0.3.33-cp310-abi3-macosx_13_0_arm64.whl CPython 3.10 abi3 macOS 13.0+ ARM64 Details

Total release size: 108.7 MB

Release files / pyrudof-0.3.33.tar.gz

Download URL pyrudof-0.3.33.tar.gz
Size 4.9 MB
Tags Source
SHA-256 checksum
How to use checksums
72a8d322ff7dec1a1bb57ea34d4a09cd030fafa12f92f84e9f8767290e88e25c
BLAKE2b-256 checksum
How to use checksums
f8605ed93211821ff42c81440f06e8cbce4f0b159dc4e221f41a17ee89991482
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release files / pyrudof-0.3.33-cp310-abi3-win_amd64.whl

Download URL pyrudof-0.3.33-cp310-abi3-win_amd64.whl
Size 19.4 MB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
58c8b05eeb84376eaf370d51a98cd6ee8b0c6af78a94ff8eb30a614600eea9bb
BLAKE2b-256 checksum
How to use checksums
a5033d5b32067ad6e37a8f8162c82ed136ef0bf74ef853ce8b68191489456be6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release files / pyrudof-0.3.33-cp310-abi3-manylinux_2_34_x86_64.whl

Download URL pyrudof-0.3.33-cp310-abi3-manylinux_2_34_x86_64.whl
Size 24.9 MB
Tags CPython 3.10 Linux glibc 2.34+ x86-64 abi3
SHA-256 checksum
How to use checksums
8104080a01f1ecfdd2081509e807b9479e435c3e50c8be93972196aba116e8db
BLAKE2b-256 checksum
How to use checksums
92d1a10f4f2d4f5d39ee5de5307c5f0e1dd59358889a58a1199d199c73bf0b39
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release files / pyrudof-0.3.33-cp310-abi3-manylinux_2_34_aarch64.whl

Download URL pyrudof-0.3.33-cp310-abi3-manylinux_2_34_aarch64.whl
Size 24.6 MB
Tags CPython 3.10 Linux glibc 2.34+ ARM64 abi3
SHA-256 checksum
How to use checksums
f34ba296adaf84e3c2f225323dd44b8da034ec03777e043aa14b0057290c5b2f
BLAKE2b-256 checksum
How to use checksums
6b4b5e249626a9c45f112e27b76dc7e2c78100f6581d71268544ddd56bbc6b8f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release files / pyrudof-0.3.33-cp310-abi3-macosx_13_0_x86_64.whl

Download URL pyrudof-0.3.33-cp310-abi3-macosx_13_0_x86_64.whl
Size 17.8 MB
Tags CPython 3.10 abi3 macOS 13.0+ x86-64
SHA-256 checksum
How to use checksums
7018e31fdad653e447eba827bb6f6bf410acfbae0eae6b20d621ac92c1d15b0c
BLAKE2b-256 checksum
How to use checksums
305477eb8518c658455deb9514f909066bbfe265751952477ad44c7753c1d077
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release files / pyrudof-0.3.33-cp310-abi3-macosx_13_0_arm64.whl

Download URL pyrudof-0.3.33-cp310-abi3-macosx_13_0_arm64.whl
Size 17.2 MB
Tags CPython 3.10 abi3 macOS 13.0+ ARM64
SHA-256 checksum
How to use checksums
0b620cf367267445cecd10ad9a901bb4c81754df78e3b0451b8473c2cd0978c3
BLAKE2b-256 checksum
How to use checksums
cac9da2c0641a7befed0e2bc0cbebf5007ceced7be1fc2dc424b2f7e453a17ec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Security for pyrudof 0.3.33

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

0.3.33 This release

6 release files No provenance

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