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.2.0.tar.gz (27.5 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.2.0-py3-none-any.whl (28.0 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for assesslite-0.2.0.tar.gz
Algorithm Hash digest
SHA256 d208ef47253b78bf692ecd4baf787b835ec70e0878c43891898159486f0633c7
MD5 fabb9436c52872fb03a0896ba414bd39
BLAKE2b-256 88da598d0ccfee0dc95bdeb27a97cdffecea03e05191d7f10a496ac71cca489a

See more details on using hashes here.

Provenance

The following attestation bundles were made for assesslite-0.2.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.2.0-py3-none-any.whl.

File metadata

  • Download URL: assesslite-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 28.0 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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4c4b9cce031b94ae7de47612fd9210349b4cdba7c968afd6a16627506f4fea50
MD5 db5397265e382a8bf6aa53b42ebf68df
BLAKE2b-256 d528651f6b8f65df79e5342ec0dd4c8b9042a8f20c0077b748fac1a331669b4f

See more details on using hashes here.

Provenance

The following attestation bundles were made for assesslite-0.2.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