jmstate
Flexible multi-state joint models.
Joint modeling of longitudinal and time-to-event data with PyTorch.
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") # or .cuda(), .float(), .double(), ...
model.fit(data) # data follows the model, no manual casts needed
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.19.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| jmstate-0.19.1.tar.gz | 1.4 MB | Details |
Built distributions (wheels)
Total release size: 5.6 MB
Release files / jmstate-0.19.1.tar.gz
| Download URL | jmstate-0.19.1.tar.gz |
|---|---|
| Size | 1.4 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
03bc7d59915a6f6ac6c5d640206d82e37898eb497ea2ea535e0b9f227e9b9af3
|
|
BLAKE2b-256 checksum How to use checksums |
3e7783149c3e680f3bd60ba30f84598d99e6c05c8043259f643c80a48dcc7e03
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.17 {"installer":{"name":"uv","version":"0.12.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / jmstate-0.19.1-cp314-cp314t-win_amd64.whl
| Download URL | jmstate-0.19.1-cp314-cp314t-win_amd64.whl |
|---|---|
| Size | 344.3 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Windows x86-64 |
|
SHA-256 checksum How to use checksums |
220388df3f9eaacbb849f8c71f680abf9a4add6a66a7ccffbe37e8a180fc8ee6
|
|
BLAKE2b-256 checksum How to use checksums |
f1326f61afa6d8113941034ced72d29a8f2a301eed9ae653698f280ab7cc94be
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.17 {"installer":{"name":"uv","version":"0.12.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / jmstate-0.19.1-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | jmstate-0.19.1-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 166.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 |
5e0b36f1cae8eca7eaf99c92261ba515e5e8e323d9f78842ea556d2d83959e4f
|
|
BLAKE2b-256 checksum How to use checksums |
72dc32693d0427cdda4be728ecfea272c415a30dac84721dc78d3fd701a5869e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.17 {"installer":{"name":"uv","version":"0.12.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / jmstate-0.19.1-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
| Download URL | jmstate-0.19.1-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 161.0 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 |
e773dfa0c8ba238af61cbbc88aaf5f6577e62ba30f6fbb2fefb9841529893d2d
|
|
BLAKE2b-256 checksum How to use checksums |
8b957786005105d722047016141af6ddcd85ec0ae7f7b147765c186c1abcf66c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.17 {"installer":{"name":"uv","version":"0.12.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / jmstate-0.19.1-cp314-cp314t-macosx_11_0_arm64.whl
| Download URL | jmstate-0.19.1-cp314-cp314t-macosx_11_0_arm64.whl |
|---|---|
| Size | 153.6 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
ded94bf78a2e6e14112aedd19b3c0aef9d383419e965a774ad41d139cc395644
|
|
BLAKE2b-256 checksum How to use checksums |
dd2f95af60308f027a322c8dc538719b4e18137d8ff2a542fbc976c02991057e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.17 {"installer":{"name":"uv","version":"0.12.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / jmstate-0.19.1-cp314-cp314-win_amd64.whl
| Download URL | jmstate-0.19.1-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 339.7 kB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
bf3667a59b5bc7916cb0f2548da2926569265771e6f4e8e90e13778610d5e381
|
|
BLAKE2b-256 checksum How to use checksums |
ff2cd43e2e36adcf2358599eba849573b8f1c656705ba3485b8fc64896da7d84
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.17 {"installer":{"name":"uv","version":"0.12.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / jmstate-0.19.1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | jmstate-0.19.1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 165.6 kB |
| Tags | CPython 3.14 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
9cfba636d63ac9e736baa0190f05f7901b1a15f07678882172408efeb790a8f8
|
|
BLAKE2b-256 checksum How to use checksums |
fbc2663cf2549df24e65b3b2f4fe07bc35c634f8bc0696fd8de3bee19b27fe25
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.17 {"installer":{"name":"uv","version":"0.12.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / jmstate-0.19.1-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
| Download URL | jmstate-0.19.1-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 158.2 kB |
| Tags | CPython 3.14 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
8c04e8b4357c057e543637626c95954e16487798fc34397a38b06e2750fdca7e
|
|
BLAKE2b-256 checksum How to use checksums |
584383dce5145a2ab19a78a8ff493ff19598b24b2c47c8e16b4ce86c3c584e03
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.17 {"installer":{"name":"uv","version":"0.12.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / jmstate-0.19.1-cp314-cp314-macosx_11_0_arm64.whl
| Download URL | jmstate-0.19.1-cp314-cp314-macosx_11_0_arm64.whl |
|---|---|
| Size | 151.5 kB |
| Tags | CPython 3.14 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
986afaa6e7f527e22d6ae290f9ea82ee45eb4ac1c7447f1c80272b315fd9ca09
|
|
BLAKE2b-256 checksum How to use checksums |
8a0723dc6b03d3ef907e2a52adf85cfd20b51b4f6085b343adfc0851a4286a20
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.17 {"installer":{"name":"uv","version":"0.12.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / jmstate-0.19.1-cp313-cp313-win_amd64.whl
| Download URL | jmstate-0.19.1-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 330.8 kB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
31dfffa2e94b1cafc934153fc02bfa5ce71676d5f4847c82efc13bd35d3ff4c5
|
|
BLAKE2b-256 checksum How to use checksums |
0943c750a221b44a47120faddbee6e959f3a1d76b621e6d7e1723e732683b9bf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.17 {"installer":{"name":"uv","version":"0.12.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / jmstate-0.19.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | jmstate-0.19.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 165.6 kB |
| Tags | CPython 3.13 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
edf9c3ce22c0a2269c104aab007c7cb3f20fdec9a2fc522304cd8892bb792274
|
|
BLAKE2b-256 checksum How to use checksums |
0769e20241deaafcb053a27ec092299f5b90d18af77edea504bc58f9727b1f32
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.17 {"installer":{"name":"uv","version":"0.12.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / jmstate-0.19.1-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
| Download URL | jmstate-0.19.1-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 158.1 kB |
| Tags | CPython 3.13 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
84fc78d82ea25bffb15db684aaf84247016eec32f58f2c529ea6e6f1ae952368
|
|
BLAKE2b-256 checksum How to use checksums |
18dfb5d0410b8b87b2bd23d0271a968e86e4360e116af33993e6e1b5ca451b25
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.17 {"installer":{"name":"uv","version":"0.12.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / jmstate-0.19.1-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | jmstate-0.19.1-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 151.5 kB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
e5ec28cf626bb3033ad15f551971136e19ccd92d12c38cf2ca885d20bf8d2b0f
|
|
BLAKE2b-256 checksum How to use checksums |
c381d36094ef9020c5bfb766fecfa4df9d7becc03719a5114b683b48e2088044
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.17 {"installer":{"name":"uv","version":"0.12.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / jmstate-0.19.1-cp312-cp312-win_amd64.whl
| Download URL | jmstate-0.19.1-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 330.7 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
0866857de8aecd3ab5fce8af6f66716b9884043e7f8d94e75c567262f944a421
|
|
BLAKE2b-256 checksum How to use checksums |
57ed744f69112afc3b9ee2bfac2245e97f9eacf1233e0dc8aa9db691040a6fbd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.17 {"installer":{"name":"uv","version":"0.12.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / jmstate-0.19.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | jmstate-0.19.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 165.4 kB |
| Tags | CPython 3.12 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
5d10ff583f3f099b9a6bc19f33e49409125e79d1a9f15fb3f1f9be29a03a718b
|
|
BLAKE2b-256 checksum How to use checksums |
585a6335d63dee69e6a2d9e505cda5565b960d0908569f1f022c354529060f81
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.17 {"installer":{"name":"uv","version":"0.12.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / jmstate-0.19.1-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
| Download URL | jmstate-0.19.1-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 158.0 kB |
| Tags | CPython 3.12 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
b356ca89fa6d4d8bdce7fe9757325ed8820305a2d73d9d96d6edefbe5b384c6c
|
|
BLAKE2b-256 checksum How to use checksums |
579593271437c115efe7bffc1210343e405c625963ef6632b875a485e5cdef36
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.17 {"installer":{"name":"uv","version":"0.12.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / jmstate-0.19.1-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | jmstate-0.19.1-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 151.2 kB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
129a5edf6b79b41969e69ddeed5283c0999a7499a39dc54d8737a0d3817d0fb9
|
|
BLAKE2b-256 checksum How to use checksums |
611aaccf524724297b72faeade897c09f4ea633ba7bc7ebd441d20d14c4c5510
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.17 {"installer":{"name":"uv","version":"0.12.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / jmstate-0.19.1-cp311-cp311-win_amd64.whl
| Download URL | jmstate-0.19.1-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 328.1 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
0b369d86121f3ed44572222e97c6ee7bbf46f1965951af0cb11a7acfae1b12dc
|
|
BLAKE2b-256 checksum How to use checksums |
ed0339574fa2d15267e9a8e09826d7fe18a99ef3142329067c500fc057b20264
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.17 {"installer":{"name":"uv","version":"0.12.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / jmstate-0.19.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | jmstate-0.19.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 164.2 kB |
| Tags | CPython 3.11 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
c6fa2b837f23be84e2638ee76c7affa3523d820624eeb82f2711cc7a1db3a324
|
|
BLAKE2b-256 checksum How to use checksums |
52d0a288af93cf6f5e41861acd4e00154b87cd4f909cf99179bdd07d0ee392c2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.17 {"installer":{"name":"uv","version":"0.12.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / jmstate-0.19.1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
| Download URL | jmstate-0.19.1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 156.7 kB |
| Tags | CPython 3.11 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
da4d4d1ad325d5b3ade5316d5da72571c810c15f9f2b2d0966d8a9308215120d
|
|
BLAKE2b-256 checksum How to use checksums |
9347cc54a3c54a414ca3d8c833a9056cd3e8665bb50783b29a38511feee749ca
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.17 {"installer":{"name":"uv","version":"0.12.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / jmstate-0.19.1-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | jmstate-0.19.1-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 150.2 kB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
0e7229c746f853dfa55def0bfcc65db556dcdbc684b1faf6fe9ac90acffc0f28
|
|
BLAKE2b-256 checksum How to use checksums |
26cadde66d1092830badf96854764da80497174b785fb86e1fdff743defa1404
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.17 {"installer":{"name":"uv","version":"0.12.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / jmstate-0.19.1-cp311-cp311-macosx_10_9_x86_64.whl
| Download URL | jmstate-0.19.1-cp311-cp311-macosx_10_9_x86_64.whl |
|---|---|
| Size | 156.6 kB |
| Tags | CPython 3.11 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
6189db2476312c14324f23f991ab69a8a30989091385b058e3c1eb04b889c2b1
|
|
BLAKE2b-256 checksum How to use checksums |
eb54e7a941d308f9ad551fb10a9220f7e2d374cde2885513c6e30470d6a5d0fa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.17 {"installer":{"name":"uv","version":"0.12.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|