Skip to main content

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 OSError on missing/invalid paths.
    • from_graph(graph_or_iterable) -> None
      • Appends triples from an rdflib Graph (or any iterable of 3-tuples) to the base. Use update_graph() instead if you need retraction support.
    • 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. Returns True if removals were detected, False otherwise.
    • 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().
    • reason_full() -> list[tuple[Node, Node, Node]]
      • Forces a full re-materialization from base triples, ignoring any incremental state. Equivalent to clear() followed by reason().
    • clear() -> None
      • Resets all inferred state while keeping base triples. The next reason() call will perform a full re-materialization.
    • 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
  • maturin for building wheels
  • rdflib (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 develop in the same environment you’re importing from.
  • Build/link errors on macOS (Xcode/SDK):
    • Install Command Line Tools: xcode-select --install.
  • OSError when calling load_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 from example_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)

Source distribution for reasonable 0.4.4
File Size Uploaded
reasonable-0.4.4.tar.gz 56.0 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for reasonable 0.4.4
File
reasonable-0.4.4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl PyPy 3.10 PyPy 3.10 7.3 Linux glibc 2.17+ x86-64 Details
reasonable-0.4.4-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl PyPy 3.10 PyPy 3.10 7.3 Linux glibc 2.17+ ARM64 Details
reasonable-0.4.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl PyPy 3.9 PyPy 3.9 7.3 Linux glibc 2.17+ x86-64 Details
reasonable-0.4.4-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl PyPy 3.9 PyPy 3.9 7.3 Linux glibc 2.17+ ARM64 Details
reasonable-0.4.4-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details
reasonable-0.4.4-cp312-cp312-musllinux_1_2_aarch64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ ARM64 Details
reasonable-0.4.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
reasonable-0.4.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ ARM64 Details
reasonable-0.4.4-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details
reasonable-0.4.4-cp311-cp311-musllinux_1_2_aarch64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ ARM64 Details
reasonable-0.4.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
reasonable-0.4.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ ARM64 Details
reasonable-0.4.4-cp310-cp310-musllinux_1_2_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ x86-64 Details
reasonable-0.4.4-cp310-cp310-musllinux_1_2_aarch64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ ARM64 Details
reasonable-0.4.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
reasonable-0.4.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ ARM64 Details
reasonable-0.4.4-cp39-cp39-musllinux_1_2_x86_64.whl CPython 3.9 CPython 3.9 Linux musl 1.2+ x86-64 Details
reasonable-0.4.4-cp39-cp39-musllinux_1_2_aarch64.whl CPython 3.9 CPython 3.9 Linux musl 1.2+ ARM64 Details
reasonable-0.4.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64 Details
reasonable-0.4.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ ARM64 Details
reasonable-0.4.4-cp39-abi3-win_amd64.whl CPython 3.9 abi3 Windows x86-64 Details
reasonable-0.4.4-cp39-abi3-musllinux_1_2_x86_64.whl CPython 3.9 abi3 Linux musl 1.2+ x86-64 Details
reasonable-0.4.4-cp39-abi3-musllinux_1_2_aarch64.whl CPython 3.9 abi3 Linux musl 1.2+ ARM64 Details
reasonable-0.4.4-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 abi3 Linux glibc 2.17+ x86-64 Details
reasonable-0.4.4-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.9 abi3 Linux glibc 2.17+ ARM64 Details
reasonable-0.4.4-cp39-abi3-macosx_11_0_arm64.whl CPython 3.9 abi3 macOS 11.0+ ARM64 Details
reasonable-0.4.4-cp39-abi3-macosx_10_14_x86_64.whl CPython 3.9 abi3 macOS 10.14+ x86-64 Details
reasonable-0.4.4-cp39-abi3-macosx_10_14_x86_64.macosx_11_0_arm64.macosx_10_14_universal2.whl CPython 3.9 abi3 macOS 10.14+ universal2 (ARM64, x86-64), macOS 11.0+ ARM64, macOS 10.14+ x86-64 Details
reasonable-0.4.4-cp38-cp38-musllinux_1_2_x86_64.whl CPython 3.8 CPython 3.8 Linux musl 1.2+ x86-64 Details
reasonable-0.4.4-cp38-cp38-musllinux_1_2_aarch64.whl CPython 3.8 CPython 3.8 Linux musl 1.2+ ARM64 Details
reasonable-0.4.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.17+ x86-64 Details
reasonable-0.4.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.8 CPython 3.8 Linux glibc 2.17+ ARM64 Details

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

Release history Release notifications | RSS feed

This release

0.4.4 This release

33 release files

0.4.3

33 release files

0.4.1

33 release files

0.4.0

33 release files

0.2.3

13 release files

0.2.2

13 release files

0.2.1

4 release files

0.2.0

5 release files

0.1.65

5 release files

0.1.64

5 release files

0.1.61

1 release file

0.1.53

6 release files

0.1.48

6 release files

0.1.47

5 release files

0.1.42

4 release files

0.1.41

4 release files

0.1.39

4 release files

0.1.25

8 release files

0.1.24

8 release files

0.1.23

8 release files

0.1.22

3 release files

0.1.21

3 release files

0.1.20

3 release files

0.1.19

3 release files

0.1.12

3 release files

0.1.10

3 release files

0.1.8

3 release files

0.1.7

3 release files

0.1.6

3 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

1 release file

0.1.2

1 release file

0.1.1

1 release file

0.1.0

3 release files

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