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.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 modelly-abm 1.3.1
File Size Uploaded Provenance
modelly_abm-1.3.1.tar.gz 2.2 MB With provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for modelly-abm 1.3.1
File
modelly_abm-1.3.1-py3-none-any.whl Python 3 none any Details
modelly_abm-1.3.1-cp315-cp315t-win_arm64.whl CPython 3.15 CPython 3.15 free-threading Windows ARM64 Details
modelly_abm-1.3.1-cp315-cp315t-win_amd64.whl CPython 3.15 CPython 3.15 free-threading Windows x86-64 Details
modelly_abm-1.3.1-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.1-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.1-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.1-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.15 CPython 3.15 free-threading Linux glibc 2.28+ ARM64, Linux glibc 2.17+ ARM64 Details
modelly_abm-1.3.1-cp315-cp315t-macosx_11_0_arm64.whl CPython 3.15 CPython 3.15 free-threading macOS 11.0+ ARM64 Details
modelly_abm-1.3.1-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.1-cp315-cp315-win_arm64.whl CPython 3.15 CPython 3.15 Windows ARM64 Details
modelly_abm-1.3.1-cp315-cp315-win_amd64.whl CPython 3.15 CPython 3.15 Windows x86-64 Details
modelly_abm-1.3.1-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.1-cp315-cp315-musllinux_1_2_aarch64.whl CPython 3.15 CPython 3.15 Linux musl 1.2+ ARM64 Details
modelly_abm-1.3.1-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.1-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.1-cp315-cp315-macosx_11_0_arm64.whl CPython 3.15 CPython 3.15 macOS 11.0+ ARM64 Details
modelly_abm-1.3.1-cp315-cp315-macosx_10_15_x86_64.whl CPython 3.15 CPython 3.15 macOS 10.15+ x86-64 Details
modelly_abm-1.3.1-cp314-cp314t-win_arm64.whl CPython 3.14 CPython 3.14 free-threading Windows ARM64 Details
modelly_abm-1.3.1-cp314-cp314t-win_amd64.whl CPython 3.14 CPython 3.14 free-threading Windows x86-64 Details
modelly_abm-1.3.1-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.1-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.1-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.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ ARM64, Linux glibc 2.17+ ARM64 Details
modelly_abm-1.3.1-cp314-cp314t-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64 Details
modelly_abm-1.3.1-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.1-cp314-cp314-win_arm64.whl CPython 3.14 CPython 3.14 Windows ARM64 Details
modelly_abm-1.3.1-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
modelly_abm-1.3.1-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.1-cp314-cp314-musllinux_1_2_aarch64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ ARM64 Details
modelly_abm-1.3.1-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.1-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.1-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
modelly_abm-1.3.1-cp314-cp314-macosx_10_15_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.15+ x86-64 Details
modelly_abm-1.3.1-cp313-cp313-win_arm64.whl CPython 3.13 CPython 3.13 Windows ARM64 Details
modelly_abm-1.3.1-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
modelly_abm-1.3.1-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.1-cp313-cp313-musllinux_1_2_aarch64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ ARM64 Details
modelly_abm-1.3.1-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.1-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.1-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
modelly_abm-1.3.1-cp313-cp313-macosx_10_13_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.13+ x86-64 Details
modelly_abm-1.3.1-cp312-cp312-win_arm64.whl CPython 3.12 CPython 3.12 Windows ARM64 Details
modelly_abm-1.3.1-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
modelly_abm-1.3.1-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.1-cp312-cp312-musllinux_1_2_aarch64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ ARM64 Details
modelly_abm-1.3.1-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.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ ARM64, Linux glibc 2.17+ ARM64 Details
modelly_abm-1.3.1-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
modelly_abm-1.3.1-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.1.tar.gz

Download URL modelly_abm-1.3.1.tar.gz
Size 2.2 MB
Tags Source
SHA-256 checksum
How to use checksums
ad44409e0f440770a1a00ba7aa384954b25478c90949d525ca8aad9e684b98e8
BLAKE2b-256 checksum
How to use checksums
e5c36b6a7499d042098be286c44042aece40bbd29bb872a65467b7e316d2de40
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.1-py3-none-any.whl

