Skip to main content

modelo

modelo is a Rust multi-model validation library and a Python bindings extension intended as a drop-in replacement for python-ort.

Namespaces

Each model family lives in its own namespace, so families can be added without disturbing the others. Currently there is one: ort, the OSS Review Toolkit model.

ORT model Shared validation engine
Rust modelo::models::ort::* (src/models/ort/) modelo::models::{Model, ValidationError}
Python modelo.ort —

Adding a family means a new src/models/<name>/ directory whose types implement models::Model, plus a modelo.<name> submodule in src/python/mod.rs. The engine and the bindings' plumbing stay as they are.

Workspace layout

This repository is a Cargo workspace with two crates, so the library stays free of CLI/TUI dependencies (clap, ratatui, crossterm):

Crate Contents Dependencies
modelo The validation engine and models (src/), plus the optional Python bindings serde, serde_yaml, thiserror, purl, pyo3 (feature-gated)
modelo-cli The modelo binary: CLI subcommands and the TUI modelo, clap, ratatui, crossterm, anyhow

Build

cargo build --release --workspace  # library + `modelo` binary
cargo test --workspace              # unit + integration tests (203 tests)
cargo clippy --workspace --all-targets # lints
cargo doc --workspace --open        # API documentation

The Python extension module lives in its own modelo-python crate, so the modelo library and the modelo binary never link against libpython:

cargo build --release -p modelo-python

Validating files: the modelo CLI

The modelo binary lives in the modelo-cli crate:

cargo install modelo-cli

modelo license-classifications  tests/data/license-classifications.yml
modelo repository-configuration tests/data/repo_config/curations.yml
modelo ort-result               tests/data/evaluation-result.yml

The subcommands are still flat rather than grouped per family (modelo ort ort-result ...); that regrouping is worth doing when a second family lands, not before.

Each subcommand prints valid <kind> file. and exits 0, or reports the first parse/validation error and exits non-zero. --debug additionally pretty-prints the parsed model. This is the equivalent of python-ort's ort-validate (src/tools/ort_validate.py).

Interactive TUI

modelo tui [FILE] (or modelo with no arguments) opens a ratatui interface: pick the model kind, type a file path, see the validation result. ↑/↓ (or k/j) move and scroll, Enter confirms, b goes back from the result screen, q/Esc quits.

Using it from Python

pip install modelo

or, from a checkout:

pip install maturin
maturin develop     # into the active virtualenv
# or: pip install .                   # maturin is the build backend

The modelo.ort submodule exposes the three top-level ORT models, each parsed from YAML and navigated with plain attribute access, the way python-ort's pydantic models are:

from pprint import pprint

from modelo.ort import LicenseClassifications, OrtResult, RepositoryConfiguration

result = OrtResult.from_yaml_file("tests/data/evaluation-result.yml")
config = RepositoryConfiguration.from_yaml_str(open(".ort.yml").read())

pprint(result.analyzer)                                 # AnalyzerRun(start_time=..., ...)
result.analyzer.environment.ort_version
result.analyzer.result.projects[0].id
result.repository.vcs.url

