Skip to main content

jmstate logo

jmstate

Flexible multi-state joint models.
Joint modeling of longitudinal and time-to-event data with PyTorch.

Documentation · PyPI

PyPI version Supported Python versions: 3.11–3.14 Lint status Coverage Documentation status License

jmstate is a Python package for nonlinear multi-state joint modeling of longitudinal and time-to-event data. Built on PyTorch, it enables flexible specification of regression and link functions — including neural networks — while still offering built-in parametric baseline hazards and utilities for inference and prediction.

The package implements the methodology from:

A General Framework for Joint Multi-State Models Félix Laplante & Christophe Ambroise (2025) — arXiv:2510.07128


Installation

python -m pip install jmstate

Requirements: Python 3.11 or later, PyTorch, scikit-learn, NumPy, Matplotlib, rich, tqdm.

Data integrity

The committed PAQUID and PBC2 datasets are the canonical reproduction inputs. Verify both before running an analysis:

cd data
sha256sum --check SHA256SUMS

The PAQUID file is the canonical reproduction input in this repository. Its original license and reuse terms were not supplied with the dataset, so its inclusion does not grant redistribution or reuse rights.

The PBC2 file is a CSV conversion of the pbc2 dataset distributed with the joineRML R package. It is licensed separately under the GNU GPL version 3. The repository's BSD license does not apply to data/pbc2.csv.

Device, precision and compiled buckets

Trajectory bucket construction runs in a compiled C++ extension (built automatically at install with a pure-Python fallback otherwise).

The model parameters own the canonical dtype and device. Data tensors are aligned to them automatically, so GPU/XPU and low precision just work:

model.to("xpu", torch.bfloat16)  # or .cuda(), .float(), .double(), ...
model.fit(data)  # data follows the model, no manual casts needed

bfloat16/float16 parameters are supported with mixed precision: times, quadrature and critical kernels transparently run in float32 or higher. Call .to(...) before creating the optimizer, as usual in PyTorch.

Citation

If you use jmstate, please cite A General Framework for Joint Multi-State Models by F'elix Laplante and Christophe Ambroise (2025).


Documentation

Full API reference and tutorials: jmstate documentation


The Model

jmstate fits a joint model that links a longitudinal biomarker process to multi-state event history through shared individual random effects.

Longitudinal sub-model

Individual observations follow

$$y_{ij} = h(t_{ij}, \psi_i) + \epsilon_{ij}, \qquad \epsilon_{ij} \sim \mathcal{N}(0, R)$$

where $h$ is a user-defined regression function (e.g. bi-exponential, logistic) and individual parameters are defined via

$$\psi_i = f(\gamma, X_i, b_i), \qquad b_i \sim \mathcal{N}(0, Q)$$

with $\gamma$ fixed population-level effects, $X_i$ covariates, and $b_i$ individual random effects.

Multi-state sub-model

Let $G = (V, E)$ be a directed graph, where $V$ denotes the set of states and $E \subseteq V \times V$ the set of admissible transitions. The graph encodes all possible paths of the multi-state process, allowing for competing, recurrent, or absorbing transitions. The hazard for a transition $k \to k'$ at time $t$ given entry time $t_0$ satisfies