Download URL modelly_abm-1.3.1-py3-none-any.whl
Size 791.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
edfd60dc265d0ea18d02e39fe17b6b129614ea36f1ac5b232a6627bcb9161277
BLAKE2b-256 checksum
How to use checksums
17f2557ba9949c996d7a8054963d679ebfa09644c3ba879f047881dcf0f023e5
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.1-cp315-cp315t-win_arm64.whl

Download URL modelly_abm-1.3.1-cp315-cp315t-win_arm64.whl
Size 820.2 kB
Tags CPython 3.15 CPython 3.15 free-threading Windows ARM64
SHA-256 checksum
How to use checksums
ad182d879876fa9fca963ae0f37955de4bb019a2d8b3934e56605ab1f4e90f7d
BLAKE2b-256 checksum
How to use checksums
bb82c14afad91739fe3b97be4d463c4751bf6ce5d70a6134134ea58e92a2d8c5
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.1-cp315-cp315t-win_amd64.whl

Download URL modelly_abm-1.3.1-cp315-cp315t-win_amd64.whl
Size 820.7 kB
Tags CPython 3.15 CPython 3.15 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
c040ef487b7485d8369466426543b93f18ec8528966a57072ca5db8b721dde4f
BLAKE2b-256 checksum
How to use checksums
ef87315951770aeee573c08e92bdb1d0b26a22177c59b244306a9c5d65d0074a
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.1-cp315-cp315t-musllinux_1_2_x86_64.whl

Download URL modelly_abm-1.3.1-cp315-cp315t-musllinux_1_2_x86_64.whl
Size 832.8 kB
Tags CPython 3.15 CPython 3.15 free-threading Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
fa4844395b38874162b2734ed82ffe9157d8cbdf6439de0686e58145318ee8dc
BLAKE2b-256 checksum
How to use checksums
233b5a43e1652f34a90f97c58da946afdfdffb6c84802343248249a1255b5cd0
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.1-cp315-cp315t-musllinux_1_2_aarch64.whl

Download URL modelly_abm-1.3.1-cp315-cp315t-musllinux_1_2_aarch64.whl
Size 837.1 kB
Tags CPython 3.15 CPython 3.15 free-threading Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
fba0d190091873ce644b8df5a4c1d2a7c178c806a1f0770bbddab864fa51cba0
BLAKE2b-256 checksum
How to use checksums
b706864d47b64758222ced22f053ff56ee4219f04ffaef172842444a57d20831
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.1-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL modelly_abm-1.3.1-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 831.5 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
151424f5f89c7a84ca4f7a7fe5e90f35f6236e18a2d6a5cc165a94d2f0f746e0
BLAKE2b-256 checksum
How to use checksums
fd5b3c7ec3db86aa99c037e717157b25d80cb4a4c88eee12ff454cfae4b98122
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.1-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL modelly_abm-1.3.1-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 837.5 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
6f1818d91f0e7f812cf6cf8cc89b54b3a00251537339870af75ffd27b58b2dda
BLAKE2b-256 checksum
How to use checksums
a6c113baa203094ba3a161190adae285c141e6228ee840d5855535666c7177f9
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.1-cp315-cp315t-macosx_11_0_arm64.whl

Download URL modelly_abm-1.3.1-cp315-cp315t-macosx_11_0_arm64.whl
Size 840.9 kB
Tags CPython 3.15 CPython 3.15 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
c2356c80676b63cf8da1b427e09e16c3981de0feaeabbed9f7812b180af7e51a
BLAKE2b-256 checksum
How to use checksums
81dfc39f50a9b2f784d54a79fbadc6669d762284cb5c82c3c10ec3ba00620ca5
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.1-cp315-cp315t-macosx_10_15_x86_64.whl

Download URL modelly_abm-1.3.1-cp315-cp315t-macosx_10_15_x86_64.whl
Size 822.3 kB
Tags CPython 3.15 CPython 3.15 free-threading macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
591042b21489a0572f6f089d48f574d2c3870b7413a7d9690475b86b47811a35
BLAKE2b-256 checksum
How to use checksums
ab1652527a66bdeab0d81ffaa9556a86d8fe189a78d2c9099df0b78c6e803da5
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.1-cp315-cp315-win_arm64.whl

