Skip to content

Which component do I need?

Start with the scientific task. Repositories are boundaries of responsibility, not five interchangeable products.

I want to analyze data

Interactively: start with Fathom. It operates SPM-Kit Core through visual perspectives.

Programmatically, in notebooks, batch jobs, CI or HPC: start with SPM-Kit Core.

I want to test an algorithm

Against a known numerical surface: generate truth with Phantoms, then execute the comparison through Validation.

Against external software or a published reference: start with Validation and freeze reference independence, parameters and tolerance before execution.

I need a native-format fixture

Use Data Hunter to find candidates, then manually review format, rights and content. A raw-only file can exercise a Core reader; it cannot validate an analysis result.

I want to contribute a dataset

Begin with Data Hunter's evidence taxonomy and lawful provenance. If accepted, design the narrow fixture or Validation campaign separately. Do not upload restricted or personally sensitive data.

I want reproducible analysis over many files

Use Core through Python or `spmkit batch`/`fbatch`. Preserve versions, command, channel, units, preprocessing and input hashes. Fathom remains useful for inspecting representative cases.

I want to add a reader

Implement the versioned `spmkit.plugins.v1` reader contract in Core. Use a lawful native file as a parser fixture, add synthetic edge cases and define a later external validation path.

I want to add a scientific capability

Implement a pure Core function first, create a known recovery case with Phantoms, define an external evidence route with Validation, expose CLI/API, and add a Fathom panel only after numerical behavior is stable.

I want to propose physical validation

Start in Validation. Define the mensurand, calibrated reference, uncertainty, traceability, lawful data handling, blinded or independent design and pass/fail policy. Data Hunter may locate leads but cannot certify them.

No JavaScript required. The branches above are native HTML disclosure controls. If they are unavailable, use the complete table below.

Static decision table

Need Primary component Companion Allowed conclusion Not allowed
inspect an image or curve visually Fathom Core the configured Core result was inspected interactively the view is physically validated
Python/CLI/HPC analysis Core Fathom for spot-checking the public function/command produced the result all formats/models are equally mature
known synthetic answer Phantoms Validation a numerical truth and corruption sequence are known physical validity
external reference comparison Validation Core/Phantoms the frozen comparison met or failed its rule universal equivalence
public-data discovery Data Hunter human review a record may support a named role dataset certification
format fixture Data Hunter → Core Validation later reader behavior can be exercised analysis correctness
dataset contribution Data Hunter → Validation Core a reviewed case can enter design automatic acceptance/redistribution
plugin development Core Phantoms/Validation/Fathom a versioned contract can be implemented stable 1.0 API promise

Still unsure?

Use SPM-Kit Core if the task is a calculation. Use Fathom if the task is operating that calculation visually. Use the three companion repositories only when the task is evidence discovery, known truth or external validation.

Installation matrix · Workflow tutorials