Skip to main content

Modelly: agent-based modeling in Python

coverage PyPI version python 3.12+ ruff Pelloux guidelines license: Apache-2.0

Modelly: agent-based modeling in Python

Modelly is an agent-based modeling (ABM) framework for Python. Declare a typed scenario, give your agents behaviour, run the world forward in time, then measure, replay and publish it. Seeded runs, numpy-backed agents, grids, networks and continuous space, discrete-event time, pandas data collection, browser visualization. Fast by construction, reproducible by default.

Documentation · Tutorials · Examples · Coming from Mesa · Changelog · Roadmap


Status: stable, Python 3.12+. Every public package (core, space, time, data, behaviour, scenarios, batch, viz) follows semantic versioning; there is no experimental area. The current version is modelly.__version__.

pip install modelly-abm
python -c "import modelly; print(modelly.__version__)"   # the import name is modelly

Then run the wealth-exchange example, which prints its Gini coefficient.

Vision

Agent-based models are how researchers study systems whose behaviour emerges from many interacting parts: markets, epidemics, ecosystems, cities, opinions. The models are easy to describe and hard to keep correct, reproducible and fast. Modelly exists to remove that gap.

What we are building

  • A research instrument, not a toy. Every run is seeded, every parameter lives in a typed scenario, every dataset lands in pandas. A result you got once is a result you can get again.
  • Fast by construction. The hot paths of a simulation (activating agents, moving them, looking up neighbours, recording data) are measured, benchmarked in CI, and written so the cost per agent-step stays flat as models grow. Performance is a feature with a test, not a hope.
  • Small, readable modules. A researcher should be able to open any file and understand it in one sitting. Files stay under 300 lines, functions under 25, and the rule is enforced by a script, not by goodwill. The Pelloux guidelines are the contract.
  • One mental model from notebook to cluster. The same scenario object drives a quick look in a notebook, a browser visualization, a parameter sweep and a batch of replications.

Where we are going. The engine keeps one Python object per agent, which is what makes models easy to write, and moves the heavy lifting into arrays: Column attributes give the model a numpy view of every agent, continuous space answers neighbour queries for the whole population with one KD-tree, and the roadmap adds vectorised step phases and parallel replications out of the box. The performance audit records what has been done and what is next.

Why Modelly

Modelly gives you the boring, load-bearing parts as small composable objects, so your model file reads like the description of the system instead of the plumbing around it:

Building block What it gives you
Scenario Parameters as a typed class: one run, one seed, one config object
Agents Agent classes with a step(), grouped in ordered AgentSets
Columns Attributes stored in numpy arrays, readable per agent and as a whole
Space Orthogonal / hexagonal grids, cells, networks, Voronoi meshes, continuous space
Time Discrete ticks, events, generators and priorities in one scheduler
Data Reporters and datasets that land in pandas, ready to plot
Front end Browser visualization (Solara), static charts, notebooks

No global state, no hidden step order, no bespoke loops: reproducibility is the default.

The Modelly loop: a scenario configures the model once; every tick the agents act, data is recorded and time advances; after the run the data is a DataFrame to visualize and analyze

Install

Modelly requires Python 3.12+ and is published on PyPI as modelly-abm.

python -m venv .venv && source .venv/bin/activate
pip install modelly-abm

Add extras for what you need:

pip install "modelly-abm[viz]"       # + solara, matplotlib, altair
pip install "modelly-abm[network]"   # + networkx
pip install "modelly-abm[rec]"       # network + viz: what the bundled examples need

To work on Modelly itself, install from a clone instead: see Development.

To depend on Modelly from your own project, add it to pyproject.toml (the distribution is modelly-abm, the import is modelly):

dependencies = ["modelly-abm>=1.3"]

The full walkthrough, from an empty folder to a tested and replicated model, is docs/using_modelly_in_your_project.md.

A model in 30 seconds

Agents wander a grid and hand one unit of wealth to a random cellmate. Inequality emerges. The same code ships as example.py.

from modelly import Model
from modelly.space import CellAgent, OrthogonalMooreGrid
from modelly.scenarios import Scenario


class WealthScenario(Scenario):
    """Everything that can vary between runs lives here."""

    n: int = 120
    width: int = 12
    height: int = 12


class MoneyAgent(CellAgent):
    def __init__(self, model, cell):
        super().__init__(model)
        self.cell = cell
        self.wealth = 1

    def step(self):
        self.cell = self.cell.neighborhood.select_random_cell()
        cellmates = [a for a in self.cell.agents if a is not self]
        if self.wealth > 0 and cellmates:
            self.random.choice(cellmates).wealth += 1
            self.wealth -= 1


class WealthModel(Model):
    def __init__(self, scenario: WealthScenario = WealthScenario):
        super().__init__(scenario=scenario)
        self.grid = OrthogonalMooreGrid(
            (scenario.width, scenario.height), random=self.random
        )
        MoneyAgent.create_agents(
            self,
            scenario.n,
            self.random.choices(self.grid.all_cells.cells, k=scenario.n),
        )

    def step(self):
        self.agents.shuffle_do("step")  # every agent, in random order

    @property
    def gini(self):
        x = sorted(a.wealth for a in self.agents)
        n = len(x)
        weighted = sum(xi * (n - i) for i, xi in enumerate(x))
        return 1 + 1 / n - 2 * weighted / (n * sum(x))


model = WealthModel()
for _ in range(100):
    model.step()

print(model.gini)  # 0.0 at the start, about 0.6 after 100 ticks

Three pieces, and nothing else: a scenario of inputs, agents that know one thing each, and a model that owns the world and advances it.

Record it, then look at it

from modelly.data.collector import DataCollector


class WealthModel(Model):
    def __init__(self, scenario: WealthScenario = WealthScenario):
        super().__init__(scenario=scenario)
        # ... grid and agents as above ...
        self.datacollector = DataCollector(
            model_reporters={"Gini": "gini"},  # anything reachable from the model
            agent_reporters={"Wealth": "wealth"},  # anything on each agent
        )

    def step(self):
        self.agents.shuffle_do("step")
        self.datacollector.collect(self)  # one row per tick
model_vars = model.datacollector.get_model_vars_dataframe()  # Gini per tick
agent_vars = model.datacollector.get_agent_vars_dataframe()  # wealth per agent per tick
agent_vars.groupby("Step")["Wealth"].mean().plot()

Both frames are plain pandas, so everything you already know how to do keeps working. Attribute reporters are gathered in C (operator.attrgetter), so a string reporter is the fast path, not just the convenient one.

Vectorise the bulk work

An agent-based model has two kinds of work: what one agent does in its step, which is Python by nature, and what the model does to all agents at once (aggregate, filter, record, update), which should be numpy. Declare a Column and the attribute lives in a model-owned array: the agent keeps reading and writing it as before, and the model gets a zero-copy view of everyone.

import numpy as np
from modelly import Agent, Column, Model


class MoneyAgent(Agent):
    wealth = Column(int, default=1)  # one numpy array for the whole class

    def step(self):
        other = self.random.choice(self.model.agents.to_list())
        if self.wealth > 0:  # per-agent access works as before
            other.wealth += 1
            self.wealth -= 1