Download URL modelly_abm-1.3.1-cp315-cp315-win_arm64.whl
Size 818.4 kB
Tags CPython 3.15 Windows ARM64
SHA-256 checksum
How to use checksums
3221e20d5e972077410e4494a3879645481abf6922d94c517c1ea2686242a862
BLAKE2b-256 checksum
How to use checksums
8ae2277550e62ea535e4c933e4525a085c22f0a032b447124150dbfb9391ad38
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.1-cp315-cp315-win_amd64.whl

Download URL modelly_abm-1.3.1-cp315-cp315-win_amd64.whl
Size 818.9 kB
Tags CPython 3.15 Windows x86-64
SHA-256 checksum
How to use checksums
80382d433346fb655bcd71582a972312ceb0cac70ee38102cebde990e71c4fc0
BLAKE2b-256 checksum
How to use checksums
c5af3ba3e021c89a3e363843e904a7c9c2a74338b452748820e4400a784f311d
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.1-cp315-cp315-musllinux_1_2_x86_64.whl

Download URL modelly_abm-1.3.1-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
2d73551169f778ed09f92a3e1d1156eb71c47ef5a66286d4f87f78923e716638
BLAKE2b-256 checksum
How to use checksums
c0ace4b84534eaebc087089ca9ef3d1140c83e910697f3039084943363de5f1c
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.1-cp315-cp315-musllinux_1_2_aarch64.whl

Download URL modelly_abm-1.3.1-cp315-cp315-musllinux_1_2_aarch64.whl
Size 833.9 kB
Tags CPython 3.15 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
566b898a04c91a48de563a7c44527b62ee2d64bc8de7a6460b8452c0a7bf8d30
BLAKE2b-256 checksum
How to use checksums
cda95c4c473412a7230a43ebb98cf5a122062df63562b7c970f01a32ff068429
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.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL modelly_abm-1.3.1-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
b69ccedda1b704e780b970dff0f0be0504688d57a96a9829a0a1d62a31effa85
BLAKE2b-256 checksum
How to use checksums
63cadd47f9aef427804e6131cd65d3396d39a58d3d7c036ec5c7172660b0ab30
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.1-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL modelly_abm-1.3.1-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 833.6 kB
Tags CPython 3.15 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
564a61a6969fbbccada37eab4f9d3161e8c5536fd46636c26af0de2513a335d2
BLAKE2b-256 checksum
How to use checksums
0497c3dfa4ee6e35faa816cdffa1a0ac53e4dffc7bd4894dbc96d0aeaabe2c10
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.1-cp315-cp315-macosx_11_0_arm64.whl

Download URL modelly_abm-1.3.1-cp315-cp315-macosx_11_0_arm64.whl
Size 838.2 kB
Tags CPython 3.15 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
3ec15bfff873aa2cba276766d2c82fe1e3e936d6a7a8497f7afdce83cf45d89b
BLAKE2b-256 checksum
How to use checksums
5091835d274f6b7ccf36b1b80faccf2a69feee705ba24a65b57ac37a560e3dd5
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.1-cp315-cp315-macosx_10_15_x86_64.whl

Download URL modelly_abm-1.3.1-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
9c168c609cd40a1bf0a15c11b6dc6379e82124c18bdc3fc67f5de0d99edba8e4
BLAKE2b-256 checksum
How to use checksums
5722f4250945fa72b2edfe6aa1c955fdfda9a6388da0307ce87fc575d1acb172
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.1-cp314-cp314t-win_arm64.whl

Download URL modelly_abm-1.3.1-cp314-cp314t-win_arm64.whl
Size 820.2 kB
Tags CPython 3.14 CPython 3.14 free-threading Windows ARM64
SHA-256 checksum
How to use checksums
5acd80ec0cb11a189d3e04212b0d45d4dbe390cfb7befe90da75f90ba5185d25
BLAKE2b-256 checksum
How to use checksums
4b0a48fb0aa9d291f6685a0a2de1ce399142a624f2d192ede4a9753860aa217c
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.1-cp314-cp314t-win_amd64.whl

Download URL modelly_abm-1.3.1-cp314-cp314t-win_amd64.whl
Size 820.7 kB
Tags CPython 3.14 CPython 3.14 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
f7ce0b464bdb6e150a1ef37e33889fe9e81268f1f677e11287dea8ede613657f
BLAKE2b-256 checksum
How to use checksums
003b7c80bb35382bcb1350722657dc4a0566f8be1a865dcd0164bc253368a175
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.1-cp314-cp314t-musllinux_1_2_x86_64.whl