$$\lambda^{k \to k'}(t_0, t) = \lambda_0^{k \to k'}(t_0, t) \exp\left( \alpha^{k \to k'} g^{k \to k'}(t, \psi_i) + \beta^{k \to k'} X_i \right),$$

where $\lambda_0^{k \to k'}$ are parametric baseline hazards, $g^{k \to k'}$ are link functions acting as a bridge between the longitudinal and the semi-Markov multi-state processes, and $\alpha^{k \to k'}$, $\beta^{k \to k'}$ are transition-specific coefficients.

The model supports arbitrary state graphs (recurrent, absorbing, monotone, etc.) under a semi-Markov assumption.

Estimation

Parameters are estimated by maximising the observed-data log-likelihood using the Fisher identity

$$\nabla_\theta \log \mathcal{L}(\theta; x) = \mathbb{E}{b \sim p(\cdot \mid x, \theta)}\left[ \nabla\theta \log \mathcal{L}(\theta; x, b) \right],$$

where $\mathcal{L}(\theta; x, b)$ is the complete likelihood of the data given the parameters and random effects.

This gradient is approximated via a Metropolis-Within-Gibbs MCMC sampler over the random effects, combined with a stochastic gradient ascent step. Convergence is monitored via an $R^2$-based stationarity test.


Quick Start

Step 1 — Define the model design

import torch
from jmstate.types import ModelDesign


# Individual parameters
def indiv_effects_fn(
    fixed: torch.Tensor, x: torch.Tensor, b: torch.Tensor
) -> torch.Tensor:
    return fixed * torch.exp(b)  # (..., n, q)


# PK function: bi-exponential biomarker
def pk_fn(t: torch.Tensor, indiv_params: torch.Tensor, D: float = 1.0):
    A, k, ka = indiv_params.chunk(3, dim=-1)
    conc = A * (torch.exp(-k * t) - torch.exp(-ka * t))
    return conc.unsqueeze(-1)


# PK integral function: bi-exponential cumulative link
def pk_integral_fn(t: torch.Tensor, indiv_params: torch.Tensor):
    A, k, ka = indiv_params.chunk(3, dim=-1)
    integral = A * (1 - torch.exp(-k * t)) / k - (1 - torch.exp(-ka * t)) / ka
    return integral.unsqueeze(-1)


# Define the model design
design = ModelDesign(
    indiv_effects_fn,
    regression_fn=pk_fn,
    link_fns={
        (1, 1): pk_integral_fn,
        (1, 2): pk_integral_fn,
    },
)

Step 2 — Set initial parameters

from jmstate.functions.base_hazards import Exponential
from jmstate.types import ModelParameters, PrecisionParameters

# Define simple initial parameters
params = ModelParameters(
    torch.ones(3),
    PrecisionParameters.from_covariance(torch.eye(3), "diag"),
    PrecisionParameters.from_covariance(torch.eye(1), "spherical"),
    {(1, 1): Exponential(1.0), (1, 2): Exponential(1.0)},
    {(1, 1): torch.zeros(1), (1, 2): torch.zeros(1)},
    {(1, 1): torch.zeros(1), (1, 2): torch.zeros(1)},
)

Step 3 — Prepare data

from jmstate.types import ModelData

data = ModelData(
    x,  # (n, p) covariate matrix
    t,  # (m,) or (n, m) measurement times; NaN-pad if variable
    y,  # (n, m, d) longitudinal observations; NaN-pad if variable
    trajectories,  # list[list[tuple[float, Any]]]
    c,  # (n, 1) right-censoring times
)

Each trajectory is a chronologically ordered list of (time, state) tuples representing the individual's event history.

Step 4 — Fit the model

import matplotlib.pyplot as plt
from jmstate import MultiStateJointModel

optimizer = torch.optim.Adam(params.parameters(), lr=0.1)
model = MultiStateJointModel(design, params, optimizer)

metrics = model.fit(data)

Step 5 — Print and plot the results

from jmstate.utils import plot_mcmc_diagnostics, plot_params_history

# Compute and print summary statistics (nullity Wald statistics, p-values, AIC, BIC, etc.)
model.compute_summary().summary()

# Plot parameter history (stochastic optimization)...
plot_params_history(model)
plt.show()

# ...and MCMC sampler diagnostics
plot_mcmc_diagnostics(model)
plt.show()

Metadata

Release files for jmstate 0.18.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 jmstate 0.18.1
File Size Uploaded
jmstate-0.18.1.tar.gz 1.1 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for jmstate 0.18.1
File
jmstate-0.18.1-cp314-cp314t-win_amd64.whl CPython 3.14 CPython 3.14 free-threading Windows x86-64 Details
jmstate-0.18.1-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details
jmstate-0.18.1-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ ARM64, Linux glibc 2.24+ ARM64 Details
jmstate-0.18.1-cp314-cp314t-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64 Details
jmstate-0.18.1-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
jmstate-0.18.1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details
jmstate-0.18.1-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.24+ ARM64, Linux glibc 2.28+ ARM64 Details
jmstate-0.18.1-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
jmstate-0.18.1-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
jmstate-0.18.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details
jmstate-0.18.1-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.24+ ARM64, Linux glibc 2.28+ ARM64 Details
jmstate-0.18.1-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
jmstate-0.18.1-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
jmstate-0.18.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details
jmstate-0.18.1-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ ARM64, Linux glibc 2.24+ ARM64 Details
jmstate-0.18.1-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
jmstate-0.18.1-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
jmstate-0.18.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details
jmstate-0.18.1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.24+ ARM64, Linux glibc 2.28+ ARM64 Details
jmstate-0.18.1-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
jmstate-0.18.1-cp311-cp311-macosx_10_9_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.9+ x86-64 Details

Total release size: 5.2 MB

Release files / jmstate-0.18.1.tar.gz

Download URL jmstate-0.18.1.tar.gz
Size 1.1 MB
Tags Source
SHA-256 checksum
How to use checksums
bce986f81785f9323fa1fd6b4ee63a3ee481a70e640ae191f6529de1d7aaebfd
BLAKE2b-256 checksum
How to use checksums
373d06ad655d863f69228a1569dcb0b0385f662b46359a0e93dca05e402cc666
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / jmstate-0.18.1-cp314-cp314t-win_amd64.whl

Download URL jmstate-0.18.1-cp314-cp314t-win_amd64.whl
Size 341.6 kB
Tags CPython 3.14 CPython 3.14 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
83b1566820e192bd7c83da57032b9b7f9aea57f1bd11aa105fbb827a8e35fe7e
BLAKE2b-256 checksum
How to use checksums
4081c3483014823d6968606ce97044874a4af515e511a5de6a146cb109f69ef5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / jmstate-0.18.1-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL jmstate-0.18.1-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 164.6 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
c26746b60bb5720cabf9a84ae859f45e468b659e75d804993aabfba8c4a5d084
BLAKE2b-256 checksum
How to use checksums
a2e850c3eed36a8470d44451b589c364ac6829e86653adfc6a42dec3a21718e9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / jmstate-0.18.1-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL jmstate-0.18.1-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 157.9 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
c05543c7c4ce8681376148f2a60730e4645e948b3ff588de4e429bf01b2a49f4
BLAKE2b-256 checksum
How to use checksums
28e670e0b730441ee0c94dc45af6eb0b18521bbf7ae44b9d421629366b720c70
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / jmstate-0.18.1-cp314-cp314t-macosx_11_0_arm64.whl

Download URL jmstate-0.18.1-cp314-cp314t-macosx_11_0_arm64.whl
Size 150.9 kB
Tags CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
8b94f90ae464b63f264f7b4c33f3d2a340e22b09e9dbc4002c92da7561b20fa6
BLAKE2b-256 checksum
How to use checksums
85d5f276715064e0bafb423d4f054097824582a78d3da2807416f070f1cfdba4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / jmstate-0.18.1-cp314-cp314-win_amd64.whl

Download URL jmstate-0.18.1-cp314-cp314-win_amd64.whl
Size 337.2 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
867ca5c8d4c16e948c5b525d8aa7bad013c26d5073b3fe99e3201791ec5ad756
BLAKE2b-256 checksum
How to use checksums
3b035a2101fb6e793f8036d542b9a9cae828e6ea8c82d9a0d59719dc7939653a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / jmstate-0.18.1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL jmstate-0.18.1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 163.4 kB
Tags CPython 3.14 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
cd7ee5d997993dbe0d256cf12489f01649e2e5521a99a93c8e8aaa792e95b8eb
BLAKE2b-256 checksum
How to use checksums
039bf3cd12497979c5c499a8aec64e6fa6379cd0482c378c6c79754d64427a8e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / jmstate-0.18.1-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL jmstate-0.18.1-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 155.7 kB
Tags CPython 3.14 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
2a53b2e4b0719246cc95f27568cd5637d09e2c06dcf931d935e5d74353cb678c
BLAKE2b-256 checksum
How to use checksums
0f40643dab496bfad87afdf484d3a497240a841aff2e76708cbebd9846157584
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / jmstate-0.18.1-cp314-cp314-macosx_11_0_arm64.whl

Download URL jmstate-0.18.1-cp314-cp314-macosx_11_0_arm64.whl
Size 148.9 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
7b7e7ac9b03853aa9917f8ff2bf5fe4af9e546d5ed4491c560c66edf41b63a30
BLAKE2b-256 checksum
How to use checksums
c70d635f318caa77f525ff9001e35d83dea0d918039f8aefc86a29434ced653a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / jmstate-0.18.1-cp313-cp313-win_amd64.whl

Download URL jmstate-0.18.1-cp313-cp313-win_amd64.whl
Size 328.3 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
2a59c4643f8e373bf4f3f8e4e9bcfce24170773cf88873a4d9fa5f10a97d9eed
BLAKE2b-256 checksum
How to use checksums
92475acf75a93fbc7c14a3ccab0675cf109b3c5a6789e09c63dc4b5c3f49da04
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / jmstate-0.18.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL jmstate-0.18.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 163.3 kB
Tags CPython 3.13 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
22b74d5c4681da641fb6a6ebf3af7ea4410c845ed0fd521229377e5384ed30d0
BLAKE2b-256 checksum
How to use checksums
aff53aca0df3eefe740cd80fbd65b9c23a7ab1eb8d159a1fc4514f17b2a7612e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / jmstate-0.18.1-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL jmstate-0.18.1-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 155.5 kB
Tags CPython 3.13 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
f38c1375516629ee884852627dc65dd3882a43758ed4598a5e9a2622bd8b056f
BLAKE2b-256 checksum
How to use checksums
7f820b6276036a8342d6e94645e49de43cc388b6d29058f1de29dc35bd6119ce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / jmstate-0.18.1-cp313-cp313-macosx_11_0_arm64.whl

Download URL jmstate-0.18.1-cp313-cp313-macosx_11_0_arm64.whl
Size 148.9 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
397adeedef6064f63438ba824086c1023c4fa9d9524d076a3b2fc826f233d8ab
BLAKE2b-256 checksum
How to use checksums
742c2bb20d552a3036f36cb459b5572c111c0ccf3a0ed7db72562b6bd5ef35cb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / jmstate-0.18.1-cp312-cp312-win_amd64.whl

Download URL jmstate-0.18.1-cp312-cp312-win_amd64.whl
Size 328.3 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
5704d1249d9978d47a77337a533a2696d89e85f0d3e7fb2212fab843173f9b5a
BLAKE2b-256 checksum
How to use checksums
ffcbd450f175446e5efbb6e920268d069a73595726f6cb58d92aff2a7303c879
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / jmstate-0.18.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL jmstate-0.18.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 162.9 kB
Tags CPython 3.12 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
80cc2e045a71ca713425068bc6bae1a3e5e21f2f17d3e900caf340393dcad27d
BLAKE2b-256 checksum
How to use checksums
28e8134bb13272c7c880b0a050e13cb76572dd54ecbb9749724c51572bb05df0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / jmstate-0.18.1-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL jmstate-0.18.1-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 155.4 kB
Tags CPython 3.12 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
fa1e0675018cfa62be2a0d08e793871445576c6ffa76f47fb2996ffb0e45e5ae
BLAKE2b-256 checksum
How to use checksums
bde909478e6fffe78572a6ae07e128a4b147636a175a7a6231bb97d1dca315cd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / jmstate-0.18.1-cp312-cp312-macosx_11_0_arm64.whl

Download URL jmstate-0.18.1-cp312-cp312-macosx_11_0_arm64.whl
Size 148.5 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
5b85571b0c5f80fa44313e5ac83be1b25d2b4b10342cca96fa57805b395b6e0a
BLAKE2b-256 checksum
How to use checksums
52462461ca00a350833a06def6820e2e398e52649230fc381d0730c45a99fa82
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / jmstate-0.18.1-cp311-cp311-win_amd64.whl

Download URL jmstate-0.18.1-cp311-cp311-win_amd64.whl
Size 325.5 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
c8a4127b5f6523f3854bd05286c97a1cd44fea30b66ed683f95feec203b39323
BLAKE2b-256 checksum
How to use checksums
97eb1872a924954b89f6182c6b43368a5726ef174244c7563cfa0f3b1522b1db
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / jmstate-0.18.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL jmstate-0.18.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 161.4 kB
Tags CPython 3.11 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
e58d4d7b2d9e19a48a093075512e356da86950f6afd55b404b2f259971b0591d
BLAKE2b-256 checksum
How to use checksums
5c7afd9d1335d4b81c77d267fe2b874576c6e55ebe1cfdd88e63bbe55bf629c9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / jmstate-0.18.1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL jmstate-0.18.1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 153.8 kB
Tags CPython 3.11 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
38c8f2f81bf023fc0457730e59b451cafcd4da92a9012810988a12d70b8cefb7
BLAKE2b-256 checksum
How to use checksums
749fe6b56ea3866411eb0ff0deaf490eb5f887b87d26362e82f63591b6dbe954
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / jmstate-0.18.1-cp311-cp311-macosx_11_0_arm64.whl

Download URL jmstate-0.18.1-cp311-cp311-macosx_11_0_arm64.whl
Size 147.4 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
198a9b07cf14a2377355ec556ae8420a9d7ec6e0c20c30a4f44f7813ac6e004f
BLAKE2b-256 checksum
How to use checksums
eaf22eea676495e987787c48d239e0c8138fcf5c5f06f051bb69c50d2ac6b11e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / jmstate-0.18.1-cp311-cp311-macosx_10_9_x86_64.whl

Download URL jmstate-0.18.1-cp311-cp311-macosx_10_9_x86_64.whl
Size 154.0 kB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
41ef191fdea6fca4537a6058177c3b3f8a437795dce6db966ba33a12ffaaa020
BLAKE2b-256 checksum
How to use checksums
af257f22ff84e99201b5a8533ae15cf24ac146cee61d1d9ef11beaa00401a2d8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

0.18.1 This release

22 release files

0.17.4

2 release files

0.17.2

2 release files

0.10.1

2 release files

0.10.0

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.4

2 release files

0.7.3

2 release files

0.7.2

2 release files

0.6.2

2 release files

0.6.0

2 release files

0.5.5

2 release files

0.5.4

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.5

2 release files

0.4.4

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

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