Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

smckit

PyPI version Python versions PyPI status Publish License: MIT Extras: all-models Extra: asmc Extra: jax Extra: dev Extra: docs

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 smckit guarantees 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 .psmcfa and multihetsep input families, including missing-site, multi-record, multi-pair, multi-file, and skip_ambiguous=True cases.
  • 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)

Source distribution for smckit 0.0.1b2
File Size Uploaded
smckit-0.0.1b2.tar.gz 19.4 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for smckit 0.0.1b2
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

This release

0.0.1b2 This release

2 release 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