veridist
Fit lifetime data with an inspectable result
Veridist is for reliability engineers and analysts who need a defined lifetime fit from a strict CSV, plus the information needed to review how it ran. It validates the input, returns a typed fit or failure, and keeps the execution facts visible.
See it work · Choose a workflow · Read known limits
Install and first success
Install the released package:
python -m pip install veridist
See it work
Run this complete CSV fit after installation:
from pathlib import Path
from tempfile import TemporaryDirectory
from veridist import (
CsvLifetimeLimits,
CsvLifetimeSchema,
PublicSourceId,
fit_exponential_csv,
)
from veridist.families import ExponentialFitSuccess
with TemporaryDirectory() as directory:
path = Path(directory) / "lifetimes.csv"
path.write_text("time,event_observed\n1,1\n1,0\n", encoding="utf-8")
fit = fit_exponential_csv(
path,
schema=CsvLifetimeSchema("time", "event_observed"),
source_id=PublicSourceId("src_0123456789abcdef0123456789abcdef"),
limits=CsvLifetimeLimits(32768, 32768),
).fit
assert isinstance(fit, ExponentialFitSuccess)
assert fit.rate == 0.5
assert fit.inference == "not_provided"
assert fit.censoring_assumption == "independent_right_censoring"
print(f"rate={fit.rate}; events={fit.event_count}; censored={fit.censored_count}")
rate=0.5; events=1; censored=1
The first row is an observed event. The second had not occurred by the end of
observation, so it is independently right-censored. rate is expressed in the
inverse of the time unit in the CSV. A successful fit is not, by itself, proof
that the exponential model is appropriate; use the model guidance below before
making a decision.
Pick the right path
| Need | Use |
|---|---|
| A strict CSV lifetime fit | fit_exponential_csv and the CSV tutorial |
| A declared scalar distribution operation | FAMILY_REGISTRY and evaluate_log_density; see the family guide |
| An exact-state reducer over caller-owned chunks | reduce_log_likelihood_chunks; see the stream source API |
| Local checkpoint and resume design | Executable SQLite recipe plus known limits |
Supported work
| For | Outcome |
|---|---|
| Reliability engineering | A declared lifetime-model result that can be reviewed with its execution facts |
| Censored lifetime analysis | Explicit 1 event and 0 independent-right-censoring semantics |
| Auditable batch execution | A bounded one-pass record and a local SQLite restart option |
Capability and evidence
The fitting surface contains fixed-location Exponential, Weibull-minimum, and Lognormal MLE cells for exact and independently right-censored lifetimes. A finite solution yields a point estimate; invalid statistical or operational conditions yield typed failures. Inference is restricted to that declared cell: the uncensored exponential cell supports refit Monte Carlo KS, AD, and CvM, AIC/BIC, and adequacy-gated selection with a caller-owned generator.
The public CSV path is strict: UTF-8 with exactly time,event_observed, event
token 1, and right-censoring token 0. It uses one iterator pass. It is not
a generic CSV reader. A successful call should be read with its execution
record and model assumptions.
The CI gate checks supported Python versions, at least 95% global line and
branch coverage, quality checks, package installation, and documentation. The
Coverage ≥95% badge shows the pass/fail status of that enforced contract on
main; this page does not claim a static percentage. The mutation and release-
evidence badges link to their own verifiable workflows.
Scale and resume
Retained evidence covers a measured 10k/100k/1m by 32KiB/64KiB/128KiB matrix
for the declared paths. It does not establish general big-data support,
throughput, portable RSS, dataframe, Parquet, Arrow, database, distributed
execution, broad censoring, vectorized operations, or universal model choice.
SQLiteCheckpointStore is durable local state, not a distributed service. Use
it with the same source revision and compatible store to continue a committed
prefix after interruption. The executable SQLite recipe
shows the necessary initialization and a compatible second pass.
Production readiness
Read KNOWN_LIMITS.md and the repository evidence ledger before production use.
Documentation, contribution, and support
Use the API reference to integrate, the family guide to assess the statistical surface, and the documentation toolchain to work on docs. For changes, start with the repository contribution guide and engineering conventions. Report reproducible defects through GitHub Issues and vulnerabilities through SECURITY.md.
The package uses BUSL-1.1 with an Apache-2.0 additional-use grant for personal, non-commercial use; see LICENSE.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file veridist-1.0.1.tar.gz.
File metadata
- Download URL: veridist-1.0.1.tar.gz
- Upload date:
- Size: 68.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
020d463ef3174638ffceb802758a8a6bff1117cdb20ff7b41aaa1c538a2fb07b
|
|
| MD5 |
000258dd99b8bf71ca6fdd91417f76e6
|
|
| BLAKE2b-256 |
07973183b7657175d6f357088f586726510b94a4ae88a98991cd8cc60b61d8de
|
Provenance
The following attestation bundles were made for veridist-1.0.1.tar.gz:
Publisher:
pypi-publish.yml on alisadeghiaghili/veridist
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
veridist-1.0.1.tar.gz -
Subject digest:
020d463ef3174638ffceb802758a8a6bff1117cdb20ff7b41aaa1c538a2fb07b - Sigstore transparency entry: 2804833335
- Sigstore integration time:
-
Permalink:
alisadeghiaghili/veridist@d84659b43d51564a285b18c123a94a1fd40c40aa -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/alisadeghiaghili
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@d84659b43d51564a285b18c123a94a1fd40c40aa -
Trigger Event:
release
-
Statement type:
File details
Details for the file veridist-1.0.1-py3-none-any.whl.
File metadata
- Download URL: veridist-1.0.1-py3-none-any.whl
- Upload date:
- Size: 76.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9fac7c8bb0e8f5d557cdfe6864ee45db2411c4588edb5cd750ed746130a37b31
|
|
| MD5 |
78a6fb11b74793954f721bd0563a3c1b
|
|
| BLAKE2b-256 |
5142e99f05d57130065c4317467a669703e18f94862f79a40554439af2199531
|
Provenance
The following attestation bundles were made for veridist-1.0.1-py3-none-any.whl:
Publisher:
pypi-publish.yml on alisadeghiaghili/veridist
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
veridist-1.0.1-py3-none-any.whl -
Subject digest:
9fac7c8bb0e8f5d557cdfe6864ee45db2411c4588edb5cd750ed746130a37b31 - Sigstore transparency entry: 2804833366
- Sigstore integration time:
-
Permalink:
alisadeghiaghili/veridist@d84659b43d51564a285b18c123a94a1fd40c40aa -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/alisadeghiaghili
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@d84659b43d51564a285b18c123a94a1fd40c40aa -
Trigger Event:
release
-
Statement type: