Skip to main content

Commol

PyPI Python Build Python coverage Rust coverage Docs License: MIT

Declarative dynamical modelling in Python.

In Commol, a model is a description of a system rather than a set of equations. You state what the system is made of and how it changes: its states, the flows between them and the rates that drive them. Commol turns that description into equations, solves them, and fits them to your data.

Writing the description instead of the equations keeps a model small as the system grows: splitting every state into subgroups takes a few lines, not dozens of new equations. And since the description says nothing about how it is solved, the same model runs in discrete steps or continuously, and can be calibrated against observations without extra code.

What you can model

Commol supports compartmental models: quantities that flow between states at rates written as formulas. A quantity can be a count, a mass or a concentration, and each state can be split into as many subgroups as the problem needs. This structure is common in epidemiology, pharmacokinetics, ecology and chemical kinetics, and Commol assumes none of them.

Models are deterministic and evolve along a single variable, usually time. Calibration is based on optimization from one or several starts; the uncertainty methods share one weighted parameter sample, its predictive and its scores.

Installation

pip install commol

Commol requires Python 3.12 or later. Prebuilt wheels are available for Linux and macOS (x86_64 and arm64) and for Windows (x86_64); on other platforms pip builds Commol from source, which needs a Rust toolchain (see Installation).

Commol is under active development. Until version 1.0, a minor release (0.2 → 0.3) may break the API; the changelog lists every such change.

Example

A model of three states with one unknown rate. Commol describes the model with the equations it derived, fits the rate to five observations, and simulates the result:

from commol import (
    Aggregate,
    CalibrationParameter,
    CalibrationProblem,
    Calibrator,
    ModelBuilder,
    NelderMeadConfig,
    ObservedDataPoint,
    Simulation,
)

# 1. Write the process (the states and the flows between them), and build it
#    with a structure (how much starts where) and an engine.
model = (
    ModelBuilder(name="Three states")
    .add_bin(id="A", name="State A")
    .add_bin(id="B", name="State B")
    .add_bin(id="C", name="State C")
    .add_parameter(id="k1", value=None)  # unknown: calibration finds it
    .add_parameter(id="k2", value=0.1)
    .add_transition(id="t_ab", source=["A"], target=["B"], rate="k1 * A * B / total")
    .add_transition(id="t_bc", source=["B"], target=["C"], rate="k2")
    .build(
        Aggregate(
            bin_amounts={"A": 990, "B": 10, "C": 0},
        ),
        engine="DifferentialEquations",
    )  # or "DifferenceEquations"
)
print(model.describe().render("text"))  # the equations Commol derived, and more
model.describe().save("model.md")  # Markdown, with the state graph as a diagram

# 2. Fit the unknown to the observations of B.
observed = [
    ObservedDataPoint(at=at, output="B", value=value)
    for at, value in [(10, 150.8), (20, 404.7), (30, 239.0), (40, 104.0), (50, 42.6)]
]
problem = CalibrationProblem(
    observed_data=observed,
    parameters=[
        CalibrationParameter(
            id="k1", parameter_type="parameter", min_bound=0.0, max_bound=1.0
        )
    ],
    loss_function="sse",
    optimization_config=NelderMeadConfig(max_iterations=500),
)
result = Calibrator(Simulation(model), problem).run()
model.apply_calibration_parameters(result, problem)

# 3. Simulate the calibrated model.
results = Simulation(model).run(num_steps=60)
print(f"k1 = {result.best_parameters['k1']:.2f}")  # k1 = 0.40
print(f"B at 60: {results['B'][-1]:.1f}")

Features

  • Subgroups. Split every state by any number of categories, nest a split inside one subgroup, and give each subgroup its own rates.
  • Two engines. Run the same model as difference equations or as ordinary differential equations, with solvers for stiff systems.
  • Rates that change. Write rates as formulas of the state and the axis, or build them from data series, pulses, intervals, ramps and impulses.
  • Calibration. Fit parameters and initial conditions to observations of single outputs, sums or counts per window, under constraints.
  • Uncertainty. Read a weighted sample of the parameters, the band of its predictive, and scores of the predictive against held-out data.
  • Checks and output. Check units, print the equations as text or LaTeX, and save models and reports as JSON.

Documentation

The documentation begins with a Quick Start that builds, runs and calibrates a first model. The User Guide explains every concept and option, and the API Reference documents every public class and function.

Contributing

