Skip to main content

AssessLite: test what your analysis depends on — structural assumption assessment for causal analysis

Project description

AssessLite (Python)

Test what your analysis depends on.

Structural assumption assessment for causal analysis — the native Python interface to the AssessLite core specification v0.1. The R package (assesslite on r-universe) implements the same spec; audit records written by either conform to the same JSON Schema.

Every causal result borrows strength across units, places, or times, licensed by invariance assumptions usually left implicit inside exchangeability or i.i.d. sampling. AssessLite makes them explicit, attacks them, and records what survived — with three-way verdicts (stable / unstable / not resolvable at this n), because every stability gate is a bright line on a noisy estimate.

Install

pip install assesslite

Pure numpy + pandas; the Cox (Breslow partial likelihood) and GLM (IRLS) estimators are implemented in-package, so there is no heavy or version-fragile stats dependency.

Use

from assesslite import StructuralAudit

assessment = StructuralAudit(
    data=lung_registry,                 # pandas DataFrame
    outcome=("time", "status"),         # Cox; or "y" for a GLM
    exposure="adherence",
    covariates=["age", "sex", "stage"],
    cluster="hospital",
    time="diagnosis_year",
    subgroups=["stage"],
    unit="patient",
)

assessment.assume(
    "cluster_exchangeability",
    rationale="hospitals follow the same national guideline; assumed provisionally",
    licenses="one pooled effect across hospitals; transport to a hospital outside the sample",
)

assessment.test(
    ["unit_permutation", "cluster_holdout", "temporal_split", "subgroup_stability"]
).decide(abstain_if={"estimate_sign_changes": True})

print(assessment)
audit = assessment.export_audit("audit.json")   # durable audit record (also returned as a dict)
assessment.render_report("report.html")          # self-contained HTML report

Product, process, output

  • AssessLite is the product.
  • an assessment — a StructuralAudit — is the process: open it, declare its ledger, attack it, decide.
  • an audit record is the durable output: export_audit() returns it as a dict and writes it as schema-conforming JSON.

Estimators

  • ("time", "status") → Cox proportional hazards (Breslow ties), log hazard ratio.
  • binary 0/1 outcome → logistic GLM, log odds ratio.
  • continuous outcome → linear GLM, linear coefficient.

The Cox implementation reproduces R's coxph(ties="breslow") coefficients and standard errors exactly.

See examples/worked_example.py for a complete run on simulated multicentre data. Apache License 2.0.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

assesslite-0.1.0.tar.gz (17.8 kB view details)

Uploaded Source

Built Distribution

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

assesslite-0.1.0-py3-none-any.whl (18.2 kB view details)

Uploaded Python 3

File details

Details for the file assesslite-0.1.0.tar.gz.

File metadata

  • Download URL: assesslite-0.1.0.tar.gz
  • Upload date:
  • Size: 17.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for assesslite-0.1.0.tar.gz
Algorithm Hash digest
SHA256 0b517da6aeac52e47448bdf82e66c6f1e767f8502f6f64e6c13ea101ce1c99d6
MD5 b17be1ca6573b7b41b74eb6d12d3f88d
BLAKE2b-256 f369c7ceadc91922f42c3ceee6b61bf636d3fc1f5f971b972c54dc7124edd03f

See more details on using hashes here.

Provenance

The following attestation bundles were made for assesslite-0.1.0.tar.gz:

Publisher: publish.yml on heidihelena/assesslite

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

File details

Details for the file assesslite-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: assesslite-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 18.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for assesslite-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9f0393c3e0b828998b16c0539c2d33328fed0e026dc91853d1fcd872eb2ba07c
MD5 ced6e41329bcd4572a9bb9e90375ce10
BLAKE2b-256 5b760f5b6a7090d9c7921bf7c3eb34e9e9c3c2894215b61870e95b7e660e9f60

See more details on using hashes here.

Provenance

The following attestation bundles were made for assesslite-0.1.0-py3-none-any.whl:

Publisher: publish.yml on heidihelena/assesslite

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

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page