Download URL modelly_abm-1.3.1-cp314-cp314t-musllinux_1_2_x86_64.whl
Size 833.0 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
b3c1035df3cb2f3a787ec17b05b95b52fc88be5d2efb3c8c7e6865938084fdab
BLAKE2b-256 checksum
How to use checksums
6207725a4e29b9d196655403714df22dc28b7831b6929c15f39fe29c8edccc8c
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.1-cp314-cp314t-musllinux_1_2_aarch64.whl

Download URL modelly_abm-1.3.1-cp314-cp314t-musllinux_1_2_aarch64.whl
Size 837.3 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
8b60d6b7b21b3c9c5d136e898b954975b204665d9d8588788fa2f2705ae2b000
BLAKE2b-256 checksum
How to use checksums
f61b69a37579f4eb5510adbd41515b642415db6d8c8a91e52f24653a07cf2859
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.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL modelly_abm-1.3.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 831.6 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
3b5c616d6e2b95d47909f1bce83845d353fdc0b213676b6ce1543c161d1c97da
BLAKE2b-256 checksum
How to use checksums
db51177f4beedfbcc56d2b5e04a324fd41d6075b1ed891b1c43f9c2ad8245924
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.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL modelly_abm-1.3.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 837.6 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
ad14298a48ebf646b3fb5dac322ec4408c06daa08f90e8bd85e30e7206f4e774
BLAKE2b-256 checksum
How to use checksums
2cb004e7195ab6ac91bb8d3f52049839f15c1f21903772cf0b6258365c15a11e
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.1-cp314-cp314t-macosx_11_0_arm64.whl

Download URL modelly_abm-1.3.1-cp314-cp314t-macosx_11_0_arm64.whl
Size 841.3 kB
Tags CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
aa4b7fe2ca8051e877eb44332d912fa3121c94659232d6511d6356b1300bddec
BLAKE2b-256 checksum
How to use checksums
536bd19245ad3517b5a4e04c21ec2c7cef17a881482189e633035783aa749961
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.1-cp314-cp314t-macosx_10_15_x86_64.whl

Download URL modelly_abm-1.3.1-cp314-cp314t-macosx_10_15_x86_64.whl
Size 822.6 kB
Tags CPython 3.14 CPython 3.14 free-threading macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
39f560596bbdd7296e5eaef56f2d99bc71f9c7284973d8a9646dd01591673c1e
BLAKE2b-256 checksum
How to use checksums
5ea657c78e35a5b18f4da1a8bedce1af69779c0e994d92e2e94fc348810f3ffc
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.1-cp314-cp314-win_arm64.whl

Download URL modelly_abm-1.3.1-cp314-cp314-win_arm64.whl
Size 818.4 kB
Tags CPython 3.14 Windows ARM64
SHA-256 checksum
How to use checksums
4a80ae7f1903903b992b67f5ed79f16b34c50028ed2072cf4243bc95c78d10bc
BLAKE2b-256 checksum
How to use checksums
bf8263fca218ec957a0fdcceafcd6fc82f48a075b6414e81a454e737b2ed8d5b
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.1-cp314-cp314-win_amd64.whl

Download URL modelly_abm-1.3.1-cp314-cp314-win_amd64.whl
Size 819.0 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
c702e8ee82b36ffebe09e95707e2ff17c81576955b17456a56f2bd734c74bc24
BLAKE2b-256 checksum
How to use checksums
f26c3ceb5ca428babe4f7bbbdb326f2a0cad7cd65d8a1f546d368d88333991c1
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.1-cp314-cp314-musllinux_1_2_x86_64.whl

Download URL modelly_abm-1.3.1-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
d2db5d837167a4aa86a6989ca9c5ff312d31d0a6d3daec2a995fe34644507315
BLAKE2b-256 checksum
How to use checksums
b018e7f08c31b76d9a52bccff92c036d2610f9ffb267620f7455837f10ea4608
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.1-cp314-cp314-musllinux_1_2_aarch64.whl