Bug reports, questions and suggestions are welcome in the issue tracker. Contributors to the code should first read the contributing guide, which explains how to set up the project and open a pull request. AI agents should begin with AGENTS.md.

Citation

If you use Commol in your research, please cite it as follows:

@software{commol2025,
  title = {Commol: High-Performance Declarative Dynamical Modelling in Python},
  author = {
    Villanueva Micó, Rafael J.
    and Andreu Vilarroig, Carlos
    and Martínez Rodríguez, David
  },
  year = {2025},
  url = {https://github.com/MUNQU/commol}
}

License and authors

Commol is licensed under the MIT License. It is developed by the MUNQU team:

Metadata

Release files for commol 0.6.1

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

Source distribution (sdist)

Source distribution for commol 0.6.1
File Size Uploaded Provenance
commol-0.6.1.tar.gz 1.0 MB With provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for commol 0.6.1
File
commol-0.6.1-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
commol-0.6.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ x86-64 Details
commol-0.6.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ ARM64 Details
commol-0.6.1-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
commol-0.6.1-cp314-cp314-macosx_10_12_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.12+ x86-64 Details
commol-0.6.1-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
commol-0.6.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details
commol-0.6.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ ARM64 Details
commol-0.6.1-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
commol-0.6.1-cp313-cp313-macosx_10_12_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.12+ x86-64 Details
commol-0.6.1-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
commol-0.6.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
commol-0.6.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ ARM64 Details
commol-0.6.1-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
commol-0.6.1-cp312-cp312-macosx_10_12_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.12+ x86-64 Details

Total release size: 63.8 MB

Release files / commol-0.6.1.tar.gz

Download URL commol-0.6.1.tar.gz
Size 1.0 MB
Tags Source
SHA-256 checksum
How to use checksums
de09e6a9248905f94d40410c3261853d89095a039f541442a6853c2f61dc5489
BLAKE2b-256 checksum
How to use checksums
ecb1db123626209f0660364b38dfeabc731c6df409618dfb256dd0059944d72e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.

Transparency log

Release files / commol-0.6.1-cp314-cp314-win_amd64.whl

Download URL commol-0.6.1-cp314-cp314-win_amd64.whl
Size 4.3 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
8e53ccd1769c6abddb849f972b17f152b00227eba60ffdb572faa5056c3540bc
BLAKE2b-256 checksum
How to use checksums
eddff9caa6747a97322453bc4ad6709aa1a1ebf22bf9ef286d44ce4ad1b2b15e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.

Transparency log

Release files / commol-0.6.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL commol-0.6.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 4.8 MB
Tags CPython 3.14 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
a21b9784da4aa15d311cfbeecd38a2548ce85088f0ee40c4c1bb052f035db04c
BLAKE2b-256 checksum
How to use checksums
8b2d31b4a0d5e10af0ccd2f0369f30df83638a024b7bda9fa779c9de4731c477
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.

Transparency log

Release files / commol-0.6.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL commol-0.6.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 3.9 MB
Tags CPython 3.14 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
b4fc9f53bea80f9dbcb5b924c946befca64d9f55ef750318293a23a6a2010cba
BLAKE2b-256 checksum
How to use checksums
52e702a8313a93eabddc39a87a9243e384539a1bc8b5c1e848115315f5636c5e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.

Transparency log

Release files / commol-0.6.1-cp314-cp314-macosx_11_0_arm64.whl

Download URL commol-0.6.1-cp314-cp314-macosx_11_0_arm64.whl
Size 3.5 MB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
6fa9bad437558f68c968a1177272dc8df97af4bdf01b1b6985ff6ed131a31bf1
BLAKE2b-256 checksum
How to use checksums
ac459517fc6ab9c65cc25e880ac4eeeab0e25575770ead234741bdef92721142
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.

Transparency log

Release files / commol-0.6.1-cp314-cp314-macosx_10_12_x86_64.whl

Download URL commol-0.6.1-cp314-cp314-macosx_10_12_x86_64.whl
Size 4.4 MB
Tags CPython 3.14 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
830fdc2fdaab447f525dbb78e20975542ff25b6771a9c1c4aa04ec6ca3fd6328
BLAKE2b-256 checksum
How to use checksums
dc554c8302a9b74facb2aaffc719326702f00347730840f4b4be764d3df30d60
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.

Transparency log

Release files / commol-0.6.1-cp313-cp313-win_amd64.whl

Download URL commol-0.6.1-cp313-cp313-win_amd64.whl
Size 4.3 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
cdd035ab773fe71e5ea9beba0b5c8ea48ebe31d0b8c8037d2cfc2fd7067aeb31
BLAKE2b-256 checksum
How to use checksums
f65cfe788841c8f7dcde755d50ebcf1875306a83251570bdc2758d6c6d937acc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.

Transparency log

Release files / commol-0.6.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL commol-0.6.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 4.8 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
8df8443e6c79cb05a26934ad59bde832d0bb814b935983d0dde81e520c826be3
BLAKE2b-256 checksum
How to use checksums
80772fec846ede212911ef4f123e5c231a6d6362b0794afb8cbde9f9b1e53987
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.

Transparency log

Release files / commol-0.6.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL commol-0.6.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 3.9 MB
Tags CPython 3.13 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
c7f57d77818e8ada21e4ed4b3d660753d8c5ed24e0fe874098ccb38d9c7fb6e5
BLAKE2b-256 checksum
How to use checksums
c67d3c5dbbd18effbe138a9792ef636c2efbea2f24127db0871dabf000c483bd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.

Transparency log

Release files / commol-0.6.1-cp313-cp313-macosx_11_0_arm64.whl

Download URL commol-0.6.1-cp313-cp313-macosx_11_0_arm64.whl
Size 3.5 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
cef148fde3c0f25473d96816057f26eb31ec9db9b0ef2acbda64ef832c74243b
BLAKE2b-256 checksum
How to use checksums
88601ef1b28dac58070187df6209a96c43b7d7d84a91732a2950c7de5a5e9cca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.

Transparency log

Release files / commol-0.6.1-cp313-cp313-macosx_10_12_x86_64.whl

Download URL commol-0.6.1-cp313-cp313-macosx_10_12_x86_64.whl
Size 4.4 MB
Tags CPython 3.13 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
f920e489d0bacd1cc62efff2bcd95951b613b6972a53bac13dd52af5e6ff215f
BLAKE2b-256 checksum
How to use checksums
a52dc12b2ad4a84fc10c73d7fbaafa35a76cf4aa0b5221c80e5d4fdb887f1d9d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.

Transparency log

Release files / commol-0.6.1-cp312-cp312-win_amd64.whl

Download URL commol-0.6.1-cp312-cp312-win_amd64.whl
Size 4.3 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
c6ff6f80dbf5dbf133f2e28cb8a6b986920ca5b60eff8ae9c9e36e0b319df1c0
BLAKE2b-256 checksum
How to use checksums
cd8b8f9081d31d7e85b09a7b1477a63e72f2704f35ccc27871791f66b1e4fe4a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.

Transparency log

Release files / commol-0.6.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL commol-0.6.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 4.8 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
71aee53855febe5d9093beed1c2b784ff2c337c62be954210432b0449f264db6
BLAKE2b-256 checksum
How to use checksums
0c9f0678aa26497cf90dd12ef5785a813ed6474e366e2c11322b790869eeebd8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.

Transparency log

Release files / commol-0.6.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL commol-0.6.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 3.9 MB
Tags CPython 3.12 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
a934a973fcdc664776caf793d5bd29eb283b401b36affa6bb37b77657c58f41d
BLAKE2b-256 checksum
How to use checksums
581c59c5b53c02c42154879c64662f1cca4deb0b22499136b50fde82853bdbe1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.

Transparency log

Release files / commol-0.6.1-cp312-cp312-macosx_11_0_arm64.whl

Download URL commol-0.6.1-cp312-cp312-macosx_11_0_arm64.whl
Size 3.5 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
519b39117a3656e5cef146d4b751b93d79135c355483244d48cbc7bf16325ae2
BLAKE2b-256 checksum
How to use checksums
f18cecb01dfba344f8ac95f11b0955b35c49ecb452c7965abad7708c690d1078
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.

Transparency log

Release files / commol-0.6.1-cp312-cp312-macosx_10_12_x86_64.whl

Download URL commol-0.6.1-cp312-cp312-macosx_10_12_x86_64.whl
Size 4.4 MB
Tags CPython 3.12 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
61106732a10b933e9e92e159a4c172729d2fd55299c5fe9ebb1f38bebd8269c7
BLAKE2b-256 checksum
How to use checksums
156d1d38672eb7181ecf55f07045e9d7a5f922b502694aeea1c9585c65ab2472
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.

Transparency log

Security for commol 0.6.1

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.

Full provenance

All 16 files in this release have been uploaded with provenance metadata.

Select from 16 files

Attestation for commol-0.6.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 21, 2026.

Transparency log

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