This release is a pre-release and may not be stable for production use.
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 - From PyPI:
pip install reasonable - If you have a prebuilt wheel:
pip install dist/reasonable-*.whl - Debian/Ubuntu:
cargo deb -p pyreasonable(ormake deb-python) builds apython3-reasonablepackage that installs the module into/usr/lib/python3/dist-packages/reasonable/. Seedocs/packaging.md. - Build from source (see below) if no wheel is available for your platform.
Property-chain reasoning for owl:propertyChainAxiom is enabled by default in
the Python extension. It can be disabled only when deliberately building with
--no-default-features.
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.5.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 | |
|---|---|---|---|
| reasonable-0.5.0a1.tar.gz | 62.4 kB | Details |
Built distributions (wheels)
Total release size: 160.3 MB
Release files / reasonable-0.5.0a1.tar.gz
| Download URL | reasonable-0.5.0a1.tar.gz |
|---|---|
| Size | 62.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ec544a13826afeac85345e5032453fa2085a86122ea8b0e31f4792dc03ff2f65
|
|
BLAKE2b-256 checksum How to use checksums |
1b1dbd62783af6cb0a2a9433ce45a7d258929758e12f0990d300d652e3bcab29
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / reasonable-0.5.0a1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | reasonable-0.5.0a1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 6.1 MB |
| Tags | Linux glibc 2.17+ x86-64 PyPy 3.10 PyPy 3.10 7.3 |
|
SHA-256 checksum How to use checksums |
aa3bd082233b1aff97bcb4d25d8f64ee0e97fe8b456a996ee4f9aec3e8ce7e68
|
|
BLAKE2b-256 checksum How to use checksums |
2c5997bba4e05e90825274c61246cc188db5634d771bae6394f6ce7f7fdebf73
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / reasonable-0.5.0a1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | reasonable-0.5.0a1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 5.3 MB |
| Tags | Linux glibc 2.17+ ARM64 PyPy 3.10 PyPy 3.10 7.3 |
|
SHA-256 checksum How to use checksums |
357208e8def963462af8b00b284330fa279ef026ffceb52aca1c4be12f630932
|
|
BLAKE2b-256 checksum How to use checksums |
5d5b9c0e23629343b06d8d87ed75bc56ec1bb8970b5db481f9fb891054449fa4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / reasonable-0.5.0a1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | reasonable-0.5.0a1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 6.1 MB |
| Tags | Linux glibc 2.17+ x86-64 PyPy 3.9 PyPy 3.9 7.3 |
|
SHA-256 checksum How to use checksums |
4f0e1824800afb33108606de63322fe72b2d94197005b3eb565e3ace5ea478e7
|
|
BLAKE2b-256 checksum How to use checksums |
1012ae847d45e4b01e5da5727501466404a5f679b3c7c82f4502a645510acad5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / reasonable-0.5.0a1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | reasonable-0.5.0a1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 5.3 MB |
| Tags | Linux glibc 2.17+ ARM64 PyPy 3.9 PyPy 3.9 7.3 |
|
SHA-256 checksum How to use checksums |
4151c0aefe825a95f87ec24626058d32fd355836ccc8ca6549864bfe7b57364a
|
|
BLAKE2b-256 checksum How to use checksums |
525eea385baeb3634193a0a1fba10fb21ccf4fda7446fa18d3f49b36f7386bf9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / reasonable-0.5.0a1-cp312-cp312-musllinux_1_2_x86_64.whl
| Download URL | reasonable-0.5.0a1-cp312-cp312-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 5.6 MB |
| Tags | CPython 3.12 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
2f51d2fe488d0215a073a901cfae6fa0fcb896e12891f0fd362a920a623c4d96
|
|
BLAKE2b-256 checksum How to use checksums |
90992f554092869699226cb941e7aa3f6ed4c8c70340053ccb6d8688cd787cf1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / reasonable-0.5.0a1-cp312-cp312-musllinux_1_2_aarch64.whl
| Download URL | reasonable-0.5.0a1-cp312-cp312-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 5.4 MB |
| Tags | CPython 3.12 Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
a35f4fecdbe329e4cd055c07eab9fff9d71ac10e2247d6033537926e491fbacb
|
|
BLAKE2b-256 checksum How to use checksums |
5870040cda92fd6e25816ca4505f32bcb0f2a46d2f8117b0c7ee276b616fce75
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / reasonable-0.5.0a1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | reasonable-0.5.0a1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 6.2 MB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
4a3f9aa239ac832cd066e61d1a3b7f342d0cf680d16978213a8fe40d20394f44
|
|
BLAKE2b-256 checksum How to use checksums |
9499f4fb82c630d7e09ebd2579e3ea1cad6dd889388e1eba0cac964cd369e2fc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / reasonable-0.5.0a1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | reasonable-0.5.0a1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 5.4 MB |
| Tags | CPython 3.12 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
ed5a91c58d75f50cc8d2a236d7b4059a7f35221f32b9619418c4e3ccbc463bc0
|
|
BLAKE2b-256 checksum How to use checksums |
4a9b7e2d449ac58164b408cb88a4cb5b0e1b769e5b4e2df4b94e714c59654d3b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / reasonable-0.5.0a1-cp311-cp311-musllinux_1_2_x86_64.whl
| Download URL | reasonable-0.5.0a1-cp311-cp311-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 5.5 MB |
| Tags | CPython 3.11 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
77c8bd07af3b7a00daedb8635f69c919aa54f3fac7845f06099e428302c3b05e
|
|
BLAKE2b-256 checksum How to use checksums |
30a54a254ea0e037759bbd37148308e3a46f8090ba29e067c5244d40f49fa84c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / reasonable-0.5.0a1-cp311-cp311-musllinux_1_2_aarch64.whl
| Download URL | reasonable-0.5.0a1-cp311-cp311-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 5.4 MB |
| Tags | CPython 3.11 Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
f31de959f4f24b306bc16064c8cd701d1c6f138699c2780a5b1c97c2d356cdc6
|
|
BLAKE2b-256 checksum How to use checksums |
ba575ca9bda07eafdc88bd22b059cc1361b0449d2c633373b5d23a66e7eb6d03
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / reasonable-0.5.0a1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | reasonable-0.5.0a1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 6.2 MB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
f5384e9aee4f0fd9858827f9a10863c8bd3fb9280c87129d06699133d1fa0fc8
|
|
BLAKE2b-256 checksum How to use checksums |
cbec8cb2102744ab9231826a779fa9c11544cc5dafc7bd10f3497e4dd6a533ea
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / reasonable-0.5.0a1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | reasonable-0.5.0a1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 5.4 MB |
| Tags | CPython 3.11 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
a48a93e48eae85f29cffe7c39c5b8473f50ed42407173530dee61588cd097609
|
|
BLAKE2b-256 checksum How to use checksums |
cefb6c01e8c9ba7151ba47fd9611aac73597e3bb101200863d96a1fcdad74ccb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / reasonable-0.5.0a1-cp310-cp310-musllinux_1_2_x86_64.whl
| Download URL | reasonable-0.5.0a1-cp310-cp310-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 5.5 MB |
| Tags | CPython 3.10 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
19cac59f8c2568d23fff2cca98eee76894e525735c29843c8ba16b0dfdd8a15f
|
|
BLAKE2b-256 checksum How to use checksums |
2fa7b8149d290b7cdc0e5c616f61684ac7af61f1a4636aa892686922b2096323
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / reasonable-0.5.0a1-cp310-cp310-musllinux_1_2_aarch64.whl
| Download URL | reasonable-0.5.0a1-cp310-cp310-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 5.4 MB |
| Tags | CPython 3.10 Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
b932070a85bdc666ec50263014e1b420eeb9bddde52d78a95165c958f1b0e788
|
|
BLAKE2b-256 checksum How to use checksums |
f4cb478f39d2cfef08196afe0c2aa048f0068e76b1c5f28be9eb7aa4ddfa157f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / reasonable-0.5.0a1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | reasonable-0.5.0a1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 6.2 MB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
16e988a9f4022f7b85efc3fae9464d583f74d64326982ca5c7017b0b48a04a56
|
|
BLAKE2b-256 checksum How to use checksums |
b94218572018aaebc7b87671975f1a5afa2113a1fcc42938a435b12b716b8612
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / reasonable-0.5.0a1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | reasonable-0.5.0a1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 5.4 MB |
| Tags | CPython 3.10 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
9b9be9f0d90326de3d029389d4ad7e047992547e925f7e2cf683ee8682cb49b6
|
|
BLAKE2b-256 checksum How to use checksums |
b8f5c37f4b4499bfdefb59d03935d1a59068ede92116c229879c7e93c1a918c4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / reasonable-0.5.0a1-cp39-cp39-musllinux_1_2_x86_64.whl
| Download URL | reasonable-0.5.0a1-cp39-cp39-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 5.6 MB |
| Tags | CPython 3.9 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
59fe070d3a6c349a9b4fe5182465a18b47ab98674f3245de61b6285fb0978a93
|
|
BLAKE2b-256 checksum How to use checksums |
efaa8bf0749a375cc667e767350e272ebbdb463a1991098ac2541050889f92fb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / reasonable-0.5.0a1-cp39-cp39-musllinux_1_2_aarch64.whl
| Download URL | reasonable-0.5.0a1-cp39-cp39-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 5.4 MB |
| Tags | CPython 3.9 Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
443938f76c17ad0890394a725b093a1fd8aedd0a7e0449c32e8e977ebb05a45f
|
|
BLAKE2b-256 checksum How to use checksums |
a1d11d009807efd9dc9f594d8778c5f2896156de4f7c5558e5d9c793b9d7a57a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / reasonable-0.5.0a1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | reasonable-0.5.0a1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 6.2 MB |
| Tags | CPython 3.9 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
745317a0263f34551793560c89af8af9ba0d4d1c0a147c620d7b08f2a69c98d0
|
|
BLAKE2b-256 checksum How to use checksums |
f75a9ff9127504bec62e0c93a7d0fa87f9e72ef20aaf16fde6607622ab9aefda
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / reasonable-0.5.0a1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | reasonable-0.5.0a1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 5.4 MB |
| Tags | CPython 3.9 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
53051d29635d1a4108d16a7b4937af562e473a1b47af0180aa75e6c3ab3f5b81
|
|
BLAKE2b-256 checksum How to use checksums |
a4758589f640abb50d0ceb30942701afe74b847537b929a9cba97db6fe4ad778
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / reasonable-0.5.0a1-cp39-abi3-win_amd64.whl
| Download URL | reasonable-0.5.0a1-cp39-abi3-win_amd64.whl |
|---|---|
| Size | 404.1 kB |
| Tags | CPython 3.9 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
b43395128b37b38913588664ccfa6f979bc9f9ac9f2807635a7c3d47167cece4
|
|
BLAKE2b-256 checksum How to use checksums |
d441c6ac430918836223226173da29a3a17dec06126194981a51bed2679dc1c6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / reasonable-0.5.0a1-cp39-abi3-musllinux_1_2_x86_64.whl
| Download URL | reasonable-0.5.0a1-cp39-abi3-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 5.5 MB |
| Tags | CPython 3.9 Linux musl 1.2+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
222d28f34ebbe7f672e510e0727a0fe5c807dbb87c3440a943a9860d011c9548
|
|
BLAKE2b-256 checksum How to use checksums |
ef85be4cb6886cd9acec84a67ea31deefa3e959db2e76797dacf303a60d5e625
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / reasonable-0.5.0a1-cp39-abi3-musllinux_1_2_aarch64.whl
| Download URL | reasonable-0.5.0a1-cp39-abi3-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 5.4 MB |
| Tags | CPython 3.9 Linux musl 1.2+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
3ec4af4fa9823878ef9d6cdbf494090e46f63c054224258f7ef28042d967697b
|
|
BLAKE2b-256 checksum How to use checksums |
1eaacf3c1e967ce2e6742291f885aa677b33f8ff71ba55369f310941fdee7e6a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / reasonable-0.5.0a1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | reasonable-0.5.0a1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 6.1 MB |
| Tags | CPython 3.9 Linux glibc 2.17+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
e0867497d58a21255f1edd81eb7066a3ecd57387a0cae118e34b1aeed9916c10
|
|
BLAKE2b-256 checksum How to use checksums |
733d699d613d71324b7dc96b73ee7f10e40d07ca822168e84b78b176db7b38f3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / reasonable-0.5.0a1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | reasonable-0.5.0a1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 5.3 MB |
| Tags | CPython 3.9 Linux glibc 2.17+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
d62480a9299ea57e0e49fb5c514d15a488a05cc68f31b770900b9a826fbd7060
|
|
BLAKE2b-256 checksum How to use checksums |
75a2c55da0430a9678fab9e0fd178d8e4b49f988a10382335da75e2ea57a13e3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / reasonable-0.5.0a1-cp39-abi3-macosx_11_0_arm64.whl
| Download URL | reasonable-0.5.0a1-cp39-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 518.5 kB |
| Tags | CPython 3.9 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
1023117c83ff5eb6988cd40eb0a7335a62369ab1a282b016dd1e0ca297311c9b
|
|
BLAKE2b-256 checksum How to use checksums |
3d53c6350b0bbbe85fb4f8b08001d1b35155ba8ecfd6b3b501b6e09e00b89e42
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / reasonable-0.5.0a1-cp39-abi3-macosx_10_14_x86_64.whl
| Download URL | reasonable-0.5.0a1-cp39-abi3-macosx_10_14_x86_64.whl |
|---|---|
| Size | 531.8 kB |
| Tags | CPython 3.9 abi3 macOS 10.14+ x86-64 |
|
SHA-256 checksum How to use checksums |
34041a0282bcf8b3ef81e20924529c1ab3f8a91dff8696d32b8e7fbbad9d51dc
|
|
BLAKE2b-256 checksum How to use checksums |
0975584b0bcf7c29f2c28dc51624a6ae6b9229b7968f4f628094673f0dd7b928
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / reasonable-0.5.0a1-cp39-abi3-macosx_10_14_x86_64.macosx_11_0_arm64.macosx_10_14_universal2.whl
| Download URL | reasonable-0.5.0a1-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 |
ffc03137d02f8cac868e0f7eb30e861bb31fe6045c3bbc04795d758af9635bad
|
|
BLAKE2b-256 checksum How to use checksums |
21edb418f4cbfd85bd5242220a993f379e3dbc41a2ca829504a5235c43f7addb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / reasonable-0.5.0a1-cp38-cp38-musllinux_1_2_x86_64.whl
| Download URL | reasonable-0.5.0a1-cp38-cp38-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 5.6 MB |
| Tags | CPython 3.8 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
3e90eff0e59444a2e5b70e6972660f156ea989e907020e90c3657e0a5412b52e
|
|
BLAKE2b-256 checksum How to use checksums |
c1955f9ffcf1dae7315763d9161b554ef549663b41f8934ba43438f8669e49f1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / reasonable-0.5.0a1-cp38-cp38-musllinux_1_2_aarch64.whl
| Download URL | reasonable-0.5.0a1-cp38-cp38-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 5.4 MB |
| Tags | CPython 3.8 Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
a8a6d484e372afc2abd0712deff519200cf6fe2c1fc5ad1871082c061e457b5e
|
|
BLAKE2b-256 checksum How to use checksums |
71419a7d0cf8c91d03078732499b218c58ccfec07489540155f23529c23113bf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / reasonable-0.5.0a1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | reasonable-0.5.0a1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 6.2 MB |
| Tags | CPython 3.8 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
eaa5cb65c4ab0f79a12e244319497dcedc4b0ae293ee7377ed8708463eae3d71
|
|
BLAKE2b-256 checksum How to use checksums |
41bc7e1734584584830d20f086904e0a26606a824c16f7639b46fd7ebfacc3d6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / reasonable-0.5.0a1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | reasonable-0.5.0a1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 5.4 MB |
| Tags | CPython 3.8 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
5a7451ee0afef9bcf8a70214450920d6b53d1051d9c69146e42109ce4ce0a2e4
|
|
BLAKE2b-256 checksum How to use checksums |
da67578755149e31f34b35c7ad2b13b00b61b8b3157a2f38fc1f4157a652635a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|