class WealthModel(Model):
    @property
    def gini(self):
        x = np.sort(self.columns[MoneyAgent].wealth)  # view, no copy
        n = len(x)
        return 1 + 1 / n - 2 * np.sum(x * (n - np.arange(n))) / (n * x.sum())

    def tax(self):
        w = self.columns[MoneyAgent].wealth
        w[w > 10] -= 1  # bulk update, in place

    def rich(self):
        table = self.columns[MoneyAgent]
        return table.where(table.wealth > 10)  # an AgentSet

Nothing else changes: model.agents, shuffle_do, DataCollector and the examples work the same, and attribute reporters on a column are recorded straight from the array. Measured on 10,000 agents:

Operation Plain attribute Column
Gini coefficient 1.09 ms 0.03 ms
Count agents with wealth > 0 0.94 ms 0.008 ms
Mean wealth 0.47 ms 0.009 ms
Decrement every wealth > 5 0.15 ms 0.004 ms
DataCollector.collect, one reporter 0.95 ms 0.46 ms
One agent.wealth read inside step 6 ns 27 ns

The last row is the trade-off: use columns for attributes you aggregate, filter, record or update in bulk; a plain attribute is still the cheapest thing to touch inside step. In the Boltzmann example the object loop is unchanged within noise while the model-level work is 30x cheaper.

The whole population at once

Two more operations run over everyone in one call, so a model can move its population-wide phases out of the per-agent loop:

# A whole-population step for the sheep: decrement, die, reproduce, no per-agent loop.
table = self.columns[Sheep]
table.energy -= 1
table.remove_where(table.energy < 0)
table.do_where(table.draw(0.04), "spawn_offspring")  # one seeded draw per sheep

# Continuous space: one KD-tree answers the whole flock, same snapshot for all.
lists = self.space.neighbors_within(radius=5.0)
for boid in self.agents:
    boid.neighbors = lists[boid]

draw uses the model's seeded numpy generator, so the run stays reproducible. neighbors_within is O(n log n) for the whole flock instead of one O(n) scan per agent, is periodic on a torus, and is cached while no position changes. The Boids example uses it: 2,000 boids go from 98 ms to 42 ms per step.

Replications in parallel

from modelly.scenarios import RunConfiguration, run_scenarios

scenarios = WealthScenario(n=5000, rng=1).spawn_replications(32)  # 32 independent seeds
store = run_scenarios(scenarios, RunConfiguration(WealthModel, until=200), workers=8)

Each replication carries its own seed derived from the base scenario, so the sweep is reproducible; workers= spreads it over processes.

For a plain factorial experiment, run_grid is the one-call version: every combination times the replicates, each run with its own seed, results in design order whatever the number of workers, so the DataFrame is identical to the sequential loop's.

from modelly import run_grid


def season(task):  # a notebook function works: on Linux the workers are forked
    model = Orchard(budget=task["budget"], invasion=task["invasion"], rng=task["seed"])
    model.run_for(100)
    return {"harvested": model.harvested, "rotten": model.rotten}


results = run_grid(
    season, {"budget": [0, 150, 300, 600], "invasion": [3, 10, 30]}, replicates=3
)

Populations as cohorts

