Overview
rixpress
focuses on “micropipelines”: pipelines executed
on a single machine for small-to-medium projects, with reproducible
environments via Nix and a simple, pragmatic user experience from R.
This document clarifies what rixpress
is and is not, and
lays out a short roadmap so users and contributors can align
expectations and proposals.
Key goals:
- Single-machine, small-to-medium pipelines (“micropipelines”).
- Reproducible builds pinned by Nix.
- Simple DAG wiring.
- Polyglot steps where R is first-class, with pragmatic Python/Julia
interop.
- CI-friendly (e.g., GitHub Actions) without requiring distributed
stacks.
Roadmap
This roadmap lists “near-term”, “maybe later”, and “not planned”
items to clarify priorities. Timelines are indicative and may
change.
Near-term (next minor releases)
- Execution of several interconnected pipelines from a single
script.
Maybe later
- Visualisation: Mermaid-first DAG output (portable, text-first), with
simple CI rendering. Keep a minimal interactive option for large
DAGs.
- Lightweight progress summaries: per-derivation timestamps in build
logs and simple summaries.
- Optional: a separate low-level Nix client package if deeper
integrations are needed across
rix
and
rixpress
.
Not planned
- Distributed compute, cluster backends, server-side schedulers.
- Alternative storage engines or backends beyond the Nix store.
- Full-featured dashboards or heavy progress monitoring services.
How to propose new features
Before filing a feature request, please:
- Read this scope and roadmap.
- Check existing issues and discussions.
- If your request is out-of-scope, consider whether it belongs in:
- a separate package,
- an optional companion tool, or
- a PR to documentation (e.g., “how-to” under current scope).
When you file an issue, please: - Explain your use case and scale
(single machine, data sizes). - Clarify why the feature belongs in
rixpress
vs. alternatives. - Suggest a minimal interface
that preserves simplicity and reproducibility.