This release is a pre-release and may not be stable for production use.
smckit
Unified framework for Sequentially Markovian Coalescent methods.
PSMC, MSMC/MSMC2, SMC++, diCal2, ASMC, and related workflows in one preservation-first toolkit.
smckit keeps upstream tools runnable from the same repository while building native implementations that do not lose contact with upstream truth.
Why smckit
- Upstream-first: original tools in
vendor/remain the oracle implementation. - Provenance-aware: results can record which tool ran and how it was bootstrapped.
- One API surface: shared data structures and workflows across multiple SMC methods.
- Native path: performance-oriented in-repo implementations can grow without pretending parity before it is validated.
Installation
pip install smckit
Install contract:
pip install smckitguarantees the packaged example data and the documented native quickstarts.- Full
implementation="upstream"preservation workflows are a source-checkout feature unless the method page explicitly says otherwise. - When an upstream runtime is missing, smckit reports platform-specific install commands and, when needed, tells you to switch to a source checkout.
Repo environment:
uv sync --extra dev --extra docs
pixi run test-fast
Use uv for the Python package environment and pixi for the repo-level
cross-language task environment.
Model extras:
pip install "smckit[all-models]"
pip install "smckit[asmc]"
pip install "smckit[psmc,msmc2,msmc_im,smcpp,esmc2,dical2]"
These extras describe intent. Today only asmc adds an extra Python runtime;
the other upstream-backed methods still need platform runtimes such as Java, R,
or a D/C toolchain. When an upstream runtime is missing, smckit now returns
platform-specific install commands for macOS, Linux, or Windows.
Development extras:
pip install "smckit[jax]"
pip install "smckit[dev]"
pip install "smckit[docs]"
Philosophy
smckit is upstream-first by design.
vendor/holds the original source or release artifacts that act as the oracle.implementation="upstream"means "run the original tool" when that bridge is wired and ready.implementation="native"means "run the in-repo implementation".implementation="auto"should prefer upstream fidelity whenever the upstream path is ready.
The repository exposes smckit.upstream.status() and smckit.upstream.bootstrap() so upstream readiness is inspectable rather than implicit.
Status
smckit is early-stage software. The priority is preserving access to upstream methods, making readiness explicit, and validating native implementations against upstream behavior before claiming equivalence.
Recent parity progress:
- eSMC2 native/upstream interchangeability is now tracked across the public
.psmcfaandmultihetsepinput families, including missing-site, multi-record, multi-pair, multi-file, andskip_ambiguous=Truecases. - The docs landing page and gallery summarize which methods have fixture-only validation and which now have broader public-surface parity gates.
Repository Guide
- Method docs:
docs/agents/algorithms.md - Usage notes:
docs/agents/using-smckit.md - Developer architecture:
docs/developer/architecture.md
License
MIT. See LICENSE.
Metadata
Release files for smckit 0.0.1b2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| smckit-0.0.1b2.tar.gz | 19.4 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| smckit-0.0.1b2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 38.8 MB
Release files / smckit-0.0.1b2.tar.gz
| Download URL | smckit-0.0.1b2.tar.gz |
|---|---|
| Size | 19.4 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4456c41412f7c4879e3aea0fa66f779f41a34cfbff0ea72471c8ad33de0c59c4
|
|
BLAKE2b-256 checksum How to use checksums |
816d101d240ed927fe8e7734df94cfe78511aa2b990bb447b8d81b71481eadff
|
| 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 Apr 8, 2026.
Transparency logRelease files / smckit-0.0.1b2-py3-none-any.whl
| Download URL | smckit-0.0.1b2-py3-none-any.whl |
|---|---|
| Size | 19.4 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a86275c69e205a81e0f6df5cccbb63a9d52ab311e0f8c47ada0c08574331e39e
|
|
BLAKE2b-256 checksum How to use checksums |
d603326442680adfa784b1a0c013bda808c477a57474a0a1baf5be573f366d5c
|
| 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 Apr 8, 2026.
Transparency log