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.10.0

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.10.0
File Size Uploaded Provenance
python_modelo-0.10.0.tar.gz 150.6 kB Without provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for python-modelo 0.10.0
File
python_modelo-0.10.0-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.10.0-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.10.0-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.10.0-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.10.0-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.10.0-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.10.0-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
python_modelo-0.10.0-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.10.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ ARM64 Details
python_modelo-0.10.0-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
python_modelo-0.10.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
python_modelo-0.10.0-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.10.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ ARM64 Details
python_modelo-0.10.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
python_modelo-0.10.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
python_modelo-0.10.0-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.10.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ ARM64 Details
python_modelo-0.10.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
python_modelo-0.10.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
python_modelo-0.10.0-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.10.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ ARM64 Details
python_modelo-0.10.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details

Total release size: 20.7 MB

Release files / python_modelo-0.10.0.tar.gz

Download URL python_modelo-0.10.0.tar.gz
Size 150.6 kB
Tags Source
SHA-256 checksum
How to use checksums
3fbdbe0f0e945a572ed3badd920e211ab75fb571013a76c8dab3f75af537e61e
BLAKE2b-256 checksum
How to use checksums
a40f3a2b8e9ba99345b131e05ce6b05012665447a59e6aee868235e2f9877fc9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","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.10.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL python_modelo-0.10.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 988.9 kB
Tags Linux glibc 2.17+ x86-64 PyPy 3.11 PyPy 3.11 7.3
SHA-256 checksum
How to use checksums
85e467afb72be7cbc1bdefc2450e15a08da96393001611b94832ebeec9027ccc
BLAKE2b-256 checksum
How to use checksums
49094912c4439f58d9940763fc184dab97fb37ccb70f3f02e3edaf6eb4c2fbd4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","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.10.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL python_modelo-0.10.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 991.4 kB
Tags Linux glibc 2.17+ ARM64 PyPy 3.11 PyPy 3.11 7.3
SHA-256 checksum
How to use checksums
2c5942826c1caa9c8d8e8813759bd46e73573c23138215d21ab6e94bf824f3f3
BLAKE2b-256 checksum
How to use checksums
ff31fb324fbab86d297dca4a78d49616aac89dc439875ad92b31fba769764964
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","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.10.0-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL python_modelo-0.10.0-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 987.5 kB
Tags CPython 3.15 CPython 3.15 free-threading Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
0301e80772990c107d9358797ed696c87059f72db8f50d04d35b2abd3709a974
BLAKE2b-256 checksum
How to use checksums
72d40b084fb3ab1ef8133f32eaed21e5f8c510bccdfc7f6adacffbec4b00466c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","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.10.0-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL python_modelo-0.10.0-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 985.4 kB
Tags CPython 3.15 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
b2a81e56eab700bb3601daa12f2b872d4ccff3e7bf3de2b80373c53d6215476f
BLAKE2b-256 checksum
How to use checksums
16a0bbf80f4a8b7634581fd7ce7e3980a1e5b53d8660f74ca1b6dea5ac3005f8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","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.10.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL python_modelo-0.10.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 986.8 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
f1cce3009019c9df4b2ab9792c05319738f4948fe211721347ed1780d7619dbf
BLAKE2b-256 checksum
How to use checksums
3a9e0b8b77c86d7b15fbf657e5257bb7fe98613a9461b6e7008a55870e58d3c1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","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.10.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL python_modelo-0.10.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 984.1 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
9fc3b1fbadb68db97c46c0735cf0dfc6af433717331223e0fcdbc1ad093c22b8
BLAKE2b-256 checksum
How to use checksums
30440e846eea6c0cdb19c3e7b4c743601371f2a85c5fbcf6ecfbcd3352db8836
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","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.10.0-cp314-cp314-win_amd64.whl

Download URL python_modelo-0.10.0-cp314-cp314-win_amd64.whl
Size 810.6 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
df677a2aced114f4abc9a93616a5514fed66dde676d966cc3f0c29f70638a760
BLAKE2b-256 checksum
How to use checksums
0b72c6cb2a27859c4bcbf80ae8189b233ad5dfc4c08241841d9204780e99acaa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","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.10.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL python_modelo-0.10.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 984.4 kB
Tags CPython 3.14 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
152677fc93448adb69210b31a745394664996bf48bafc0f5e5166d6e82562dcc
BLAKE2b-256 checksum
How to use checksums
7c7adf26a944aed377d644743e6f9f31513e32f2bc0f4550c5c34287d6d3e671
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","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.10.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL python_modelo-0.10.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 982.7 kB
Tags CPython 3.14 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
7fb71805c166428c4516f53f8262c6db3aa2ba17669b001907a1905ec3cb6c24
BLAKE2b-256 checksum
How to use checksums
ead9a025d37413da52d22774ba7789ca17b4163b477ed92bd6f2b1c42fba91ec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","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.10.0-cp314-cp314-macosx_11_0_arm64.whl