Download URL modelly_abm-1.3.1-cp314-cp314-musllinux_1_2_aarch64.whl
Size 833.9 kB
Tags CPython 3.14 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
55bda238dae59ddd89748caeac941ec11164b5a3734f929dd4c1e71b2e20e0af
BLAKE2b-256 checksum
How to use checksums
834fad41c411a201e839e2c8541d960d1f28a15cc1015337a832545c84c994a9
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.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL modelly_abm-1.3.1-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
f40c685d8df0601bacc161b78a20722f6d2ba8fb16acd379527c2147ff90fc58
BLAKE2b-256 checksum
How to use checksums
0148850fbaf30ba6e3a529fa522bf78e33dc76b7de4b455fb79856418ed19a10
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.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL modelly_abm-1.3.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 833.6 kB
Tags CPython 3.14 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
3085a593ef271298c306dd6e93f4bfcfd75cfc7a7920355f01f1aefc1e4c2302
BLAKE2b-256 checksum
How to use checksums
434a83948ffd2cb05efeea378f1e44402d14013a2e5b29f711881215bd4486ca
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.1-cp314-cp314-macosx_11_0_arm64.whl

Download URL modelly_abm-1.3.1-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
273abef5e0347809d7642abdafdcf3d9b0e7fb34c589ea6b3e9a68a0ac40674a
BLAKE2b-256 checksum
How to use checksums
c5ed9ad4105163e08b084fb2a8ee9d69aa808818add7bdf35e870aea1b4fc69f
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.1-cp314-cp314-macosx_10_15_x86_64.whl

Download URL modelly_abm-1.3.1-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
a9527299d067c3caa156a7145c28c39d9e8bac4de9dc2633b38523a0036540ce
BLAKE2b-256 checksum
How to use checksums
ad6792b280827141206d4c8911b3ce915fc88964ebe09f87b8a0d9331f8a8d97
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.1-cp313-cp313-win_arm64.whl

Download URL modelly_abm-1.3.1-cp313-cp313-win_arm64.whl
Size 818.9 kB
Tags CPython 3.13 Windows ARM64
SHA-256 checksum
How to use checksums
794e6aa8afef6b6cdec6ba1c27c1e465343cf610ef1b1e2f14be446be7fd2761
BLAKE2b-256 checksum
How to use checksums
dbc8412c0b415b42640b7e6948aab68d9ce58ab66b5bc819479745eef23ec994
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.1-cp313-cp313-win_amd64.whl

Download URL modelly_abm-1.3.1-cp313-cp313-win_amd64.whl
Size 819.5 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
3fb54aa5fe523bfe662868eeee8f7f7f517fb2dffc845fe2cb69b0e9b14d6c4a
BLAKE2b-256 checksum
How to use checksums
51da560f7e3b9cf5ea5d26cee0e2af2a8884fde15106a29a2a11417da959ce1b
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.1-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL modelly_abm-1.3.1-cp313-cp313-musllinux_1_2_x86_64.whl
Size 830.3 kB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
0e83786efdfb86f2cc234c3e2747408920235426b9fa832aeb962591056d5a3b
BLAKE2b-256 checksum
How to use checksums
ed0328e51fc1277fe550beac858b1eae40daa016eaa58fe2b7fe5be588b3b0f0
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.1-cp313-cp313-musllinux_1_2_aarch64.whl

Download URL modelly_abm-1.3.1-cp313-cp313-musllinux_1_2_aarch64.whl
Size 833.5 kB
Tags CPython 3.13 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
065a8eb9a96249e63cc94c51c19291c980ce91a29302a61888d2af7a99896802
BLAKE2b-256 checksum
How to use checksums
66237125b2e25c93ea570ae1cf6fe9ac609669b63c137c2e74ea2d7b224a822a
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.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL modelly_abm-1.3.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 829.0 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
f980d8a2c3da80057f4bb73c1d9d9cc90feea29d27e0b0c20776cdeefe197512
BLAKE2b-256 checksum
How to use checksums
bf6270a159ff034d0a7d8a264179a0f4f71aa0128504ef8329ef7d78c6bfe6b7
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.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL modelly_abm-1.3.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 833.4 kB
Tags CPython 3.13 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
50dcd3475284cd423f7e49f1a331e36b0767c86a6b2198b6a6ad326f55a31954
BLAKE2b-256 checksum
How to use checksums
73dcb36ae39d1dcb02e729548493ed4dca2beaa223cc13565495aed0e8568f8f
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.1-cp313-cp313-macosx_11_0_arm64.whl

