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.28

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.28
File Size Uploaded Provenance
pyrudof-0.3.28.tar.gz 4.9 MB Without provenance Details

Built distributions (wheels)

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

Total release size: 106.9 MB

Release files / pyrudof-0.3.28.tar.gz

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

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

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

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

Download URL pyrudof-0.3.28-cp310-abi3-manylinux_2_34_x86_64.whl
Size 24.6 MB
Tags CPython 3.10 Linux glibc 2.34+ x86-64 abi3
SHA-256 checksum
How to use checksums
0e9f296a90f08f3864ef302798830e9190151b381063fb159f0676204d6b5c6b
BLAKE2b-256 checksum
How to use checksums
86bfce4dd52c5ecb8cd2822fcd196d82fb75bb54ec7e180ea15d0cea4ee995e4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

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

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

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

Download URL pyrudof-0.3.28-cp310-abi3-macosx_13_0_x86_64.whl
Size 17.5 MB
Tags CPython 3.10 abi3 macOS 13.0+ x86-64
SHA-256 checksum
How to use checksums
7a0b4d8e0039a57f8d70520a4ea5be224359be17fe55f19276344c6f175a6afa
BLAKE2b-256 checksum
How to use checksums
63121b237b9109c63d0abab608caeb6fbf22fab8ec0a51450a4bc45442f515ef
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

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

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

Security for pyrudof 0.3.28

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.28 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