lib/
├── stardag/ # Core SDK library
└── stardag-examples/ # Example DAGs and demos
app/
├── stardag-api/ # FastAPI backend for task tracking
└── stardag-ui/ # React frontend for monitoring
./scripts/install.shOr manually:
# Install each Python package (creates separate .venv per package)
cd lib/stardag && uv sync --all-extras && cd ../..
cd lib/stardag-examples && uv sync --all-extras && cd ../..
cd app/stardag-api && uv sync --all-extras && cd ../..
# Install frontend
cd app/stardag-ui && npm install && cd ../..
# Install root workspace (for dev)
uv sync --all-extras./scripts/test.shOr via tox:
tox -e stardag-py311,stardag-examples-py311,stardag-api-py311,stardag-uidocker compose up -dThis starts:
- PostgreSQL database on port 5432
- API service on port 8000
- Web UI on port 3000
Then run a DAG with API registry:
export STARDAG_API_REGISTRY_URL=http://localhost:8000
python -m stardag_examples.api_registry_demoView tasks at http://localhost:3000
# Test specific package
tox -e stardag-py311
tox -e stardag-examples-py311
tox -e stardag-api-py311
tox -e stardag-ui
# Run all Python tests
tox -e stardag-py311,stardag-examples-py311,stardag-api-py311tox -e pre-commit# Type check specific package
tox -e stardag-pyright
tox -e stardag-examples-pyright
tox -e stardag-api-pyrightNote: pyright currently has pre-existing errors and is excluded from CI.
toxcd app/stardag-ui
npm run dev # Start dev server (port 5173)
npm test # Run tests
npm run build # Production buildThe dev server proxies /api to http://localhost:8000.
When developing locally against the docker compose stack, you need to authenticate the SDK with the API service.
- Start the full stack (includes Keycloak identity provider):
docker compose up -d-
Access the web UI at http://localhost:3000 and create an account or log in.
-
Install the CLI:
cd lib/stardag
uv sync --extra cliMethod 1: Browser Login (recommended for interactive development)
uv run stardag auth loginThis opens your browser to Keycloak (http://localhost:8080). After login, tokens are stored in ~/.stardag/credentials.json.
Check your auth status:
uv run stardag auth statusMethod 2: API Key (for scripts/automation)
- Log in to the web UI at http://localhost:3000
- Go to Organization Settings > API Keys
- Create a new API key for your workspace
- Set the environment variable:
export STARDAG_API_KEY=sk_your_key_hereAfter authentication, verify the setup works:
# Check auth status
uv run stardag auth status
# Run the demo script to test API registry integration
cd lib/stardag-examples
export STARDAG_API_URL=http://localhost:8000
uv run python -m stardag_examples.api_registry_demoYou should see tasks appearing in the web UI at http://localhost:3000.
uv run stardag auth logoutSee CONTRIBUTING.md for guidelines on submitting changes.