Download URL modelly_abm-1.3.1-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
4119f3e8e3b786095a1e01a10f1b145a827b67ffe9b4b92787a5b01d50ebf0e1
BLAKE2b-256 checksum
How to use checksums
ca843af9d85f4cb2e12a0b1e6829920d86cee2412c4718d5888c1b99b80e7ca3
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.1-cp313-cp313-macosx_10_13_x86_64.whl

Download URL modelly_abm-1.3.1-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
d279840e69c70099e5348c391c76b68e99b72d9e3e5a076d79820f27bfe91241
BLAKE2b-256 checksum
How to use checksums
d96f15242d8bed0fe4364acb7cb1e43aead6a3a2f9cb53784ad260f85e5a6547
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.1-cp312-cp312-win_arm64.whl

Download URL modelly_abm-1.3.1-cp312-cp312-win_arm64.whl
Size 819.0 kB
Tags CPython 3.12 Windows ARM64
SHA-256 checksum
How to use checksums
6e01599daab44aba2bba67a0032a39eeabfce5b944b2e65f3be281976641abd6
BLAKE2b-256 checksum
How to use checksums
b217918cec90266623dbd8648dfdc6d7ca19d14d644751030b4b1b4150f38828
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.1-cp312-cp312-win_amd64.whl

Download URL modelly_abm-1.3.1-cp312-cp312-win_amd64.whl
Size 819.5 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
17be40d3c807bd90643eacf1b4ce41faaabf7fc54087d0e5dbc6f6f829f16128
BLAKE2b-256 checksum
How to use checksums
9ec8883b46d2f45165fbb2d3cc3362ae57d1bc510ba9751c1361f17799ffcfff
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.1-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL modelly_abm-1.3.1-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
d20742e0b7ea01d23b23e3a8b2e028eb5f238d8ac5e5d206b1b62f519742a9e7
BLAKE2b-256 checksum
How to use checksums
7cbe6b4d58792c08185af8f60b5da1a802c95c94c62d77ee3c388534b9966bcb
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.1-cp312-cp312-musllinux_1_2_aarch64.whl

Download URL modelly_abm-1.3.1-cp312-cp312-musllinux_1_2_aarch64.whl
Size 833.1 kB
Tags CPython 3.12 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
38a5c9957f8055b12f5f6c452127e5fedb60114e86041e99174c98e0ebcb4f4a
BLAKE2b-256 checksum
How to use checksums
c834709551c79a46dd02893ca52bdf3cc96bffe1499e3bf2401cc0d022cb3b89
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.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL modelly_abm-1.3.1-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
40382d3b6204d22f33bc7e805ac0ae257a0d139055a167ca438241488d6d1898
BLAKE2b-256 checksum
How to use checksums
a81ac8545fb30b7eaa3fdc9fb37ef236e4c4ffe9cd1cc34c43532964d25791cd
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.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL modelly_abm-1.3.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 833.2 kB
Tags CPython 3.12 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
62e04c213e8423c2413fc9da60e696faaa398b782b3a54ccb59d98f07f8ab996
BLAKE2b-256 checksum
How to use checksums
6806ad2712ad80dbbe8fc4e92ac69af41310b28642f764f386632e8959b36a6e
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.1-cp312-cp312-macosx_11_0_arm64.whl

Download URL modelly_abm-1.3.1-cp312-cp312-macosx_11_0_arm64.whl
Size 823.7 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
e3ef21692f73f9b43c715624ec120edbad67ab58d1d860900db1f89fb0b9b687
BLAKE2b-256 checksum
How to use checksums
af4f1c189fbdeb9d0a0bb1a9e116ac33651dd1ccfda4f09cc5b932fd628c4dc9
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.1-cp312-cp312-macosx_10_13_x86_64.whl

Download URL modelly_abm-1.3.1-cp312-cp312-macosx_10_13_x86_64.whl
Size 822.3 kB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
51219f1101de2fff7dc280e0557aecd119e036fd1379a81de6fa36305598f23e
BLAKE2b-256 checksum
How to use checksums
57094915316d3f55ec60b6e9478b458c34ac4612baca64a72a9054c95f448734
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.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 50 files in this release have been uploaded with provenance metadata.

Select from 50 files

Attestation for modelly_abm-1.3.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 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