Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Contribute

⭐ Star the project

Stars are the simplest contribution: they boost visibility, attract contributors and tell us the community wants this. If sciencekit would help your work, a star takes two seconds.

Where help is needed

The roadmap is large by design — every algorithm is an isolated, well-scoped opportunity:

AreaWhat you would doGood for
🔢 AlgorithmsImplement one estimator following naive → tests → performance → out-of-coreRust + ML enthusiasts
🧮 Math kernelPairwise distances, sparse ops, SIMD hot paths in sciencekit_mathPerformance engineers
🐍 Python bindingsPyO3 interfaces with maximum zero-copy, per completed algorithmPyO3 experience
🎮 GPU backendsOpenCL → CUDA → ROCm behind SKComputeBackendGPU/HPC developers
📚 DocumentationThis book, API docs, examples from real testsWriters & newcomers
🐛 Testing & bugsReproduce issues, improve coverage of companion test modulesEveryone

Open an issue or grab one labeled good first issue — specs are written before code, so you always start with clear requirements.

How we work

  1. Spec first (OpenSpec): each change gets a proposal, spec deltas and tasks on a dedicated -openspec branch.
  2. TDD: tests are written first and must fail; implementation follows minimally.
  3. Small PRs: every change alters the minimum necessary; work happens in git worktrees, never directly on main.
  4. Independent review: an independent reviewer validates the spec was met before merge.
  5. Acceptance: every implementation runs with lots and little data, under concurrency, exports its model and produces metrics.

Full engineering rules live in AGENTS.md and the product truth in the PRD.

Getting started

git clone https://github.com/neurono-ml/sciencekit.git
cd sciencekit
cargo build && cargo test    # Rust 1.85 pinned via rust-toolchain.toml
First contribution idea: documentation is a great entry point — this book itself is built from markdown anyone can improve. See the Documentation Guide.

License

Apache-2.0 — including patent protection. By contributing you agree your contributions are licensed under it.