Skip to content

Local Development

Prerequisites

Install uv for Python package management.

Setup

# Install dependencies
uv sync --frozen

# Run Dagster webserver locally
uv run dagster dev

# Validate definitions for a code location
uv run dagster definitions validate -m teamster.code_locations.kipptaf.definitions

dbt

Before running dbt assets locally, prepare and package the dbt project:

uv run dagster-dbt project prepare-and-package \
  --file src/teamster/code_locations/kipptaf/__init__.py

Linting and formatting

Trunk runs all linters:

trunk check   # lint
trunk fmt     # format
Language Linter(s)
SQL SQLFluff, sqlfmt
Python Ruff, Pyright

Testing

# Run all tests
uv run pytest

# Run a single test file
uv run pytest tests/test_dagster_definitions.py

# Run asset-specific tests (require env vars / external connections)
uv run pytest tests/assets/test_assets_dbt.py