Invalid input raises ValueError (with the failing field path, as pydantic's ValidationError does); an unreadable path raises OSError.

Every nested model is an instance of a class named after it (type(result.analyzer).__name__ == "AnalyzerRun"), all of them subclasses of modelo.ort.Object. Besides attribute access they support keys(), values(), items(), obj["field"], "field" in obj, len(obj), == and to_dict():

import json

result.to_dict()                                        # nested plain dicts and lists
json.loads(result.to_json()) == result.to_dict()        # True — one source of truth

Fields that ORT itself serializes as scalars stay scalars: Identifier is a string ("PIP::requirements.txt:1.0"), enums are their member names, and free-form maps such as labels are dicts.

Type checking

The wheel is a PEP 561 typed package: modelo/py.typed ships alongside modelo/ort.pyi, so mypy, pyright and ty resolve import modelo.ort and the model classes without falling back to Any. The compiled extension lives at modelo._modelo; modelo.ort is a thin Python re-export of it, which is what makes the module statically resolvable.

Examples

Runnable counterparts of python-ort's examples/, using only the standard library:

python examples/license_classifications.py tests/data/license-classifications.yml
python examples/repo_config.py             tests/data/repo_config/curations.yml
python examples/ort_result.py              tests/data/evaluation-result.yml --analyzer

Checking parity against python-ort

examples/parity_check.py parses every fixture in tests/data/ with both libraries and diffs the serialized result, ignoring set-backed field ordering (arbitrary in both):

pip install . python-ort
python examples/parity_check.py

All 9 fixtures agree; analyzer-result.yml is rejected by both libraries for the same unknown field. The behaviours this covers:

  • Int-backed enums (Severity, *Reason, …) accept the numeric value or the case-sensitive member name, and serialize as the member name — python-ort's ValidatedIntEnum.
  • Unknown fields are rejected wherever python-ort sets extra="forbid", and accepted where it sets extra="allow"/"ignore".
  • Loose scalars are coerced as python-ort's mode="before" validators do (an integer start_lines, non-string options values).

Continuous integration

.github/workflows/ci.yml runs on every push and pull request: format (rustfmt), lint (clippy, warnings denied), test (Linux/macOS/Windows), python (bindings built and smoke-tested on 3.10 and 3.13) and parity (the diff above against python-ort).

Every third-party action is pinned to a full commit SHA with the released tag in a trailing comment (uses: actions/checkout@3d3c42e... # v7.0.1), so a moving tag cannot change what runs. To bump one, resolve the new tag's SHA (gh api repos/<owner>/<repo>/commits/<tag> --jq .sha) and update both the SHA and the comment. actionlint .github/workflows/*.yml validates the files.

Deployment

Both registries publish from a v* tag (git tag -s v0.1.0 && git push origin v0.1.0) or a manual Run workflow dispatch. Bump the version in Cargo.toml and pyproject.toml first — they are separate files and must agree.

PyPI — .github/workflows/release-pypi.yml

Builds wheels with maturin-action for Linux (x86_64, aarch64), macOS (x86_64, aarch64) and Windows (x64), plus an sdist, then uploads everything in one publish job via pypa/gh-action-pypi-publish (maturin upload only authenticates with an API token, so it cannot do the OIDC exchange trusted publishing needs).

One-time setup: on PyPI, add a trusted publisher for the modelo project pointing at this repository and the workflow file release-pypi.yml with environment pypi; then create a GitHub environment named pypi. No API token is stored — the job authenticates with the OIDC token from id-token: write.

crates.io — .github/workflows/release-crates.yml

Runs the test suite and cargo package first, then cargo publish.

One-time setup: create a crates.io API token scoped to publish-update for this crate, and store it as the secret CARGO_REGISTRY_TOKEN in a GitHub environment named crates-io.

Local dry runs

cargo publish --dry-run
maturin build --release   # wheel lands in target/wheels/

License

MIT — see LICENSE. Copyright 2026 Helio Chissini de Castro dev@heliocastro.info. test

Metadata

Release files for python-modelo 0.11.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for python-modelo 0.11.2
File Size Uploaded Provenance
python_modelo-0.11.2.tar.gz 159.3 kB Without provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for python-modelo 0.11.2
File
python_modelo-0.11.2-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl PyPy 3.11 PyPy 3.11 7.3 Linux glibc 2.17+ x86-64 Details
python_modelo-0.11.2-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl PyPy 3.11 PyPy 3.11 7.3 Linux glibc 2.17+ ARM64 Details
python_modelo-0.11.2-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.15 CPython 3.15 free-threading Linux glibc 2.17+ x86-64 Details
python_modelo-0.11.2-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.15 CPython 3.15 Linux glibc 2.17+ x86-64 Details
python_modelo-0.11.2-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64 Details
python_modelo-0.11.2-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64 Details
python_modelo-0.11.2-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
python_modelo-0.11.2-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ x86-64 Details
python_modelo-0.11.2-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ ARM64 Details
python_modelo-0.11.2-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
python_modelo-0.11.2-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
python_modelo-0.11.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details
python_modelo-0.11.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ ARM64 Details
python_modelo-0.11.2-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
python_modelo-0.11.2-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
python_modelo-0.11.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
python_modelo-0.11.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ ARM64 Details
python_modelo-0.11.2-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
python_modelo-0.11.2-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
python_modelo-0.11.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
python_modelo-0.11.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ ARM64 Details
python_modelo-0.11.2-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details

Total release size: 21.0 MB

Release files / python_modelo-0.11.2.tar.gz

Download URL python_modelo-0.11.2.tar.gz
Size 159.3 kB
Tags Source
SHA-256 checksum
How to use checksums
5fd322a876104742197686210da81c8b272b491ec0008f4025327d91e71e0527
BLAKE2b-256 checksum
How to use checksums
b132191f54e5d21bcf689e9b6514ec0170d97d0d89fa81b601506a8afd884942
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / python_modelo-0.11.2-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL python_modelo-0.11.2-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.0 MB
Tags Linux glibc 2.17+ x86-64 PyPy 3.11 PyPy 3.11 7.3
SHA-256 checksum
How to use checksums
dec9c8b3001f21f3a7aa610a3d844476af91b7b46678c2b87ef5a2c0f91a6c8d
BLAKE2b-256 checksum
How to use checksums
dff02a68d7cbf4a1735f9f938496aea348327c54ebcf681477640685fa9f7ec8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / python_modelo-0.11.2-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL python_modelo-0.11.2-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 1.0 MB
Tags Linux glibc 2.17+ ARM64 PyPy 3.11 PyPy 3.11 7.3
SHA-256 checksum
How to use checksums
7e874ca43bca6e01ee69986ada941077028017f34a6ef265c69876ff2f591d63
BLAKE2b-256 checksum
How to use checksums
4f6d636a1c332d57f04bf75a46eaad9edf4275e3c643363262a30557f007c93e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / python_modelo-0.11.2-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL python_modelo-0.11.2-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 996.4 kB
Tags CPython 3.15 CPython 3.15 free-threading Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
f889efc991566164c4cfee5f144d16130d2a66858bf1c95a3aeff6b4f29de2e2
BLAKE2b-256 checksum
How to use checksums
a4ac16ade62bba81725cef327c550f57c68426dd3c5368a14342ac7cd5fe7594
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / python_modelo-0.11.2-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL python_modelo-0.11.2-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 996.5 kB
Tags CPython 3.15 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
22e59d7aa42a085f47ca05244da84e8d05b9604b27937c151440f7448060c46b
BLAKE2b-256 checksum
How to use checksums
2e9dc331c81c1e16f5a77ea82829086693de3d1e20575a288b83c84371ba1179
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / python_modelo-0.11.2-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL python_modelo-0.11.2-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 996.6 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
d4e8127745fd25654f74b05267f3ba2fbcbfcdc564c4e88244f2a26f21f45cc9
BLAKE2b-256 checksum
How to use checksums
830ef697688adad7ccfec8740bf8a73836052be0cd2a01e145376fa8a367c172
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / python_modelo-0.11.2-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL python_modelo-0.11.2-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 994.8 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
8a8b6807f9d06f8d0194378ae515e13df4c8281c227426bc87b11e2a823b5cb0
BLAKE2b-256 checksum
How to use checksums
d98abe03c7c74edbc93ab4511adde246d4b202a1bf85c015b04599501c3b7efe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / python_modelo-0.11.2-cp314-cp314-win_amd64.whl

Download URL python_modelo-0.11.2-cp314-cp314-win_amd64.whl
Size 814.2 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
4973d27a70b392e38f4c5db1aafe1a2cd82430c335ffc43816894ab8e430c422
BLAKE2b-256 checksum
How to use checksums
bdb459dcc594806855593a2ad3ef1b781b2a4fd9338843b3f97c1a4ed6f0be0a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / python_modelo-0.11.2-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL python_modelo-0.11.2-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 997.7 kB
Tags CPython 3.14 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
b7966bf4754339fae6c7efe17f4c29dd2694378aea1793e4967f1122cedf95c7
BLAKE2b-256 checksum
How to use checksums
fa7b2db93c813bdc37f3c82e71ebc675238b1cd8b66e3c509220bd7a6d46b7d0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / python_modelo-0.11.2-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL python_modelo-0.11.2-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 998.2 kB
Tags CPython 3.14 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
09bd312f9cfa6cb6fa4f84046f914c6714648c6106576bf4731788e71b24794d
BLAKE2b-256 checksum
How to use checksums
f07808b52cba6f04523bfe253dbfe9060b7a8a3be5f7fec169be67be05df0ca2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / python_modelo-0.11.2-cp314-cp314-macosx_11_0_arm64.whl

Download URL python_modelo-0.11.2-cp314-cp314-macosx_11_0_arm64.whl
Size 902.3 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
ee8b77b5f4b88733611fead465c259761c95b28681935a8e89dc6cb98843d21e
BLAKE2b-256 checksum
How to use checksums
b8ecbf654126780a3cb6b2a6cfd4afdadfa3ce6b374644e46a66ccd894d3be27
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / python_modelo-0.11.2-cp313-cp313-win_amd64.whl

Download URL python_modelo-0.11.2-cp313-cp313-win_amd64.whl
Size 812.6 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
4dc21edeb25e99bb7f0f7368566770b6ccaaae0aa27eab3bcadb59d79ccfd018
BLAKE2b-256 checksum
How to use checksums
3d32b6007e858d32fddb7f1a15f1f7b30b24b3fc4a67002898a9356ffcf3ea9f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / python_modelo-0.11.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL python_modelo-0.11.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 994.1 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
6302d86ad465eb868c04791d87ab7ae03e5f54652bf71bd229bb42a04c631d76
BLAKE2b-256 checksum
How to use checksums
60a103f7b5a757abb2f7545422b7997c7133d45ce193bd03ee92dcb4b60c247f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / python_modelo-0.11.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL python_modelo-0.11.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 993.3 kB
Tags CPython 3.13 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
330ac7256400e593db70f4d75420508c495b30c3f47c49f52aef1166eb403df6
BLAKE2b-256 checksum
How to use checksums
fc758e770b5305f2472d1f9bd6eed87069e75ff1d117024cfc3912acfc411010
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / python_modelo-0.11.2-cp313-cp313-macosx_11_0_arm64.whl

Download URL python_modelo-0.11.2-cp313-cp313-macosx_11_0_arm64.whl
Size 900.0 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
8cc123bbb43a75ee6bf95d29ab98208296d78adc255c021d45435ae12ea25e95
BLAKE2b-256 checksum
How to use checksums
a6d05ccd006e1ccc3bfc7eb581d79b0aa56a21660422fba51121e8d3eec16286
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / python_modelo-0.11.2-cp312-cp312-win_amd64.whl

Download URL python_modelo-0.11.2-cp312-cp312-win_amd64.whl
Size 814.2 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
965acd32b4802cf24ec7cb0870bbbf601684c79ecbad13758a8797f536383ac0
BLAKE2b-256 checksum
How to use checksums
2d06469aba7b7c0ad453b29c6c1d4df52e59f9120780b701411b50ceb4f849b0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / python_modelo-0.11.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL python_modelo-0.11.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 993.2 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
ddc5743ea2df64a2bffe6f9cda63bf1651319da57e29b17a60b1f4a47aa1e1af
BLAKE2b-256 checksum
How to use checksums
ebda4ef2565c3ef30443ad71e9d81c306f12421b5521dc2211642c1fb29d8f3d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / python_modelo-0.11.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL python_modelo-0.11.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 997.3 kB
Tags CPython 3.12 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
0ae4d404b4fdb329a120f6b55b77bf2147625af094a4ddaea1ae3c39384d04c3
BLAKE2b-256 checksum
How to use checksums
42411598f5b70e358773356754297a1e804fef99249ebb7951613080cf57a548
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / python_modelo-0.11.2-cp312-cp312-macosx_11_0_arm64.whl

Download URL python_modelo-0.11.2-cp312-cp312-macosx_11_0_arm64.whl
Size 901.7 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
da465165424fe5f9a24767dbc373d3fd7e93d5eeb58bc89e20174b135c1acd6d
BLAKE2b-256 checksum
How to use checksums
745f19a9420594395ee9d20e97d1f56033b4baa539eea01bf8213ba0e657279b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / python_modelo-0.11.2-cp311-cp311-win_amd64.whl

Download URL python_modelo-0.11.2-cp311-cp311-win_amd64.whl
Size 820.3 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
8ae80b0ecd188b6b81d29826e4cc358ef352a2137ddc7cc9f68f98db6cb3e166
BLAKE2b-256 checksum
How to use checksums
bede938273f85575c0891bb5895dcba301451c3baa20185e365135b270c4ef4e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / python_modelo-0.11.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL python_modelo-0.11.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 997.6 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
00a5bcf0ee4c8eb833a0c09ad187d86fd864e00b6de5b1c6d3dfc1c6e3070c9a
BLAKE2b-256 checksum
How to use checksums
1fb771a198c5c829bcfb1a946ce146856884c458f3e4198583cb8000e16391ba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / python_modelo-0.11.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL python_modelo-0.11.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 1.0 MB
Tags CPython 3.11 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
cbe9c7b512117b1d16d042dec41004e00b834def69aecb878d2164de1a5ac698
BLAKE2b-256 checksum
How to use checksums
b2044ac747a45b37c89dc3e24abb73f05dc01bd6d6aad60bf7dc20f05e979d46
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / python_modelo-0.11.2-cp311-cp311-macosx_11_0_arm64.whl

Download URL python_modelo-0.11.2-cp311-cp311-macosx_11_0_arm64.whl
Size 908.6 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
5f475c7336823034e8544f8df2c2b4e079eacd369c3a73ab84fb5108f98f48f0
BLAKE2b-256 checksum
How to use checksums
68037b05cd9a2b92cdab5680f3587289b4afe57ff644a8f8b3c39367d9602609
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for python-modelo 0.11.2

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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