This release is a pre-release and may not be stable for production use.
rdflib-turbo
Part of the Legra RDF stack: pyshacl-turbo, rdflib-turbo and owlrl-turbo.
Functional alpha of a native RDF dataset runtime for Python, built on Oxigraph and exact-term compatibility work extracted from pyshacl-turbo.
pip install rdflib-turbo==0.1.0a1
from rdflib_turbo import Dataset
# The data stays native between parsing, querying and owlrl-turbo inference.
data = Dataset().parse(data='<urn:alice> <urn:name> "Alice" .')
for row in data.query('SELECT ?name WHERE { <urn:alice> <urn:name> ?name }'):
print(row.name)
print(data.serialize(format="nquads"))
The alpha provides native parsing and serialization, SELECT/ASK/CONSTRUCT/DESCRIBE, exact literal spellings and datatype identity, named graphs, independent copies, and explicit RDFLib conversion. Query results are RDFLib Result objects; returned terms are Python RDFLib objects. Native operations release Python's GIL. A lock covers each complete native read or write. Parsing and inference commit only on success. Parsing separate documents gives blank nodes separate scopes.
Supported format names: turtle, nt, nquads, trig, xml, n3, json-ld. Input is UTF-8 text, bytes or a local path; source URLs and file objects are not implemented. Default-graph querying is standard; request default_union=True for a union view. Graph-only serializers reject named-graph data rather than discarding contexts.
This is not a complete drop-in RDFLib replacement. It uses the rdflib_turbo namespace and a deliberately small Dataset API. Graph/Store plugins, SPARQL Update, initial bindings, persistent storage, namespace extraction from parsed documents, custom functions and remote SERVICE execution are not provided. RDFLib conversions copy data and explicitly preserve caller blank-node identifiers. Query results are eagerly materialized. No performance or complete-conformance claim is made.
Inference and SHACL
from owlrl_turbo import expand
from pyshacl_turbo import validate
expanded = expand(data, inference="rdfs")
# pyshacl-turbo currently requires this explicit copying conversion.
conforms, report, text = validate(expanded.to_rdflib(), shacl_graph="shapes.ttl")
owlrl-turbo shares this native dataset runtime. pyshacl-turbo integration currently uses RDFLib conversion; no shared native SHACL handle is claimed. See the runtime ADR and source provenance.
Requires Python 3.11+. Source builds require Rust 1.98.0. Both project code and extracted inference code are MIT OR Apache-2.0; vendored sources retain licenses. Copyright 2026 DataRoad Inc, Delaware, USA, trading as Legra.
Development
Use make dev and make check. The initial alpha is published only by the
verified GitHub Actions workflow; see release instructions.
uv venv
uv pip install maturin pytest ruff
uv run maturin develop --release
uv run pytest
cargo fmt --check
cargo clippy -- -D warnings
CI requires 100% measured Python package line and branch coverage. This does not measure Rust coverage, full API compatibility or standards conformance.
Metadata
Release files for rdflib-turbo 0.1.0a1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| rdflib_turbo-0.1.0a1.tar.gz | 218.0 kB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| rdflib_turbo-0.1.0a1-cp311-abi3-win_amd64.whl | CPython 3.11 | abi3 | Windows x86-64 | Details |
| rdflib_turbo-0.1.0a1-cp311-abi3-manylinux_2_28_x86_64.whl | CPython 3.11 | abi3 | Linux glibc 2.28+ x86-64 | Details |
| rdflib_turbo-0.1.0a1-cp311-abi3-manylinux_2_28_aarch64.whl | CPython 3.11 | abi3 | Linux glibc 2.28+ ARM64 | Details |
| rdflib_turbo-0.1.0a1-cp311-abi3-macosx_11_0_arm64.whl | CPython 3.11 | abi3 | macOS 11.0+ ARM64 | Details |
| rdflib_turbo-0.1.0a1-cp311-abi3-macosx_10_12_x86_64.whl | CPython 3.11 | abi3 | macOS 10.12+ x86-64 | Details |
Total release size: 12.6 MB
Release files / rdflib_turbo-0.1.0a1.tar.gz
| Download URL | rdflib_turbo-0.1.0a1.tar.gz |
|---|---|
| Size | 218.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6219f5351fea7b88d692fa86cc0d96beb637a90f927c41ab491cff6e1c07f859
|
|
BLAKE2b-256 checksum How to use checksums |
1355823faa05935e0ef1bfe60630313ab1d1ed0ab68aaab9734a714c62f18b22
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.
Transparency logRelease files / rdflib_turbo-0.1.0a1-cp311-abi3-win_amd64.whl
| Download URL | rdflib_turbo-0.1.0a1-cp311-abi3-win_amd64.whl |
|---|---|
| Size | 2.3 MB |
| Tags | CPython 3.11 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
e1d944a0c59e02a6e0ada757fed8809545a395325e20d4d3c6b4dc3460b5af55
|
|
BLAKE2b-256 checksum How to use checksums |
a524b2c3d1f833159d84ab73f2d18fd7baa0ace60e02a2d53bb4e3824dddda65
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.
Transparency logRelease files / rdflib_turbo-0.1.0a1-cp311-abi3-manylinux_2_28_x86_64.whl
| Download URL | rdflib_turbo-0.1.0a1-cp311-abi3-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 2.6 MB |
| Tags | CPython 3.11 Linux glibc 2.28+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
2d0ed1a321fd87d7d501bebe7f33a3948b2d5ef90ffad051b5f9d3aac74fa07f
|
|
BLAKE2b-256 checksum How to use checksums |
70013709e0562cda1e444dedc05d024531de3a04b624b7b82a4ff338e6f798d8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.
Transparency logRelease files / rdflib_turbo-0.1.0a1-cp311-abi3-manylinux_2_28_aarch64.whl
| Download URL | rdflib_turbo-0.1.0a1-cp311-abi3-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 2.6 MB |
| Tags | CPython 3.11 Linux glibc 2.28+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
7ff75b41d214e5314719b7c29cd376f7398e6c7a33c8ede7e346b7859be8f4b2
|
|
BLAKE2b-256 checksum How to use checksums |
e444af03cc846f1374e1a1085f178c25f5f86e65bcf2b3545e880eeb2362d270
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.
Transparency logRelease files / rdflib_turbo-0.1.0a1-cp311-abi3-macosx_11_0_arm64.whl
| Download URL | rdflib_turbo-0.1.0a1-cp311-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 2.3 MB |
| Tags | CPython 3.11 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
3979f918eb1247c10ba74d9f2f9a8952fe6451a4f45df2819d35ca919d33fd86
|
|
BLAKE2b-256 checksum How to use checksums |
1bc8b0f40139434741708eaa5cf643467585baf47a98c503cbab30bb3bea3aae
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.
Transparency logRelease files / rdflib_turbo-0.1.0a1-cp311-abi3-macosx_10_12_x86_64.whl
| Download URL | rdflib_turbo-0.1.0a1-cp311-abi3-macosx_10_12_x86_64.whl |
|---|---|
| Size | 2.5 MB |
| Tags | CPython 3.11 abi3 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
c1a86cbd936993de390870e1a06d97f9c3f0398bdc3469740f5b71bfe00f7210
|
|
BLAKE2b-256 checksum How to use checksums |
0694c92949edd8e58a3ca9e9d4404a4b53c3f4e3bc20b136f2a20759bc7ada7b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.
Transparency log