Skip to main content

veridist

PyPI Python CI Coverage ≥95% Mutation gate Release evidence License

English | فارسی | Deutsch

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

veridist-1.0.1.tar.gz (68.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

veridist-1.0.1-py3-none-any.whl (76.5 kB view details)

Uploaded Python 3

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

Hashes for veridist-1.0.1.tar.gz
Algorithm Hash digest
SHA256 020d463ef3174638ffceb802758a8a6bff1117cdb20ff7b41aaa1c538a2fb07b
MD5 000258dd99b8bf71ca6fdd91417f76e6
BLAKE2b-256 07973183b7657175d6f357088f586726510b94a4ae88a98991cd8cc60b61d8de

See more details on using hashes here.

Provenance

The following attestation bundles were made for veridist-1.0.1.tar.gz:

Publisher: pypi-publish.yml on alisadeghiaghili/veridist

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for veridist-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9fac7c8bb0e8f5d557cdfe6864ee45db2411c4588edb5cd750ed746130a37b31
MD5 78a6fb11b74793954f721bd0563a3c1b
BLAKE2b-256 5142e99f05d57130065c4317467a669703e18f94862f79a40554439af2199531

See more details on using hashes here.

Provenance

The following attestation bundles were made for veridist-1.0.1-py3-none-any.whl:

Publisher: pypi-publish.yml on alisadeghiaghili/veridist

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 files

1.0.0

2 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