reasonable (Python bindings)
Python bindings for Reasonable — a reasonably fast OWL 2 RL reasoner implemented in Rust. This package exposes a small, typed API over rdflib terms to run materialization on RDF graphs or files.
Quick Usage
Load from files (Turtle/N3) and materialize inferred triples:
import reasonable
r = reasonable.PyReasoner()
r.load_file("../example_models/ontologies/Brick.n3")
r.load_file("../example_models/small1.n3")
out = r.reason() # list[tuple[rdflib.term.Node, Node, Node]]
print(len(out))
Reason directly over an rdflib Graph:
import rdflib
import reasonable
from rdflib.term import URIRef
g = rdflib.Graph()
g.add((URIRef("urn:s"), URIRef("urn:p"), URIRef("urn:o")))
r = reasonable.PyReasoner()
r.from_graph(g)
triples = r.reason()
# Optionally collect into a new Graph
g_out = rdflib.Graph()
for s, p, o in triples:
g_out.add((s, p, o))
print(len(g_out))
Incremental Reasoning with Retraction
Use update_graph() to replace the reasoner's base triples when your graph changes. The reasoner automatically computes a diff and selects incremental materialization (additions only) or full re-materialization (if removals detected):
import rdflib
import reasonable
from rdflib import URIRef, RDF
ontology = rdflib.Graph()
ontology.parse("my_ontology.ttl")
data = rdflib.Graph()
data.add((URIRef("urn:sensor1"), RDF.type, URIRef("urn:TemperatureSensor")))
r = reasonable.PyReasoner()
r.from_graph(ontology + data)
triples = r.reason() # full materialization
# Later, data changes...
data.remove((URIRef("urn:sensor1"), RDF.type, URIRef("urn:TemperatureSensor")))
data.add((URIRef("urn:sensor2"), RDF.type, URIRef("urn:HumiditySensor")))
r.update_graph(ontology + data) # replaces base, auto-detects diff
triples = r.reason() # full re-mat (removals detected)
Install
- Runtime dependency:
rdflib - If you have a prebuilt wheel:
pip install dist/reasonable-*.whl - Build from source (see below) if no wheel is available for your platform.
Developer Install (from source)
Using uv (recommended for local dev):
cd python
# Install project dependencies (including dev tools) into a managed venv
uv sync --group dev
# Build and develop-install the extension module
uv run maturin develop -b pyo3 --release
# Sanity check
uv run python -c "import reasonable; print(reasonable.__version__)"
Without uv (system/venv):
cd python
python -m venv .venv && . .venv/bin/activate # or use your env
pip install -U maturin
maturin develop -b pyo3 --release
python -c "import reasonable; print(reasonable.__version__)"
API Reference
reasonable.PyReasoner()load_file(path: str) -> None- Load triples from a Turtle or N3 file. Appends to existing base triples. Raises
OSErroron missing/invalid paths.
- Load triples from a Turtle or N3 file. Appends to existing base triples. Raises
from_graph(graph_or_iterable) -> None- Appends triples from an rdflib
Graph(or any iterable of 3-tuples) to the base. Useupdate_graph()instead if you need retraction support.
- Appends triples from an rdflib
update_graph(graph_or_iterable) -> bool- Replaces the base triples with the contents of the given graph. Computes a diff against the current base: if only additions are found, the next
reason()uses incremental materialization; if any removals are detected, it triggers a full re-materialization. ReturnsTrueif removals were detected,Falseotherwise.
- Replaces the base triples with the contents of the given graph. Computes a diff against the current base: if only additions are found, the next
reason() -> list[tuple[Node, Node, Node]]- Runs OWL 2 RL materialization and returns all known triples (base + inferred) as rdflib nodes. After the first call, subsequent calls are incremental (only processing newly added triples) unless removals were detected via
update_graph().
- Runs OWL 2 RL materialization and returns all known triples (base + inferred) as rdflib nodes. After the first call, subsequent calls are incremental (only processing newly added triples) unless removals were detected via
reason_full() -> list[tuple[Node, Node, Node]]- Forces a full re-materialization from base triples, ignoring any incremental state. Equivalent to
clear()followed byreason().
- Forces a full re-materialization from base triples, ignoring any incremental state. Equivalent to
clear() -> None- Resets all inferred state while keeping base triples. The next
reason()call will perform a full re-materialization.
- Resets all inferred state while keeping base triples. The next
get_base_triples() -> list[tuple[Node, Node, Node]]- Returns the current base (non-inferred) triples as rdflib nodes. Useful for debugging.
Building Wheels
Build release wheels into dist/:
cd python
uv run maturin build --release --out dist
Install the built wheel:
pip install dist/reasonable-*.whl
Requirements
- Python 3.9+ (ABI3, built with
pyo3/abi3-py39) - Rust toolchain (
rustup,cargo) for local builds maturinfor building wheelsrdflib(runtime dependency)
Testing
Run the Python test suite (uses pytest and rdflib):
cd python
uv run pytest -q
Alternatively, with a local venv:
cd python
pip install -U maturin pytest rdflib
maturin develop -b pyo3 --release
pytest -q
Compatibility Notes
- Python: 3.9+ is required due to the ABI3 setting in the Rust crate (
abi3-py39). - Platforms: macOS, Linux, and Windows are supported by PyO3/maturin; building from source requires a Rust toolchain.
Troubleshooting
ModuleNotFoundError: No module named 'reasonable':- Ensure you ran
maturin developin the same environment you’re importing from.
- Ensure you ran
- Build/link errors on macOS (Xcode/SDK):
- Install Command Line Tools:
xcode-select --install.
- Install Command Line Tools:
OSErrorwhen callingload_file(...):- Check the path and file format (Turtle/N3). Use absolute paths when in doubt.
Contributing (Python bindings)
- Keep tests under
python/tests/minimal and representative. Prefer inputs fromexample_models/. - Format/lint Python with standard tooling; Rust code follows
cargo fmt/cargo clippy. - For broader project info (CLI, library, benchmarks), see the repository root
README.md.
Metadata
Release files for reasonable 0.4.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| reasonable-0.4.4.tar.gz | 56.0 kB | Details |
Built distributions (wheels)
Total release size: 155.4 MB
Release files / reasonable-0.4.4.tar.gz
| Download URL | reasonable-0.4.4.tar.gz |
|---|---|
| Size | 56.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
dac7b568b5e5237ec03250dc35b786a60c32d844a94d691c3bff0b0d86f40fd5
|
|
BLAKE2b-256 checksum How to use checksums |
34bbc9f2a2705532ff8791276e3a397c85c673f26c4e09eeea6a1a20f96e710a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / reasonable-0.4.4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | reasonable-0.4.4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 5.9 MB |
| Tags | Linux glibc 2.17+ x86-64 PyPy 3.10 PyPy 3.10 7.3 |
|
SHA-256 checksum How to use checksums |
4c88dcc9d5d68d3a7b84fe5a7347ab68875d58f3b73c56bc135053fd78848458
|
|
BLAKE2b-256 checksum How to use checksums |
56ccfec2d8785fb7a8d2439958d445f9daf2ae6496706a265b6d465389485214
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / reasonable-0.4.4-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | reasonable-0.4.4-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 5.2 MB |
| Tags | Linux glibc 2.17+ ARM64 PyPy 3.10 PyPy 3.10 7.3 |
|
SHA-256 checksum How to use checksums |
4d25caa9fc5498525e1844744ecb4d81394d73b024b4e151db70c1f834b39d32
|
|
BLAKE2b-256 checksum How to use checksums |
b7ae29545440b3211acb837bc576c971e58084b1240bce0850fe4eea2e0da36f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / reasonable-0.4.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | reasonable-0.4.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 5.9 MB |
| Tags | Linux glibc 2.17+ x86-64 PyPy 3.9 PyPy 3.9 7.3 |
|
SHA-256 checksum How to use checksums |
b7686c7028756d7e8f4a171d1829d56b454cb1ea083f3b2276064961bdabde64
|
|
BLAKE2b-256 checksum How to use checksums |
d6a0997fa323651d163e5ebd268497cfe991ace75cf800deedcf57beaaacb9b7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / reasonable-0.4.4-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | reasonable-0.4.4-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 5.2 MB |
| Tags | Linux glibc 2.17+ ARM64 PyPy 3.9 PyPy 3.9 7.3 |
|
SHA-256 checksum How to use checksums |
0ea4173f2e3f32699b0513e5a9ad80bbebbdc354b3b775ef86f202f5690a451b
|
|
BLAKE2b-256 checksum How to use checksums |
dc83d9490ee35b0b3597633f35274d6f9cabed57ed2d8e6b3f4761e75bd811be
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / reasonable-0.4.4-cp312-cp312-musllinux_1_2_x86_64.whl
| Download URL | reasonable-0.4.4-cp312-cp312-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 5.4 MB |
| Tags | CPython 3.12 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
3bc502bd578a75c70bfbb3dbde0ca8644271a527e61a8f085869a0481281f75c
|
|
BLAKE2b-256 checksum How to use checksums |
5e29cbb34c59b23fbe1b78be586ba0031e277a5abf0adc2e2fa1b8a05d8ba7ea
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / reasonable-0.4.4-cp312-cp312-musllinux_1_2_aarch64.whl
| Download URL | reasonable-0.4.4-cp312-cp312-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 5.3 MB |
| Tags | CPython 3.12 Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
fa8fb8bdd7f8f4425875109b9de5947fa64ea9f929cae5952607d92abcb8955c
|
|
BLAKE2b-256 checksum How to use checksums |
f7289e1709ad6b4d4757e8597bf8ecfc4fca6b876838158ae2a29e3603663e57
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / reasonable-0.4.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | reasonable-0.4.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 5.9 MB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
4d2e4c74f7476475ff4384312c5a1aa78f8b70be77eb978e50a7eb789d3211d6
|
|
BLAKE2b-256 checksum How to use checksums |
6e6900b96f283bbbaa9070848b26b7ed565c11ab3da035916e00d15aa457f753
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / reasonable-0.4.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | reasonable-0.4.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 5.2 MB |
| Tags | CPython 3.12 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
de71d74486f3d0d12402a5aeecf3b8d6e7fb2a49fa2568a00af4fac04d38dd2d
|
|
BLAKE2b-256 checksum How to use checksums |
3fb2e40078ee0afb8bb0c9788849907ac95ca8b4bd40e2bedcfe978264e30540
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / reasonable-0.4.4-cp311-cp311-musllinux_1_2_x86_64.whl
| Download URL | reasonable-0.4.4-cp311-cp311-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 5.4 MB |
| Tags | CPython 3.11 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
bfcdc209f5b7f4fbb01bf059e4b961a02a40df656ed9838215bc3461d53ff977
|
|
BLAKE2b-256 checksum How to use checksums |
d82a9964da7d8828951f37d7c29aba0241bae2a5cc7adf582280c3d01d2c9440
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / reasonable-0.4.4-cp311-cp311-musllinux_1_2_aarch64.whl
| Download URL | reasonable-0.4.4-cp311-cp311-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 5.3 MB |
| Tags | CPython 3.11 Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
e1004223f73935a1437c89805e747283ed1889a1184e00eb84962365f000538e
|
|
BLAKE2b-256 checksum How to use checksums |
a80920ba8ec7380a17a0985628b9cbc03f7e21eec4ff88768cbb1e19d9753dfe
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / reasonable-0.4.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | reasonable-0.4.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 5.9 MB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
18b5f6dfbfc82c4b60541bb6fbc01bdece6e4aabfebe81298ab0cf1f1b69b14e
|
|
BLAKE2b-256 checksum How to use checksums |
c7286bc8aed4d5f28e18f400640141b4dae559154746702ac6ce88f62cae9730
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / reasonable-0.4.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | reasonable-0.4.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 5.2 MB |
| Tags | CPython 3.11 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
b5158af3f116a4bf47454b4ba527faf3ff2494fa5eab36adc2c7fa4eae6b4818
|
|
BLAKE2b-256 checksum How to use checksums |
aadffa13fca79131710a174d2a8d4c64566a120a16036d72528af87995d81ba0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / reasonable-0.4.4-cp310-cp310-musllinux_1_2_x86_64.whl
| Download URL | reasonable-0.4.4-cp310-cp310-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 5.4 MB |
| Tags | CPython 3.10 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
659cf6011e0533b4045649ca431dc151069e4b44be9db52c08affecb80a4d534
|
|
BLAKE2b-256 checksum How to use checksums |
9455b835ec0d267a71bd777138b581e36f635b633106b4a00a2bc549b417a3c4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / reasonable-0.4.4-cp310-cp310-musllinux_1_2_aarch64.whl
| Download URL | reasonable-0.4.4-cp310-cp310-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 5.3 MB |
| Tags | CPython 3.10 Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
493b299ae91acd3717d8f2d3384af706a6ebcb8ef8297e964a9aeff234ffa996
|
|
BLAKE2b-256 checksum How to use checksums |
3f83db9c58723f36a7c9e433ed45b5d0d37a8e9cb1d101db21505efae7ebdc0f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / reasonable-0.4.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | reasonable-0.4.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 5.9 MB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
6f8fbc411dcef6c209b472888af2e1a83a2fee73514ead3e17fae0aabcf06a94
|
|
BLAKE2b-256 checksum How to use checksums |
59f97081c18d6763ace79c93b25400b5604c8f673ed82b3b0196e7400905d9e5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / reasonable-0.4.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | reasonable-0.4.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 5.2 MB |
| Tags | CPython 3.10 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
e13b41d96dcf2613b794de1bd562bb8c1d826968173ac86b2d6081e62d8fd176
|
|
BLAKE2b-256 checksum How to use checksums |
b1363365ad5783961505d1c7860e59102c3d57f70c49d0efe77ee8e99a5db71a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / reasonable-0.4.4-cp39-cp39-musllinux_1_2_x86_64.whl
| Download URL | reasonable-0.4.4-cp39-cp39-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 5.4 MB |
| Tags | CPython 3.9 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
0a4eb6546916f6b43aab03a092a22db5e7b4456a0bb9723ec084c9a784ae3aea
|
|
BLAKE2b-256 checksum How to use checksums |
bdf4600de01a93b008bb593c5bfcd08929faf073e6ec36bc84317e44d8878796
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / reasonable-0.4.4-cp39-cp39-musllinux_1_2_aarch64.whl
| Download URL | reasonable-0.4.4-cp39-cp39-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 5.3 MB |
| Tags | CPython 3.9 Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
9729ab5f38c76b74a57bb688b20c4ff2abbf107a54e7d0ac2f075be60923dde0
|
|
BLAKE2b-256 checksum How to use checksums |
20e407abbcf99c4dca1bf9624c5f3a38928b228b3b38143ca649a3a6a8ddf17c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / reasonable-0.4.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | reasonable-0.4.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 5.9 MB |
| Tags | CPython 3.9 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
480dff402e441bec21b1cfb10e7b2791315e2c4f76c2dba97e4639b831ff48ad
|
|
BLAKE2b-256 checksum How to use checksums |
37397a8b0d24f0e75bab3f22b7c815f1ca88fddb94526132afaa9d2c02f72805
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / reasonable-0.4.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | reasonable-0.4.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 5.2 MB |
| Tags | CPython 3.9 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
c5d0d400245fa9aee5e32b3e54616a225f9cd966e836f0813d5864e351f7c390
|
|
BLAKE2b-256 checksum How to use checksums |
e51cdbfe7e8177369f5f2227e33cd412e46b6e72aca21a761c6f197aa4cced64
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / reasonable-0.4.4-cp39-abi3-win_amd64.whl
| Download URL | reasonable-0.4.4-cp39-abi3-win_amd64.whl |
|---|---|
| Size | 389.8 kB |
| Tags | CPython 3.9 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
e7e3446a9e7ed3383730cb029a2a1b02e2f73ce5434d4c5c5cc2e2d323affa4a
|
|
BLAKE2b-256 checksum How to use checksums |
7bf4b633773c809f6c4d1dcf85560a9f073839b9be472fc0cf7279d29527c302
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / reasonable-0.4.4-cp39-abi3-musllinux_1_2_x86_64.whl
| Download URL | reasonable-0.4.4-cp39-abi3-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 5.4 MB |
| Tags | CPython 3.9 Linux musl 1.2+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
e9c45873d2361bd1014c5d86e413617d33cd201951a08cc63444e6836736e247
|
|
BLAKE2b-256 checksum How to use checksums |
36c3959fa735916a29b12f9ccd40bd45487effae987ed7613005cae1f9b78968
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / reasonable-0.4.4-cp39-abi3-musllinux_1_2_aarch64.whl
| Download URL | reasonable-0.4.4-cp39-abi3-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 5.2 MB |
| Tags | CPython 3.9 Linux musl 1.2+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
f66ef2c94ad3893c6fd4b1320f94b69ac0e0b31415aad81541006e6d67f11042
|
|
BLAKE2b-256 checksum How to use checksums |
4f6950716e73c299897afde954e8a0eae31b03ca682a63dabfb6ebb8906633cb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / reasonable-0.4.4-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | reasonable-0.4.4-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 5.9 MB |
| Tags | CPython 3.9 Linux glibc 2.17+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
8801db6cb6bf47de4b3b4ef4df8622de8e3cc9c22a0928e51dca4477fab8fa4e
|
|
BLAKE2b-256 checksum How to use checksums |
0a2c759fb4fc77271bae4bf5f74b73e5967728027b0bfd7d63bbc0f7551d13f8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / reasonable-0.4.4-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | reasonable-0.4.4-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 5.2 MB |
| Tags | CPython 3.9 Linux glibc 2.17+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
2fcfd0ee6ae94e66f51bc82f10a5b68ec2de68918ee6cfb05124d421ab4df058
|
|
BLAKE2b-256 checksum How to use checksums |
926217171573c8a7e2aad0edca3e7f67108782d80f8a268748d621e64d13ddd4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / reasonable-0.4.4-cp39-abi3-macosx_11_0_arm64.whl
| Download URL | reasonable-0.4.4-cp39-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 509.8 kB |
| Tags | CPython 3.9 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
4a66c982806297f02bf7ecd3a9713828a332ee8d96e8861756f3de6d96101222
|
|
BLAKE2b-256 checksum How to use checksums |
63ae587fdfdcf0d4e6f51ee7ad8d2d071dcd8dd8fb13d08f97c84ab5c16843c2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / reasonable-0.4.4-cp39-abi3-macosx_10_14_x86_64.whl
| Download URL | reasonable-0.4.4-cp39-abi3-macosx_10_14_x86_64.whl |
|---|---|
| Size | 527.2 kB |
| Tags | CPython 3.9 abi3 macOS 10.14+ x86-64 |
|
SHA-256 checksum How to use checksums |
94adfb449180313a46f96548c345a549e302da939f696fc2100766ccaade4f7c
|
|
BLAKE2b-256 checksum How to use checksums |
381bdd88ea50cf51fa92064314d6a9820b375b5810702b9ab421b577dd98b896
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / reasonable-0.4.4-cp39-abi3-macosx_10_14_x86_64.macosx_11_0_arm64.macosx_10_14_universal2.whl
| Download URL | reasonable-0.4.4-cp39-abi3-macosx_10_14_x86_64.macosx_11_0_arm64.macosx_10_14_universal2.whl |
|---|---|
| Size | 1.0 MB |
| Tags | CPython 3.9 abi3 macOS 10.14+ universal2 (ARM64, x86-64) macOS 10.14+ x86-64 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
85efa4f40cc2d58cc633bd21eaa44121f0741f7f27e60234ce88813075ad47e1
|
|
BLAKE2b-256 checksum How to use checksums |
093f28146fde68ea3ee5e29f62918a509e23779ac2fd897b3f388024a9ff2d96
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / reasonable-0.4.4-cp38-cp38-musllinux_1_2_x86_64.whl
| Download URL | reasonable-0.4.4-cp38-cp38-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 5.4 MB |
| Tags | CPython 3.8 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
5e69146fd4a869d56f6e2e2015e5a5dfc317da3e25ac2f34caf2812094b1783a
|
|
BLAKE2b-256 checksum How to use checksums |
e8975cbb572e3b72c0e716094a0cb6a447a109b6f47739a20c248d5d99e52617
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / reasonable-0.4.4-cp38-cp38-musllinux_1_2_aarch64.whl
| Download URL | reasonable-0.4.4-cp38-cp38-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 5.3 MB |
| Tags | CPython 3.8 Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
86b83a794c5bd6954b0801e707347c80376e28f0b60dfda8ab3cf9c4d3236e93
|
|
BLAKE2b-256 checksum How to use checksums |
6e4d56528324c534ec2ca981eac4faa34931f6e93414e7a07d7f5f093f7313f1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / reasonable-0.4.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | reasonable-0.4.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 5.9 MB |
| Tags | CPython 3.8 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
af703e12eb1d6d02753d2461e1ed368fdd13759ee146b0ec878ccda65d8e3806
|
|
BLAKE2b-256 checksum How to use checksums |
22bce88861f47e133d1075eabffd510f833b44d4ba50b7110d44a59e83c7a21d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / reasonable-0.4.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | reasonable-0.4.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 5.2 MB |
| Tags | CPython 3.8 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
af396b9eae5248017734f8892a08ab6456692c26774277bca575394b6ef992a7
|
|
BLAKE2b-256 checksum How to use checksums |
ba84b71a96c3a860bf0a41cc68c70169fdd7ca32fb171973502edabb547cae27
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|