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.25
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pyrudof-0.3.25.tar.gz | 4.8 MB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| pyrudof-0.3.25-cp310-abi3-win_amd64.whl | CPython 3.10 | abi3 | Windows x86-64 | Details |
| pyrudof-0.3.25-cp310-abi3-manylinux_2_34_x86_64.whl | CPython 3.10 | abi3 | Linux glibc 2.34+ x86-64 | Details |
| pyrudof-0.3.25-cp310-abi3-manylinux_2_34_aarch64.whl | CPython 3.10 | abi3 | Linux glibc 2.34+ ARM64 | Details |
| pyrudof-0.3.25-cp310-abi3-macosx_13_0_x86_64.whl | CPython 3.10 | abi3 | macOS 13.0+ x86-64 | Details |
| pyrudof-0.3.25-cp310-abi3-macosx_13_0_arm64.whl | CPython 3.10 | abi3 | macOS 13.0+ ARM64 | Details |
Total release size: 105.7 MB
Release files / pyrudof-0.3.25.tar.gz
| Download URL | pyrudof-0.3.25.tar.gz |
|---|---|
| Size | 4.8 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
76762ac991d5581c70c771e143ee065b436c19e4c0a951fddc100b73e9a5967d
|
|
BLAKE2b-256 checksum How to use checksums |
4c3e22ee1c1546292dd84c3d7779f6e704dbf0936eea8cb2c7e733c85ca459b8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / pyrudof-0.3.25-cp310-abi3-win_amd64.whl
| Download URL | pyrudof-0.3.25-cp310-abi3-win_amd64.whl |
|---|---|
| Size | 18.8 MB |
| Tags | CPython 3.10 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
65ae442301b017beffdbf235ec02b4e775f4b1a94f714b565090a54b2708f285
|
|
BLAKE2b-256 checksum How to use checksums |
6194140d0ba51debad34d1c29aafabab20f09c607afcc4c42d91ae927942bfa6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / pyrudof-0.3.25-cp310-abi3-manylinux_2_34_x86_64.whl
| Download URL | pyrudof-0.3.25-cp310-abi3-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 24.3 MB |
| Tags | CPython 3.10 Linux glibc 2.34+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
d5ac4245c3e0606cc6cf0e41593936237af32eaac17c98b3851e780f173f2447
|
|
BLAKE2b-256 checksum How to use checksums |
4f981903410775c940d96a0b592d462101d06cbce17146d1d9267973b8f7815f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / pyrudof-0.3.25-cp310-abi3-manylinux_2_34_aarch64.whl
| Download URL | pyrudof-0.3.25-cp310-abi3-manylinux_2_34_aarch64.whl |
|---|---|
| Size | 24.0 MB |
| Tags | CPython 3.10 Linux glibc 2.34+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
924996885f79188e489461f38319244ac0830876f53aa3604f36a8e7b1fce6b0
|
|
BLAKE2b-256 checksum How to use checksums |
7a1625ff50ac8b6af8ee15935cfc97d6f12acba59ecb7562c9485ee18dabc5ab
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / pyrudof-0.3.25-cp310-abi3-macosx_13_0_x86_64.whl
| Download URL | pyrudof-0.3.25-cp310-abi3-macosx_13_0_x86_64.whl |
|---|---|
| Size | 17.2 MB |
| Tags | CPython 3.10 abi3 macOS 13.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
ec5f81e1614a4b0bc7aafc7689d9b681a8d658172ab4f24a7e8c3a37f34fd61a
|
|
BLAKE2b-256 checksum How to use checksums |
efbca7269a5d18170df63e6acd5862cf2be48e53d2e8990cabb9493cf3a7d94d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / pyrudof-0.3.25-cp310-abi3-macosx_13_0_arm64.whl
| Download URL | pyrudof-0.3.25-cp310-abi3-macosx_13_0_arm64.whl |
|---|---|
| Size | 16.6 MB |
| Tags | CPython 3.10 abi3 macOS 13.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
b3b6fc1b3d318dbd2a4eabcbae715036d952296dd08c7108204bcc0385434e43
|
|
BLAKE2b-256 checksum How to use checksums |
93f79b125e0bda7979309bd9498b3f576fe3b62a6f08f8df006c6045e832e626
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|