Skip to main content

flepimop2-op_system

flepimop2-op_system provides the flepimop2 system adapter for op_system.

It packages the flepimop2.system.op_system provider so flepimop2 can load and execute RHS specifications compiled by the core op_system package.

Bound system steppers accept and return Flepimop2's namespace-neutral Array protocol. The provider performs no state conversion: NumPy, JAX, and other supported array namespaces are selected by the state supplied by the numerical engine. module: op_system selects this system provider; it does not select an array namespace. There is no array_backend configuration field. See the terminology guide for legacy compiler keyword compatibility.

The wheel ships py.typed for downstream type checking. Repository quality checks run strict mypy on the adapter in its separate environment; the root compiler's mypy exclusion does not bypass that check. just build-all and CI's provider-typing job additionally check the installed wheel's public types and verify that an invalid state argument fails strict downstream typing.

System options preserve normalized axis metadata for engine providers: axis_order, axis_sizes, numeric axis_coords, original axis_labels, and declared axis_types. Consumers can therefore distinguish categorical, ordinal, and continuous semantics without inferring them from coordinate values.

Time-indexed parameter tables select interpolation through the inline spec's time_interpolation field: linear is the default, and previous holds the value at each coordinate until the next, including the new value at an exact boundary. Both policies clamp beyond the endpoints. All bound flat, PyTree, block, and reaction steppers share the policy and preserve the state's array namespace.

The provider also exposes time_axis, time_interpolation, time_coordinates, and forcing_breakpoints through system.option(...). Coordinates and breakpoints are immutable tuples. Hold-mode tables publish all coordinates after the first as possible forcing changes; linear tables and unused time axes publish no breakpoints. A single-coordinate time table is constant and has no forcing changes. Parameter requests still include the complete declared time axis, so the parameter producer supplies the full table at run time.

An engine can use these options to configure forcing boundaries independently of its output grid. Exact breakpoint SSA also requires every other external time dependency in the propensity to be constant between those boundaries. The provider exposes the schedule; the engine chooses how to consume it.

It also provides the sparse_table parameter module, which assembles a dense array for a routing transition's matrix parameter (for example eta[time, imm:i, imm:j]) from a declared support. Each entry is a number or any nested parameter configuration, sampled with the request's leading axes:

parameter:
  eta:
    module: sparse_table
    indices: [imm, imm]
    entries:
      - index: [x0, x3]
        value: {module: fixed, value: 0.2}
      - index: [x5, x7]
        value: 1.0

Off-support entries are zero. SparseTableParameter.support(axes) returns the support positions for inference.

For an erfc mixing kernel on numeric coordinates, declare axes: [age, age] and params: {scale: 1.0, sigma: 2.0}. The provider constructs the float64 host matrix C[i, j] = scale * erfc(abs(age[i] - age[j]) / sigma) once when the system is built. It uses Python's complementary error function directly to preserve small positive tail values; SciPy is not a runtime dependency. Kernel declarations without axes retain their existing scalar params.value behavior.

The provider source headers grant GPL version 3 or any later version (GPL-3.0-or-later). The standalone core uses MIT. The shared citation records both existing grants; preserve the relevant license when reusing code.

Metadata

Release files for flepimop2-op-system 0.8.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 flepimop2-op-system 0.8.0
File Size Uploaded Provenance
flepimop2_op_system-0.8.0.tar.gz 54.8 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for flepimop2-op-system 0.8.0
File Interpreter ABI Platform
flepimop2_op_system-0.8.0-py3-none-any.whl Python 3 none any Details

Total release size: 95.0 kB

Release files / flepimop2_op_system-0.8.0.tar.gz

Download URL flepimop2_op_system-0.8.0.tar.gz
Size 54.8 kB
Tags Source
SHA-256 checksum
How to use checksums
126aa359d373266eb78c652cd15b7e1179567fbb81e189509a18f1688a92e9d7
BLAKE2b-256 checksum
How to use checksums
8ca792d06fd98b3e17ca158ce58d9220fcd186b9433f3895b861f4e75dcc4e31
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 19, 2026.

Transparency log

Release files / flepimop2_op_system-0.8.0-py3-none-any.whl

Download URL flepimop2_op_system-0.8.0-py3-none-any.whl
Size 40.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1015a6ff62e2c45d34111f9274d83678af020b9b06560b366dd2453783a0f848
BLAKE2b-256 checksum
How to use checksums
a60d3b52eb56b369e494e9217c4223fea33fecf49c40fc865e95924eb926c05a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 19, 2026.

Transparency log

Security for flepimop2-op-system 0.8.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 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for flepimop2_op_system-0.8.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 19, 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.

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