Stardag
Declarative and composable DAGs for Python.
Stardag provides a clean Python API for representing persistently stored assets, the code that produces them, and their dependencies as a declarative Directed Acyclic Graph (DAG). It is a spiritual—but highly modernized—descendant of Luigi, designed for iterative data and ML workflows.
Built on Pydantic, Stardag uses expressive type annotations to reduce boilerplate and make task I/O contracts explicit—enabling composable tasks and pipelines while maintaining a fully declarative specification of every produced asset.
Quick Example
import stardag as sd
@sd.task
def get_range(limit: int) -> list[int]:
return list(range(limit))
@sd.task
def get_sum(integers: sd.Depends[list[int]]) -> int:
return sum(integers)
# Declarative DAG specification - no computation yet
sum_task = get_sum(integers=get_range(limit=4))
# Materialize all tasks' targets
sd.build(sum_task)
# Load results
assert sum_task.load() == 6
assert sum_task.integers.load() == [0, 1, 2, 3]
Installation
pip install stardag
Or with uv:
uv add stardag
Optional extras:
pip install stardag[s3] # S3 storage support
pip install stardag[prefect] # Prefect integration
pip install stardag[modal] # Modal integration
Documentation
Read the docs for tutorials, guides, and API reference.
- Getting Started — Installation and first steps
- Core Concepts — Tasks, targets, dependencies
- How-To Guides — Integrations with Prefect, Modal
- Configuration — Profiles, CLI reference
Stardag Cloud
Stardag Cloud provides optional services for team collaboration and monitoring:
- Web UI — Dashboard for build monitoring and task inspection
- API Service — Task tracking and coordination across distributed builds
The SDK works fully standalone—the platform adds value for teams needing shared visibility and coordination.
Why Stardag?
- Composability — Task instances as first-class parameters enable loose coupling and reusability
- Declarative — Full DAG specification before execution; inspect, serialize, and reason about pipelines
- Deterministic — Parameter hashing gives each task a unique, reproducible ID and output path
- Pydantic-native — Tasks are Pydantic models with full validation and serialization support
- Framework-agnostic — Integrate with Prefect, Modal, or run standalone
Links
Release files for stardag 0.23.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| stardag-0.23.0.tar.gz | 938.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| stardag-0.23.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.4 MB
Release files / stardag-0.23.0.tar.gz
| Download URL | stardag-0.23.0.tar.gz |
|---|---|
| Size | 938.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bbeb1e2fc4b20ccf90b53fb3667c0c4161462ef7ecd11e2f565b3ee5a73c16a1
|
|
BLAKE2b-256 checksum How to use checksums |
bc65a2663368e4ea3cd6f24e379075e2881ed9c9048177becf53a0dca22243cb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 1, 2026.
Transparency logRelease files / stardag-0.23.0-py3-none-any.whl
| Download URL | stardag-0.23.0-py3-none-any.whl |
|---|---|
| Size | 456.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fbfa27cbcbd11c2fc2549db3713c2cda184d59212ec36246864aa25d5ed959fb
|
|
BLAKE2b-256 checksum How to use checksums |
9b4252bb20885827ed3e0a51ce2d7d6e7c9dc090d9dc93f82292b138bfbd4a3e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Sep 1, 2026.
Transparency log