clinikit
Prepared by Berat Kaan SEVEN
A lightweight, sklearn-compatible Python toolkit for tabular machine
learning. clinikit bundles 14 hybrid classifiers, 5 experiment
protocols, calibration utilities, label-noise diagnostics, fairness
audits, and structured HTML reports behind a single drop-in package.
Research and development use only. This is an integration toolkit,
not a regulated product and not a research paper of original methods.
See CITATIONS.md for source-method references.
Why clinikit
clinikit is a complement to existing libraries, not a competitor.
| Library | Focus | Why clinikit is different |
|---|---|---|
| scikit-learn | General-purpose ML | Adds curated experiment protocols, audit utilities, and structured reporting |
| Cleanlab | Label noise only | Integrates Cleanlab plus neighborhood conflict and LOO into one diagnostics module |
| MAPIE | Conformal prediction only | Includes selective classification as one of 14 bundled models |
| Fairlearn / AIF360 | Fairness only | The audit module bundles fairness, leakage, and documentation helpers |
| AutoGluon | AutoML | Library-first; thin AutoML wrappers exist but no auto-magic by default |
| PyHealth | Deep learning for sequence / multimodal | Tabular-only, classical ML focused, lightweight |
Installation
pip install clinikit
Optional dependency groups:
pip install "clinikit[diagnostics]" # Cleanlab-based label-noise tools
pip install "clinikit[explain]" # SHAP and LIME wrappers
pip install "clinikit[automl]" # TabPFN, FLAML, AutoGluon wrappers
pip install "clinikit[synthetic]" # CTGAN / TVAE wrappers
pip install "clinikit[conformal]" # MAPIE conformal prediction
pip install "clinikit[all]" # Everything
Supported Python versions: 3.10, 3.11, 3.12, 3.13.
Quickstart
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
from clinikit.datasets import load_pima
from clinikit.metrics import sensitivity, specificity
from clinikit.models import RuleAugmentedClassifier
X, y = load_pima(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.2, random_state=42, stratify=y
)
model = RuleAugmentedClassifier(base_estimator=LogisticRegression(max_iter=1000))
model.fit(X_train, y_train)
y_pred = model.predict(X_test)
print("Sensitivity:", sensitivity(y_test, y_pred))
print("Specificity:", specificity(y_test, y_pred))
For a complete walkthrough, see examples/quickstart.ipynb
or open it in
Colab.
What is in the box
14 hybrid classifiers (clinikit.models)
All sklearn-compatible, all pass sklearn.utils.estimator_checks.check_estimator.
RuleAugmentedClassifierBoundaryRefineClassifierSubgroupThresholdClassifierErrorAwareCalibratorMonotonicBoosterHardSampleWeightedEnsembleClassConditionalImputerCrossDistributionDistillerSelectiveClassifierInstanceAdaptiveThresholdDialecticalEnsembleLatentSubtypeRouterIterativeLabelRefinerDualViewCoTrainer
Supporting modules
preprocessing— imputers, scalers, outlier flags, missing indicatorsmetrics— sensitivity, specificity, NPV, PPV, F2, MCC, Brier, ECEcurves— ROC, PR, calibration, Decision Curve Analysisprotocols— 5 experiment protocols (Defensible, MaxScore, OriginalOnly, Deployment, Audit)leaderboard— experiment tracking CSV with 38 columnsreport— HTML structured report generator (Jinja2 templates)audit— leakage detection, subgroup fairness, documentation checksgovernance— audit-trail manifest templates (documentation only)reproducibility— manifest files (data hash + config + library versions)datasets— UCI benchmarks (PIMA, Wisconsin, UCI Heart, Frankfurt)cli— Typer-based CLI:train,benchmark,audit,validate,reportthresholds,calibration,statistics,diagnostics,cost_sensitive,monitor,modelcard,cross_val,explainability,automl,external_val,time_split,active_learning,synthetic
Command-line interface
clinikit train --config config.yaml
clinikit benchmark --dataset pima --models all
clinikit audit --data data.csv --report audit.html
clinikit validate --model model.joblib --data data.csv
clinikit report --leaderboard runs.csv --out report.html
Project notes
clinikit is an integration toolkit. The methods it bundles are
adaptations of techniques published in the academic literature; see
CITATIONS.md for source-method references. It is
not a research paper of original methods, and it is not a regulated
product. Research and development use only.
Contributing
Contributions are welcome. Please read CONTRIBUTING.md
for the development workflow, coding standards, and pull-request
process. By participating, you agree to abide by the
Code of Conduct.
Citation
If you use clinikit in academic work, please cite it via the
CITATION.cff file, or use:
@software{clinikit,
author = {SEVEN, Berat Kaan},
title = {clinikit: a tabular machine-learning toolkit},
year = {2026},
url = {https://github.com/clinikit/clinikit},
version = {0.1.0}
}
License
Distributed under the MIT License. See LICENSE for the full text.
Metadata
Release files for clinikit 0.1.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 | Provenance | Actions |
|---|---|---|---|---|
| clinikit-0.1.1.tar.gz | 194.9 kB | With provenance | Details for clinikit-0.1.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| clinikit-0.1.1-py3-none-any.whl | Python 3 | none | any | Details for clinikit-0.1.1-py3-none-any.whl |
Total release size: 395.7 kB
Release files / clinikit-0.1.1.tar.gz
| Download URL | clinikit-0.1.1.tar.gz |
|---|---|
| Size | 194.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
800d6176f13f3e881bd96788366f249314d25fa2ddc01338b09b499f916898e9
|
|
BLAKE2b-256 checksum How to use checksums |
47026354e6a83efa5a3b706173a0c7fac95f64106e986993f2469406b8ad3243
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 17, 2026.
Transparency logRelease files / clinikit-0.1.1-py3-none-any.whl
| Download URL | clinikit-0.1.1-py3-none-any.whl |
|---|---|
| Size | 200.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
aca674a68e3bf79e8fc47be093d7c2f1627baa34cc34a4224fb7a4f18916c84a
|
|
BLAKE2b-256 checksum How to use checksums |
8a906b5978ad46bdd7cf95f78d839467ec311e1d2e0c3de29729fcab157f69f6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 17, 2026.
Transparency logSecurity for clinikit 0.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for clinikit-0.1.1.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 17, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.