When individuals in the same state face the same probabilities (an insect's stage, age and sex), one row with a count replaces them all, and each per-individual draw becomes one binomial draw per row with exactly the same law. CohortTable holds such a population with no agent objects; the stage-structured playbook runs 213x faster than its individual Mesa version and agrees with it statistically.

from modelly import CohortTable

insects = CohortTable(model.rng, stage=np.int8, age=np.int16, female=bool)
insects.add(500, stage=EGG)
insects.thin(daily_survival[insects["stage"]])  # Binomial(count, s) per row
insects.split(0.5, where=emerging, stage=ADULT, female=True)  # sex at emergence
eggs = insects.draw(lay_prob, where=mature_females).sum() * clutch

Modelly, Mesa, NetLogo or Agents.jl?

Modelly Mesa NetLogo Agents.jl
Language Python Python NetLogo Julia
Authoring model Model, Agent, AgentSet, typed Scenario Model, Agent, AgentSet turtles, patches, links ABM, agent structs
Per-agent attributes in arrays Column: one numpy array per attribute, zero-copy views no no yes
Population-wide operations draw, do_where, remove_where, one KD-tree query per step per-agent loops built-in primitives vectorised
Time ticks, scheduled events, generators, priorities, hybrid ABM/DES ticks, events ticks ticks, events
Reproducibility one seed on the scenario, derived seeds per replication model seed run seed model RNG
Data out pandas, incremental frames pandas CSV, BehaviorSpace DataFrames.jl
Visualization Solara in the browser, matplotlib, altair Solara built-in GUI Makie
Moving from Mesa codemod plus a construct-by-construct guide – – –

Pick Modelly when you want Mesa's authoring model with numpy underneath, measured performance, and a scenario object that makes every run reproducible. Pick NetLogo for teaching and its GUI, Agents.jl when the rest of your stack is Julia.

Coming from Mesa

Modelly's authoring model is the one Mesa 3 users know (Model, Agent, AgentSet, DataCollector), with one grid system and no schedulers. A codemod does the mechanical part of a move and reports the rest, each line pointing at a section of the guide:

python -m modelly.migrate path/to/your/model/          # dry run: diff plus report
python -m modelly.migrate path/to/your/model/ --write  # apply the rewrites

It rewrites imports to the domain-package paths (modelly.space, modelly.time, modelly.data, modelly.batch, modelly.viz), agent constructors and scheduler attributes, and flags scheduler classes, legacy grid calls, batch_run, simulators and seed= for you to decide. The construct-by-construct map, for Mesa 2.x and 3.x, is docs/migrating_from_mesa.md.

Checking a model

A static check finds the bugs that break reproducibility (random draws outside the model's generators, wall-clock values, a missing super().__init__, loops over sets) and the loops that make a step O(N²) (an agent scanning self.model.agents, nested population loops):

python -m modelly.lint path/to/your/model/   # exits 1 on findings, so it works in CI
python -m modelly.lint --explain MDL101      # why a rule matters, with a fix
python -m modelly.lint --diff src/           # the safe fixes (MDL001, 002, 003, 009) as a diff
python -m modelly.lint --fix src/            # apply them, then report what is left

A new project starts clean: modelly new my-model --template grid (or network, continuous, cohort) writes a package with a seeded scenario, an agent and a model, a determinism test, the lint settings and a README with an ODD outline. See docs/new_project.md. In Jupyter, %load_ext modelly.ipython adds %modelly lint and %modelly profile, and a model displays its scenario, time and population by agent class.

Every tool is also one command: python -m modelly --help (or modelly --help once installed) lists them, and modelly lint src/ is python -m modelly.lint src/. Every rule, with the fix, is in docs/lint.md.

Its runtime companion runs the model and shows where each step's time goes: every AgentSet.do / shuffle_do call by agent class and method, with its cost per agent, DataCollector.collect, scheduled events, births and deaths, plus hints that point at lint codes:

python -m modelly.profile path/to/model.py:MyModel --steps 100 --param n=5000

From Python, with modelly.profile.Profiler(model) as prof: model.run_for(100), then prof.report() or prof.to_dataframe(). See docs/profile.md.

Checkpoints

A long run can be saved and resumed bit for bit, in the same process or a new one:

model.run_for(50)
model.save("run.ckpt")  # agents, spaces, events, data, both generators
model = WolfSheep.load("run.ckpt")  # only load files you trust: it is a pickle
model.run_for(50)  # identical to running 100 steps in one go
model.checkpoint_every(100, "run-{time:05.0f}.ckpt")

See docs/checkpoints.md.

Architecture

Modelly architecture

  • Scenario to Model. Inputs enter through one typed object; the model owns state, seed, RNG and time.
  • Model to AgentSet / Space / Time. Agents live in sets, act inside some space, and are driven by the scheduler.
  • Model to Dataset. Reporters sample the model and its agents on intervals you choose.
  • Dataset to Visualize / Analyze / Reproduce. Same data, three exits: a browser app, a dataframe, or a seeded re-run.

Package layout

One package per domain; each __init__.py lists its public names in __all__.

Package What it holds
modelly.core Agent, Model, AgentSet, Column, FastRandom, exceptions
modelly.space cells, orthogonal and hex grids, networks, Voronoi, property layers, continuous space (modelly.space.continuous)
modelly.time Schedule, events, event generators, priorities, signals (modelly.time.signals)
modelly.data DataCollector, reporters, dataset recorders (modelly.data.recorders)
modelly.behaviour timed actions (actions), continuous states and thresholds (states), meta-agents (meta_agents)
modelly.scenarios Scenario, RunConfiguration, run_scenarios, result stores
modelly.batch run_batch, run_grid, CohortTable
modelly.viz Solara app, space renderer, matplotlib and altair backends, command console
modelly.lint python -m modelly.lint, static checks for models
modelly.profile python -m modelly.profile and Profiler, where a running model's time goes
modelly.migrate python -m modelly.migrate, the Mesa codemod
modelly._native the compiled modules (fastrng.c, fastloop.c), each with a pure-Python twin

The top-level names (modelly.Agent, modelly.Model, modelly.DataCollector, modelly.Column, modelly.CohortTable, modelly.FastRandom, modelly.run_batch, modelly.run_grid) import from modelly directly.

How the engine stays fast

The data structures are chosen for the operations a simulation actually performs, and each choice is backed by a measurement in docs/performance.md.

Structure Backed by Why
AgentSet (every view) ordered dict keyed on weakref.ref O(1) membership and removal, stable order for reproducible shuffles, no zombie agents; half the cost of WeakKeyDictionary
model.agents (the registry) ordered dict keyed on the agent Strong references where the lifecycle is explicit; views downgrade to weak sets in one place
Cell.agents list Cells hold a handful of agents; append and remove beat any indexed structure at that size
Cell neighbourhoods per-cell dict cache One lookup per query; invalidating one cell never touches another, and a discarded grid is freed
Empty cells in any discrete space swap-remove list + index O(1) random empty cell at any fill level, built lazily the first time a space turns out to be dense
Property layers np.ndarray per layer Vectorised updates on the array, per-cell accessors on the cells, one source of truth
Continuous space one np.ndarray of positions, one KD-tree per step Per-agent queries are numpy; neighbors_within answers the whole population in one periodic tree query
Event queue heapq with lazy cancellation and compaction O(log n) scheduling that never degrades under repeated cancel/reschedule

Benchmarks

Two questions, two methods, both in the repository.

Same code on both frameworks. A research notebook written for Mesa 2.3, ported with the codemod and nothing else changed, identical seeds, outputs checked bit-identical, CPU time pinned and alternating: with its compiled random core Modelly is 12% faster than Mesa 2.3 (paired runs at 0.877 to 0.884 of Mesa's time, identical output in every chunk). With the pure-Python FastRandom it is 1.3 to 3.8% faster, and 1.5 to 2% behind with the standard library's generator. The method and every round are in docs/performance.md.

Same model, each framework's own idiom. benchmarks/playbooks/ holds eight models written twice: for Mesa 2.3 the way its API intends, and for Modelly with columns, vectorised phases, CellIndex and one KD-tree per step. The runner executes both in their own environments, pinned to one core, alternating rounds, checks that the implementations agree in distribution (Welch's t-test over shared seeds, every statistic) and that each is deterministic. CPU seconds of the steps at the large size, median of three rounds, this machine:

Playbook Agents Mesa 2.3 Modelly Speed-up
Grid epidemic (SIR, random walk, synchronous) 20,000 11.54 s 0.21 s 56x
Predator-prey with grass (births and deaths every step) ~5,500 3.90 s 0.47 s 8.3x
Flocking in continuous space 4,000 27.91 s 0.72 s 39x
Virus on a random network 30,000 8.70 s 0.20 s 44x
Stage-structured insect population, individuals ~26,000 2.83 s 0.65 s 4.3x
Same population as a CohortTable (binomial thinning) ~26,000 2.83 s 0.013 s 213x
Schelling segregation (moves to random empty cells) ~32,000 3.23 s 0.12 s 27x
Boltzmann wealth exchange, Gini by a DataCollector 10,000 1.51 s 0.20 s 7.4x
Sugarscape, constant growback (vision, best sugar in sight) 1,600 to ~680 5.57 s 0.18 s 32x

Where Modelly keeps Mesa's data structure (agents held in cell lists, modelly-cells in the results) the gap closes to 1.4 to 1.9x on the epidemic and predator-prey models: the layout is where the time is, not the interpreter. (Schelling and Sugarscape with cell lists stay 15x and 6.3x ahead, from the O(1) empty-cell index and cached neighbourhoods.) Every vectorised phase rests on a stated equivalence argument, in docs/vectorised_phases.md; the full tables with the agreement checks are in benchmarks/playbooks/results/README.md.

Future roadmap

What is shipped: columns, vectorised step phases (draw, do_where, remove_where), one KD-tree query for a whole continuous population, an O(1) empty-cell index on every discrete space, process-pool replications, incremental data frames, and compiled do / shuffle_do loops and neighbourhood walk (modelly/_native/fastloop.c). What comes next, in order of expected impact; each item keeps today's authoring model, you still write a Model, an Agent subclass and a Scenario:

  1. Vectorised movement on grids. A coordinate column plus a vectorised neighbourhood lookup, so a grid model can move its whole population in one numpy operation.
  2. Shared-memory replications. Fan a sweep over one large model out to processes without copying the column store.
  3. Compiled cell moves. An optional compiled path for the cell move, the last Python-bound cost of a per-agent step now that the agent-set loops and the neighbourhood walk are compiled.
  4. Live dashboards. The incremental data frame is the first piece; a streaming view that updates per tick without re-reading history is the next.

Built-in examples

Real, runnable models that ship with the package, good reading material for the patterns above.

Model Shows Path
Boltzmann Wealth Money exchange on a grid, emerging inequality modelly/examples/basic/boltzmann_wealth_model
Schelling Segregation from local tolerance thresholds modelly/examples/basic/schelling
Conway's Game of Life Cellular automaton, cell-state transitions modelly/examples/basic/conways_game_of_life
Virus on Network SIR epidemic on a contact network modelly/examples/basic/virus_on_network
Boid Flockers Continuous space, alignment and cohesion modelly/examples/basic/boid_flockers
Wolf Sheep Predator and prey ecology on a grid modelly/examples/advanced/wolf_sheep
Sugarscape G1MT Resource harvesting, trade and growth modelly/examples/advanced/sugarscape_g1mt
Epstein Civil Violence Regime shifts from agent state modelly/examples/advanced/epstein_civil_violence
Prisoner's Dilemma Pairwise strategic interaction modelly/examples/advanced/pd_grid
Alliance Formation Network structure and group formation modelly/examples/advanced/alliance_formation

Run one:

solara run modelly/examples/basic/boltzmann_wealth_model/app.py   # browser UI

Documentation

Where What
Documentation site remipelloux.github.io/Modelly: everything below, rendered and searchable
Use it in your project docs/using_modelly_in_your_project.md: install, layout, model, data, replications
Migrating from Mesa docs/migrating_from_mesa.md: construct-by-construct map, plus python -m modelly.migrate
Tutorials docs/tutorials/: 12 notebooks, from your first model to hybrid ABM/DES
Overview docs/overview.md: the object model, end to end
Performance audit docs/performance.md: measurements, what changed, what is next
Best practices docs/best-practices.md
Starting a project docs/new_project.md: modelly new and its templates
Checking a model docs/lint.md: the python -m modelly.lint rules, --fix and --diff
Profiling a model docs/profile.md: python -m modelly.profile, the report and its hints
Checkpoints docs/checkpoints.md: save a run, resume it bit for bit
API reference docs/apis/: agents, agent sets, columns, model, space, time, data, migrate
Changelog CHANGELOG.md: what each release added, changed and fixed

The tutorials are executable: open them locally, in Colab, or through Binder (links at the top of each notebook).

Development

git clone https://github.com/RemiPelloux/Modelly.git && cd Modelly
pip install -e ".[dev]"
bash scripts/ci-local.sh          # lint, format, tests, size audit: the same gate as CI
bash scripts/ci-local.sh --list   # stage names, run a subset with: ci-local.sh lint test
python -m modelly.dev gate        # the same gate without bash: Windows, macOS and Linux
bash scripts/build-native.sh      # compile modelly/_native in place; MODELLY_PURE_PYTHON=1 forces the Python twins

The coverage badge at the top of this page is produced by that gate: the test stage measures coverage and rewrites docs/images/badges/coverage.svg, so commit the badge with your change.

Code discipline is written down in pelloux-guidelines.md: small files, short functions, surgical changes, conventional commits. scripts/audit-pelloux.sh enforces the size limits against pelloux-baseline.json; legacy oversized files are listed there and may shrink but never grow. The repository layout and how the brand assets are generated are in CONTRIBUTING.md.

Contributing

Issues, ideas and pull requests are welcome on the issue tracker. If you are adding a feature, opening a ticket first is the fastest route: it keeps the patch small and reviewable.

Everything you need is in CONTRIBUTING.md: local setup, tests, the lint and format commands CI runs, docs, and how a pull request is reviewed. By taking part you agree to our Code of Conduct.

Citing

If Modelly contributes to a publication, cite it with the metadata in CITATION.cff (GitHub shows a "Cite this repository" button that formats it for you).

License

Modelly is released under the Apache License 2.0. Third-party attribution is recorded in NOTICE.

Modelly: build the system, run the world, watch what emerges.

Metadata

Release files for modelly-abm 1.3.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 modelly-abm 1.3.0
File Size Uploaded Provenance
modelly_abm-1.3.0.tar.gz 2.2 MB With provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for modelly-abm 1.3.0
File
modelly_abm-1.3.0-py3-none-any.whl Python 3 none any Details
modelly_abm-1.3.0-cp315-cp315t-win_arm64.whl CPython 3.15 CPython 3.15 free-threading Windows ARM64 Details
modelly_abm-1.3.0-cp315-cp315t-win_amd64.whl CPython 3.15 CPython 3.15 free-threading Windows x86-64 Details
modelly_abm-1.3.0-cp315-cp315t-musllinux_1_2_x86_64.whl CPython 3.15 CPython 3.15 free-threading Linux musl 1.2+ x86-64 Details
modelly_abm-1.3.0-cp315-cp315t-musllinux_1_2_aarch64.whl CPython 3.15 CPython 3.15 free-threading Linux musl 1.2+ ARM64 Details
modelly_abm-1.3.0-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.15 CPython 3.15 free-threading Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
modelly_abm-1.3.0-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.15 CPython 3.15 free-threading Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details
modelly_abm-1.3.0-cp315-cp315t-macosx_11_0_arm64.whl CPython 3.15 CPython 3.15 free-threading macOS 11.0+ ARM64 Details
modelly_abm-1.3.0-cp315-cp315t-macosx_10_15_x86_64.whl CPython 3.15 CPython 3.15 free-threading macOS 10.15+ x86-64 Details
modelly_abm-1.3.0-cp315-cp315-win_arm64.whl CPython 3.15 CPython 3.15 Windows ARM64 Details
modelly_abm-1.3.0-cp315-cp315-win_amd64.whl CPython 3.15 CPython 3.15 Windows x86-64 Details
modelly_abm-1.3.0-cp315-cp315-musllinux_1_2_x86_64.whl CPython 3.15 CPython 3.15 Linux musl 1.2+ x86-64 Details
modelly_abm-1.3.0-cp315-cp315-musllinux_1_2_aarch64.whl CPython 3.15 CPython 3.15 Linux musl 1.2+ ARM64 Details
modelly_abm-1.3.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.15 CPython 3.15 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
modelly_abm-1.3.0-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.15 CPython 3.15 Linux glibc 2.28+ ARM64, Linux glibc 2.17+ ARM64 Details
modelly_abm-1.3.0-cp315-cp315-macosx_11_0_arm64.whl CPython 3.15 CPython 3.15 macOS 11.0+ ARM64 Details
modelly_abm-1.3.0-cp315-cp315-macosx_10_15_x86_64.whl CPython 3.15 CPython 3.15 macOS 10.15+ x86-64 Details
modelly_abm-1.3.0-cp314-cp314t-win_arm64.whl CPython 3.14 CPython 3.14 free-threading Windows ARM64 Details
modelly_abm-1.3.0-cp314-cp314t-win_amd64.whl CPython 3.14 CPython 3.14 free-threading Windows x86-64 Details
modelly_abm-1.3.0-cp314-cp314t-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64 Details
modelly_abm-1.3.0-cp314-cp314t-musllinux_1_2_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ ARM64 Details
modelly_abm-1.3.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
modelly_abm-1.3.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details
modelly_abm-1.3.0-cp314-cp314t-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64 Details
modelly_abm-1.3.0-cp314-cp314t-macosx_10_15_x86_64.whl CPython 3.14 CPython 3.14 free-threading macOS 10.15+ x86-64 Details
modelly_abm-1.3.0-cp314-cp314-win_arm64.whl CPython 3.14 CPython 3.14 Windows ARM64 Details
modelly_abm-1.3.0-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
modelly_abm-1.3.0-cp314-cp314-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ x86-64 Details
modelly_abm-1.3.0-cp314-cp314-musllinux_1_2_aarch64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ ARM64 Details
modelly_abm-1.3.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
modelly_abm-1.3.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details
modelly_abm-1.3.0-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
modelly_abm-1.3.0-cp314-cp314-macosx_10_15_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.15+ x86-64 Details
modelly_abm-1.3.0-cp313-cp313-win_arm64.whl CPython 3.13 CPython 3.13 Windows ARM64 Details
modelly_abm-1.3.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
modelly_abm-1.3.0-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details
modelly_abm-1.3.0-cp313-cp313-musllinux_1_2_aarch64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ ARM64 Details
modelly_abm-1.3.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
modelly_abm-1.3.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ ARM64, Linux glibc 2.17+ ARM64 Details
modelly_abm-1.3.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
modelly_abm-1.3.0-cp313-cp313-macosx_10_13_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.13+ x86-64 Details
modelly_abm-1.3.0-cp312-cp312-win_arm64.whl CPython 3.12 CPython 3.12 Windows ARM64 Details
modelly_abm-1.3.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
modelly_abm-1.3.0-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details
modelly_abm-1.3.0-cp312-cp312-musllinux_1_2_aarch64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ ARM64 Details
modelly_abm-1.3.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
modelly_abm-1.3.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details
modelly_abm-1.3.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
modelly_abm-1.3.0-cp312-cp312-macosx_10_13_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.13+ x86-64 Details

Total release size: 42.7 MB

Release files / modelly_abm-1.3.0.tar.gz

Download URL modelly_abm-1.3.0.tar.gz
Size 2.2 MB
Tags Source
SHA-256 checksum
How to use checksums
1ff330c18b682873cd3011b52a366af36312bd983e943e0c552f8395bafba015
BLAKE2b-256 checksum
How to use checksums
61c93cad4dc0e52af3a5332483e27596e922f3795e3075c87c0b3a15676663ab
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 24, 2026.

Transparency log

Release files / modelly_abm-1.3.0-py3-none-any.whl

Download URL modelly_abm-1.3.0-py3-none-any.whl
Size 791.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2e88790383a45cfd9c8f469ef6a87dd140ccacd3742064029ba4db64d44c8449
BLAKE2b-256 checksum
How to use checksums
a731ceab7feaf5b13a0f36b2cd1e4321368d0d82297a3ab393b35ad629728ccd
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 24, 2026.

Transparency log

Release files / modelly_abm-1.3.0-cp315-cp315t-win_arm64.whl

Download URL modelly_abm-1.3.0-cp315-cp315t-win_arm64.whl
Size 820.1 kB
Tags CPython 3.15 CPython 3.15 free-threading Windows ARM64
SHA-256 checksum
How to use checksums
47a279dcdffe6f014d732fd23d8f9727957ddc78c43e1d5effc6bb31543a77c0
BLAKE2b-256 checksum
How to use checksums
a67e67238cbbb149df8698a0afa6dcdf3dec946aba091374fe8e63aa9d3fc267
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 24, 2026.

Transparency log

Release files / modelly_abm-1.3.0-cp315-cp315t-win_amd64.whl

Download URL modelly_abm-1.3.0-cp315-cp315t-win_amd64.whl
Size 820.5 kB
Tags CPython 3.15 CPython 3.15 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
844b1258511bbc6b58bcaa299c56f81c6799b8da6cd5f8b3da45848bbdbedd66
BLAKE2b-256 checksum
How to use checksums
3857849546049991b30af411e7176db18cb71dd55b4c03e6cda1b3529aa3550e
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 24, 2026.

Transparency log

Release files / modelly_abm-1.3.0-cp315-cp315t-musllinux_1_2_x86_64.whl

Download URL modelly_abm-1.3.0-cp315-cp315t-musllinux_1_2_x86_64.whl
Size 832.7 kB
Tags CPython 3.15 CPython 3.15 free-threading Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
03facb752038e32b9bf581169693f86f2b2261aecce384c3808136397c1c754c
BLAKE2b-256 checksum
How to use checksums
653ddda616e9564f105fd522c3ced2840585f92823e213372d59a4fc05f7d1a5
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 24, 2026.

Transparency log

Release files / modelly_abm-1.3.0-cp315-cp315t-musllinux_1_2_aarch64.whl

Download URL modelly_abm-1.3.0-cp315-cp315t-musllinux_1_2_aarch64.whl
Size 837.0 kB
Tags CPython 3.15 CPython 3.15 free-threading Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
8158e084e65db5552741bf64b920ce305b5e970dd87731f70e5417cf311ecb3d
BLAKE2b-256 checksum
How to use checksums
f810ffd125e273587ca04743bcd9bb4e46707e26c6704f1e3258d783c52ddec3
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 24, 2026.

Transparency log

Release files / modelly_abm-1.3.0-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL modelly_abm-1.3.0-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 831.3 kB
Tags CPython 3.15 CPython 3.15 free-threading Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
5eaaacbdc2107ed0454b5d30c581ac6d792eb9b0cdb3dc6b37a65019656a6b21
BLAKE2b-256 checksum
How to use checksums
68c4d593b3f481af39a06003c10123fb0e3207c035ddff37648850a805c4689c
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 24, 2026.

Transparency log

Release files / modelly_abm-1.3.0-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL modelly_abm-1.3.0-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 837.4 kB
Tags CPython 3.15 CPython 3.15 free-threading Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
441bb32661030745dc89369c3d07e70f08ac7df49559fd711326e20e08f4e4f7
BLAKE2b-256 checksum
How to use checksums
774900290a2f361310776b5abc732174f4800230e4fd611fe643924ea81450a1
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 24, 2026.

Transparency log

Release files / modelly_abm-1.3.0-cp315-cp315t-macosx_11_0_arm64.whl

Download URL modelly_abm-1.3.0-cp315-cp315t-macosx_11_0_arm64.whl
Size 840.7 kB
Tags CPython 3.15 CPython 3.15 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
fb3c54a5d4191ba307cd29c3b9a8971fae247f32101aede7db752f507bf0ba8b
BLAKE2b-256 checksum
How to use checksums
6d3527e1aaf04f082f755d2e2d4644872c17ed1719e41fa5c648c132c23c6a44
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 24, 2026.

Transparency log

Release files / modelly_abm-1.3.0-cp315-cp315t-macosx_10_15_x86_64.whl

Download URL modelly_abm-1.3.0-cp315-cp315t-macosx_10_15_x86_64.whl
Size 822.2 kB
Tags CPython 3.15 CPython 3.15 free-threading macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
f707118f9f2f65bfee6746ba1ae0e952cfc7eca7e92be763ed9c99dacbe98b8f
BLAKE2b-256 checksum
How to use checksums
bb84a54d1cc5882b036f3406901dfa00982fa3ce1bdb194fc62583fa527c4ec0
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 24, 2026.

Transparency log

Release files / modelly_abm-1.3.0-cp315-cp315-win_arm64.whl

Download URL modelly_abm-1.3.0-cp315-cp315-win_arm64.whl
Size 818.3 kB
Tags CPython 3.15 Windows ARM64
SHA-256 checksum
How to use checksums
7487c4588ff36ba840dbbf02b8581e2782c9ec65ac642fa6f250df5959cfc751
BLAKE2b-256 checksum
How to use checksums
2e28cccc4cf7059acb68501a842db45d3e5eaa017e0bbb104b9637f1a7f57f74
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 24, 2026.

Transparency log

Release files / modelly_abm-1.3.0-cp315-cp315-win_amd64.whl

Download URL modelly_abm-1.3.0-cp315-cp315-win_amd64.whl
Size 818.8 kB
Tags CPython 3.15 Windows x86-64
SHA-256 checksum
How to use checksums
a0d1c5e461e7a179bdc1f8636785e88e2fd91556ce0114298ba498a03f5708c3
BLAKE2b-256 checksum
How to use checksums
fb505801d368af7831162783acb1848fe070b786681f92b5217a5828f0b0d5d6
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 24, 2026.

Transparency log

Release files / modelly_abm-1.3.0-cp315-cp315-musllinux_1_2_x86_64.whl

Download URL modelly_abm-1.3.0-cp315-cp315-musllinux_1_2_x86_64.whl
Size 830.4 kB
Tags CPython 3.15 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
022db766179b40e216c1a29c6cb10c1216918e8cccb4f89996ae42198f2ae363
BLAKE2b-256 checksum
How to use checksums
885d2083e30399b24d9de870c912da2d6a889cf02afe49bda2215f958291aeff
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 24, 2026.

Transparency log

Release files / modelly_abm-1.3.0-cp315-cp315-musllinux_1_2_aarch64.whl

Download URL modelly_abm-1.3.0-cp315-cp315-musllinux_1_2_aarch64.whl
Size 833.7 kB
Tags CPython 3.15 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
033d0d00ce844cf4583b6267aa2e381f2c1b91488667103ed66d8120b58f1c0d
BLAKE2b-256 checksum
How to use checksums
bb06bc5c806c9329c5240109d7b63b2b1a373192ee51e4f82ee25dc84e766c27
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 24, 2026.

Transparency log

Release files / modelly_abm-1.3.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL modelly_abm-1.3.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 829.1 kB
Tags CPython 3.15 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
3203d2044d2d3c12838e1f03429291b534a60e65a179c8313006d6c779bd7ae6
BLAKE2b-256 checksum
How to use checksums
9ce741c8977db9044b4649ed9be93300e6d5b46970e68fe97e1969b601a56ded
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 24, 2026.

Transparency log

Release files / modelly_abm-1.3.0-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL modelly_abm-1.3.0-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 833.4 kB
Tags CPython 3.15 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
61c7c9b85c5f29a835ce8d0b5062b57e25713f405bb04180b6846ab29d1168f2
BLAKE2b-256 checksum
How to use checksums
0892aac051dfc5ccba1e29fd7922f157a1894771fa637f1d2a4d0021b5a49d67
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 24, 2026.

Transparency log

Release files / modelly_abm-1.3.0-cp315-cp315-macosx_11_0_arm64.whl

Download URL modelly_abm-1.3.0-cp315-cp315-macosx_11_0_arm64.whl
Size 838.3 kB
Tags CPython 3.15 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
2db7ba1d67ef223701167090b88afdc683ef26e038b84c0823b9e40de6888607
BLAKE2b-256 checksum
How to use checksums
1d6ffa4cbb1bc9d1dafd3e64694431a3c1bb30f43e10dd9011fe193e2ee0c574
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 24, 2026.

Transparency log

Release files / modelly_abm-1.3.0-cp315-cp315-macosx_10_15_x86_64.whl

Download URL modelly_abm-1.3.0-cp315-cp315-macosx_10_15_x86_64.whl
Size 821.1 kB
Tags CPython 3.15 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
ba4bf9725b19633f14f7561aa7d255c9d4afc902849e38824cc60fe45b353ed6
BLAKE2b-256 checksum
How to use checksums
b6c0cee4e341092f5ae87415c2d1bd41206dcbf3a08a800252d876cc137fe14f
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 24, 2026.

Transparency log

Release files / modelly_abm-1.3.0-cp314-cp314t-win_arm64.whl

Download URL modelly_abm-1.3.0-cp314-cp314t-win_arm64.whl
Size 820.1 kB
Tags CPython 3.14 CPython 3.14 free-threading Windows ARM64
SHA-256 checksum
How to use checksums
68894d55715afe1b77ff37fafd40871fdc547ec8daee189ad5da72316b35bf50
BLAKE2b-256 checksum
How to use checksums
1002b1712b7cecf79e1a42154f905fefb48fcc834ae93d3e5e3a1e5adca5102f
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 24, 2026.

Transparency log

Release files / modelly_abm-1.3.0-cp314-cp314t-win_amd64.whl

Download URL modelly_abm-1.3.0-cp314-cp314t-win_amd64.whl
Size 820.5 kB
Tags CPython 3.14 CPython 3.14 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
eadad09b984a05b327ef8c6c6e371cf29a85533775558ae3e16118df80fccdfb
BLAKE2b-256 checksum
How to use checksums
65b0072d12af94a117a2f9570655e2c0608a48fdff5ccf3d7e427f59a77d491f
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 24, 2026.

Transparency log

Release files / modelly_abm-1.3.0-cp314-cp314t-musllinux_1_2_x86_64.whl

Download URL modelly_abm-1.3.0-cp314-cp314t-musllinux_1_2_x86_64.whl
Size 832.8 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
1432611ea38c7f9a74264de93679fbea0024fcba3999d64a81d30fde17a3f4a4
BLAKE2b-256 checksum
How to use checksums
038dcd92d96cba76f204e22e81d37049bfb8eb60683e6092cfed831b70633ae5
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 24, 2026.

Transparency log

Release files / modelly_abm-1.3.0-cp314-cp314t-musllinux_1_2_aarch64.whl

Download URL modelly_abm-1.3.0-cp314-cp314t-musllinux_1_2_aarch64.whl
Size 837.1 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
37038b182c99ed9024c786d15d013d365b942f94d84eced227df8529b7705474
BLAKE2b-256 checksum
How to use checksums
717fbee81339391dd036338f9b97b3f1f46aceecfe4724dfdbc81be5f19a6a04
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 24, 2026.

Transparency log

Release files / modelly_abm-1.3.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL modelly_abm-1.3.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 831.5 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
a7846bd8041ecac93c41a12b11aef6162a9421faa0c3984db8b679ccf4af6f32
BLAKE2b-256 checksum
How to use checksums
889d33f8a031bf5c6ce9dee6d51d6b3f13c17951b7fdfd16ce110364c2a6aef7
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 24, 2026.

Transparency log

Release files / modelly_abm-1.3.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL modelly_abm-1.3.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 837.5 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
776f27bc73d324f2e97bac347982980ab230e3b0d0af9a58cb38db10b156ff6c
BLAKE2b-256 checksum
How to use checksums
17193089e220a7f19e6e418a6d06008dbb35c1e644b7ef512841f85126246de4
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 24, 2026.

Transparency log

Release files / modelly_abm-1.3.0-cp314-cp314t-macosx_11_0_arm64.whl

Download URL modelly_abm-1.3.0-cp314-cp314t-macosx_11_0_arm64.whl
Size 841.2 kB
Tags CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
5ec2e5e4699ea6d045f2b48fa2bef48584c8e5cb83fa84a3018f6d978cc10272
BLAKE2b-256 checksum
How to use checksums
57a9d5cce1ac9a4eb0dc4bfa6bf616dc4272144eb00dfa80ec0b45ba693c45ef
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 24, 2026.

Transparency log

Release files / modelly_abm-1.3.0-cp314-cp314t-macosx_10_15_x86_64.whl

Download URL modelly_abm-1.3.0-cp314-cp314t-macosx_10_15_x86_64.whl
Size 822.5 kB
Tags CPython 3.14 CPython 3.14 free-threading macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
697b8ca3cd10523156d97c217b62160da547781f04659599c3bbebfc4a574a88
BLAKE2b-256 checksum
How to use checksums
0e9f13b01124e64f55bfb78ae9eb5d38bf1daf4661c8f3c0531559e2b978df88
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 24, 2026.

Transparency log

Release files / modelly_abm-1.3.0-cp314-cp314-win_arm64.whl

Download URL modelly_abm-1.3.0-cp314-cp314-win_arm64.whl
Size 818.3 kB
Tags CPython 3.14 Windows ARM64
SHA-256 checksum
How to use checksums
74bf7727f84a8ee0d5faede4ff3b621c8e506884cd1ae881a3a935fdec800650
BLAKE2b-256 checksum
How to use checksums
6e482179115099d8eec7fb521fe1a074e6519cc4e67a500474699cad0d46ea35
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 24, 2026.

Transparency log

Release files / modelly_abm-1.3.0-cp314-cp314-win_amd64.whl

Download URL modelly_abm-1.3.0-cp314-cp314-win_amd64.whl
Size 818.9 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
d08a65aa0a86131ca2e3ff24b064de8414d3bdfa6920a0cca43526042f03052d
BLAKE2b-256 checksum
How to use checksums
f8c1f7a42f83dbfc9bf71ca8dc2619a7b54fca77df28366acd2f66456670b43e
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 24, 2026.

Transparency log

Release files / modelly_abm-1.3.0-cp314-cp314-musllinux_1_2_x86_64.whl

Download URL modelly_abm-1.3.0-cp314-cp314-musllinux_1_2_x86_64.whl
Size 830.4 kB
Tags CPython 3.14 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
92c70e3bf00df544e155bb8e5cea359c58af61b4e8ed5b9a707a0c6fc897e7a7
BLAKE2b-256 checksum
How to use checksums
fcecee014b791f19a2286b476a6e99fe2c3eb4eb63d74fab6313aea375152838
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 24, 2026.

Transparency log

Release files / modelly_abm-1.3.0-cp314-cp314-musllinux_1_2_aarch64.whl

Download URL modelly_abm-1.3.0-cp314-cp314-musllinux_1_2_aarch64.whl
Size 833.6 kB
Tags CPython 3.14 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
670b00eeb0f07f95cbaa3eb0dcfa08540d91872b023051a8de22b6ccbece6abf
BLAKE2b-256 checksum
How to use checksums
4c642e6c00c16e9ce911a49b181a2d9418edf5741eaabb8cb933f3b3b0d3dc18
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 24, 2026.

Transparency log

Release files / modelly_abm-1.3.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL modelly_abm-1.3.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 829.1 kB
Tags CPython 3.14 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
f3597b6972eb20f656eb2c0511047df0bc57068023667387a362f4977366e9df
BLAKE2b-256 checksum
How to use checksums
1dd0d1307891ac61b7af1ef5cc2eb961feb8e7da4b7a353c8e66401888308931
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 24, 2026.

Transparency log

Release files / modelly_abm-1.3.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL modelly_abm-1.3.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 833.4 kB
Tags CPython 3.14 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
4b1487030fa0edcb8fb4f7fa710112f2f5ca8ca9b5f56a28bea32b6b45642f30
BLAKE2b-256 checksum
How to use checksums
086e23dbd9d580bbeb21b850be20330b2b7b3676225ac0d164cf737d1fb342a7
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 24, 2026.

Transparency log

Release files / modelly_abm-1.3.0-cp314-cp314-macosx_11_0_arm64.whl

Download URL modelly_abm-1.3.0-cp314-cp314-macosx_11_0_arm64.whl
Size 838.2 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
d988d1254c867439f11ed4f92d983e1113ae4a8dd109e203d04b83bbe1a36995
BLAKE2b-256 checksum
How to use checksums
8f7d19329de7e8198c4b845aff2d83110a699a51a774ff425fd2ea31558b8c22
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 24, 2026.

Transparency log

Release files / modelly_abm-1.3.0-cp314-cp314-macosx_10_15_x86_64.whl

Download URL modelly_abm-1.3.0-cp314-cp314-macosx_10_15_x86_64.whl
Size 821.1 kB
Tags CPython 3.14 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
879c08e2d1dffb6509e0c2bb97064133527aaf8a42982ce0ad99b86518e35b6b
BLAKE2b-256 checksum
How to use checksums
b0998852c1ffd8e1fdbd9f05eeebea7e31beb41a772d74e637cbff72dd401935
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 24, 2026.

Transparency log

Release files / modelly_abm-1.3.0-cp313-cp313-win_arm64.whl

Download URL modelly_abm-1.3.0-cp313-cp313-win_arm64.whl
Size 818.8 kB
Tags CPython 3.13 Windows ARM64
SHA-256 checksum
How to use checksums
5d9e1a77b6cfc9b4b1ed59b4efb15931b4e566978dbb3ecbb78ee7beccce72ff
BLAKE2b-256 checksum
How to use checksums
4dfc84d01fa3a45049911f8c53caae5aee39eb9f25902ed8245189353f95c335
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 24, 2026.

Transparency log

Release files / modelly_abm-1.3.0-cp313-cp313-win_amd64.whl

Download URL modelly_abm-1.3.0-cp313-cp313-win_amd64.whl
Size 819.4 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
5867cb51153c983af590e4d57420369f63249e77d93a33aa92f3188d5952e802
BLAKE2b-256 checksum
How to use checksums
053878d9f974e6e88c342c53cf62df19635ed6fbc92359136fcf7ef1cce01816
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 24, 2026.

Transparency log

Release files / modelly_abm-1.3.0-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL modelly_abm-1.3.0-cp313-cp313-musllinux_1_2_x86_64.whl
Size 830.4 kB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
2a51de648fcfc0461c9dd3893b259ad1f74e6dacbac3668fada7c8a4f0cd40af
BLAKE2b-256 checksum
How to use checksums
2392b9dad309003c29cb4da0a648e2ee65142a89191aa6374d1ef1e3a2b8f168
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 24, 2026.

Transparency log

Release files / modelly_abm-1.3.0-cp313-cp313-musllinux_1_2_aarch64.whl

Download URL modelly_abm-1.3.0-cp313-cp313-musllinux_1_2_aarch64.whl
Size 833.2 kB
Tags CPython 3.13 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
642c66eaece26e8168f74294e03eb6b1472c664b770797da8e5c3b6f7930f6ac
BLAKE2b-256 checksum
How to use checksums
d4b78485eb5837d28a503fa74a6e96326f7cc55b1a0ad7e0a8bfd67f43338eef
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 24, 2026.

Transparency log

Release files / modelly_abm-1.3.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL modelly_abm-1.3.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 829.1 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
927cbb5f8c96a7cd6997f9f4012f57029195a82abf58a31e71f08146260adabd
BLAKE2b-256 checksum
How to use checksums
290e27929e80bc121f8417318151a15395da7d7cb500d94c8423a2d667176142
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 24, 2026.

Transparency log

Release files / modelly_abm-1.3.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL modelly_abm-1.3.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 833.2 kB
Tags CPython 3.13 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
06d6cd334ceed8bf3bb6a5d92efbb6f0211db711c5f97ff6748f09fe1bd307da
BLAKE2b-256 checksum
How to use checksums
01f040e71cad237281c6ac0cb8f611305f3d2d373991e1f4339e2a0fb83801c2
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 24, 2026.

Transparency log

Release files / modelly_abm-1.3.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL modelly_abm-1.3.0-cp313-cp313-macosx_11_0_arm64.whl
Size 838.2 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
e883d346474958ce429e9de74eaabe8ac5d1eb802d1bbc80c98ea002e76ba3c1
BLAKE2b-256 checksum
How to use checksums
920179177b64b5628e730bba60eb889442dfa7182ba18155fd24eef6f9986344
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 24, 2026.

Transparency log

Release files / modelly_abm-1.3.0-cp313-cp313-macosx_10_13_x86_64.whl

Download URL modelly_abm-1.3.0-cp313-cp313-macosx_10_13_x86_64.whl
Size 820.9 kB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
6ab8c52213243eb78f87c51662dc4f5fe237faa3eb77caefa9d84eba8c791908
BLAKE2b-256 checksum
How to use checksums
5f6c1a047b72a657332e23acf21ded8560c6699db34f1a9423b34c55cf15c924
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 24, 2026.

Transparency log

Release files / modelly_abm-1.3.0-cp312-cp312-win_arm64.whl

Download URL modelly_abm-1.3.0-cp312-cp312-win_arm64.whl
Size 818.9 kB
Tags CPython 3.12 Windows ARM64
SHA-256 checksum
How to use checksums
a5b9a761d7f36f00f739c27ba18de5f9dd8490c30f84f2a8b8b211b700fdfee7
BLAKE2b-256 checksum
How to use checksums
91b3506b33f3d25201215d943ade2721ed3afa49678aa12fd86f0eaafdac401b
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 24, 2026.

Transparency log

Release files / modelly_abm-1.3.0-cp312-cp312-win_amd64.whl

Download URL modelly_abm-1.3.0-cp312-cp312-win_amd64.whl
Size 819.4 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
8399a7efc087b89886dc6389ead351065ace6e2e039ac8e3d3c4da6de496c9f8
BLAKE2b-256 checksum
How to use checksums
7f030aef1994373099f96cec79e03c13dd5f28a64cee1d3fd6404e3577de77ba
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 24, 2026.

Transparency log

Release files / modelly_abm-1.3.0-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL modelly_abm-1.3.0-cp312-cp312-musllinux_1_2_x86_64.whl
Size 830.1 kB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
c5776e86388e929be64e1613c29053131a3e25013f0680a30b9e204b824737c3
BLAKE2b-256 checksum
How to use checksums
60c4dda08b64e3994efe0f722b8726e76badba3bde437d2fe8d60085c1d0d76b
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 24, 2026.

Transparency log

Release files / modelly_abm-1.3.0-cp312-cp312-musllinux_1_2_aarch64.whl

Download URL modelly_abm-1.3.0-cp312-cp312-musllinux_1_2_aarch64.whl
Size 832.8 kB
Tags CPython 3.12 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
e3c636f83153317cc563bd269eeca86ae314549a54f45bf2ac75aa4bdf3ec7a9
BLAKE2b-256 checksum
How to use checksums
cc6709ff3a3ac8a50b1d0843249aef1154321637fe8dd9b598f565c6b3017c6f
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 24, 2026.

Transparency log

Release files / modelly_abm-1.3.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL modelly_abm-1.3.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 828.9 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
36e8007e2f96f28a12c26c7ffacc8ca8395cdd3a7074f1e8278d67f866ab9d11
BLAKE2b-256 checksum
How to use checksums
b19ff747d01af1ec2606b8d92c9ceeeb9930bc9ffd89f0430fcc07fe720cfe96
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 24, 2026.

Transparency log

Release files / modelly_abm-1.3.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL modelly_abm-1.3.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 832.9 kB
Tags CPython 3.12 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
41695718307b12e85a61c6069221c167f101c6e88cc0cd8eb187440caf6e3340
BLAKE2b-256 checksum
How to use checksums
074dc4642715f8bf21bd6cb7ab2f0010a62a8b329fc7a05da77b59aa22a1641a
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 24, 2026.

Transparency log

Release files / modelly_abm-1.3.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL modelly_abm-1.3.0-cp312-cp312-macosx_11_0_arm64.whl
Size 823.6 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
fc8315c94d89f213d8ae6f550cba2707fa3698c6bc4b796c895f9644035bf4b3
BLAKE2b-256 checksum
How to use checksums
ad2b8d2581ac7934dd66ec40aef2a03bf4f5ba0ca57f70f70944f8741cb62152
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 24, 2026.

Transparency log

Release files / modelly_abm-1.3.0-cp312-cp312-macosx_10_13_x86_64.whl

Download URL modelly_abm-1.3.0-cp312-cp312-macosx_10_13_x86_64.whl
Size 822.2 kB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
2fa8b3290933a7de0331312b4f00ccce79d165ba5ece674dc890759c5f692758
BLAKE2b-256 checksum
How to use checksums
21ebdc62ee1b7827c0e7ea1764268f6fb2220c90f3a51c5947d293ea6129bf99
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 24, 2026.

Transparency log

Security for modelly-abm 1.3.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.

Full provenance

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

Select from 50 files

Attestation for modelly_abm-1.3.0.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 24, 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