Download URL python_modelo-0.10.0-cp314-cp314-macosx_11_0_arm64.whl
Size 888.7 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
c5de054b8dc587f1c95b7e3de147d7658a6b9abda5a6260254407bbd681c2856
BLAKE2b-256 checksum
How to use checksums
01ff93c1d9fc16f216560a98e89daddb3a656130182fcdc3f0bbd4a4341372ae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","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.10.0-cp313-cp313-win_amd64.whl

Download URL python_modelo-0.10.0-cp313-cp313-win_amd64.whl
Size 807.8 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
a6d845beb39066aea91266da8dc9d11a101604bfac22117a5ecda5c190ece4e2
BLAKE2b-256 checksum
How to use checksums
191f4f2196b74f052d9027bb65d6726473125fbe1663187ecb937bc4b5724afb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","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.10.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL python_modelo-0.10.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 984.2 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
ddf6b23a76c52e47ad49a96fee56aaea4f4adf1097ad4422c39e5ec0c09835e7
BLAKE2b-256 checksum
How to use checksums
8c92b5fbe1f5330683437642757e98ecd0fe4adb5b47f8ecc0857f77a0dd63cd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","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.10.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL python_modelo-0.10.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 981.5 kB
Tags CPython 3.13 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
615343958bfc68376d8030fc63b065573a276af09a629c75f6ad309535b1eef4
BLAKE2b-256 checksum
How to use checksums
dd47e0bdecaabf66233323c95a724212711b13681e4703b843b9d3a7da27d654
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","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.10.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL python_modelo-0.10.0-cp313-cp313-macosx_11_0_arm64.whl
Size 884.7 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
8a6d47c599686e63228cbdf5fdc5209c9814753ec7643782945f875fa39fc924
BLAKE2b-256 checksum
How to use checksums
020b9c0feffa3410125d7d1c9beb97b996287c741b75417426389ed8f147e0c5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","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.10.0-cp312-cp312-win_amd64.whl

Download URL python_modelo-0.10.0-cp312-cp312-win_amd64.whl
Size 807.2 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
f35194912964b42c9e8d3f8d02c9fc230cd12b4814df94bcff8725ff0b314565
BLAKE2b-256 checksum
How to use checksums
ee96b6779ff79cfd0d872eb0fb1dd6c7f22caa4792541420016471e618c7f69b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","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.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL python_modelo-0.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 982.9 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
04ef62a4973f84acf74a04cb2228feb9dbefc16ab16317c20906fbb497155603
BLAKE2b-256 checksum
How to use checksums
38c6ce159ef653ed3d4c1bcc38de241f6c95ee89890f58e5785f066bf3242a2b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","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.10.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL python_modelo-0.10.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 982.4 kB
Tags CPython 3.12 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
723015d5db3b0c89f1e040a303609402c30367474f7739f02dd39a257b4852bf
BLAKE2b-256 checksum
How to use checksums
1695823e8b5b0b763066ea5fc7579e80362792fbd1dc679ab4aee02cb14ad3ab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","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.10.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL python_modelo-0.10.0-cp312-cp312-macosx_11_0_arm64.whl
Size 886.6 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
a8613578c2c2b67eda2178745056b19f81761468356541e5d8210d5da5fe5a3c
BLAKE2b-256 checksum
How to use checksums
6f2687aab3691a77468bc73b68c399d2ce4187a6c0586efc7de6e3e5e5257e02
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","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.10.0-cp311-cp311-win_amd64.whl

Download URL python_modelo-0.10.0-cp311-cp311-win_amd64.whl
Size 811.3 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
84160a5a13cea1a96cbcbf043f4063677ab0ec61b89800e0e5739410c4d03d7f
BLAKE2b-256 checksum
How to use checksums
878aa7ce743facc9a6c4a09c8f7ee17f1b23f2157ca832379f2cfebbe5665523
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","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.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL python_modelo-0.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 986.1 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
f5fe249a59b1632f1729abb716ecc391644be65dfa87603378eee3f0577770ff
BLAKE2b-256 checksum
How to use checksums
f60c39c40ebaa5e9c81b9a9ec8ba9ed82518accc4c38b3658d6af14bcaabc6c2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","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.10.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL python_modelo-0.10.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 987.4 kB
Tags CPython 3.11 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
e8fd53a6c5a8ebd961baeec46aa0d8b08822c8e2987efd13aa94d93d783cb792
BLAKE2b-256 checksum
How to use checksums
3853740b4d5c25beeec54354f241395dbf035465dc5f0776ef8eda4ed7791113
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","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.10.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL python_modelo-0.10.0-cp311-cp311-macosx_11_0_arm64.whl
Size 891.5 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
5351839877f7ce33bf67dffc97ea8d83508c0c036b9e6d4ef9367eb3b2e94d42
BLAKE2b-256 checksum
How to use checksums
e0b7b007ea2eedad62a0ac8e964a4b0f58417d03b6a9ca9fafc2a9f1e43c1125
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","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.10.0

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