Configuration
DAGZ has two configuration files:
.dagz/config.yaml— per-project settings and feature flags, in your repo.~/.dagz/local.env/daemon.yaml— local daemon listen settings, on your machine.
For per-invocation pytest flags, see pytest options.
Project config (.dagz/config.yaml)
DAGZ works with zero configuration. A configuration file is created and updated automatically with new dagz releases at .dagz/config.yaml in your test folder root.
You can edit this file to control project settings and feature flags.
# .dagz/config.yaml
project:
uri: your-org/your-repo
timezone: UTC
public_url: https://dagz.mycompany.com
Project keys
| Key | Default | What it does |
|---|---|---|
uri | derived from git remote | Stable project identifier across runs (e.g. [email protected]:org/repo.git). |
timezone | (system) | Timezone for scheduling and dashboard timestamps (e.g. UTC, America/Los_Angeles). |
public_url | (empty) | URL of your team's remote DAGZ server. Leave empty for local-only use. |
Feature flags
All under project: in .dagz/config.yaml. Defaults shown. Most flags control which kinds of dependencies DAGZ tracks for selection; turning one off shrinks selection accuracy in exchange for slightly less instrumentation overhead.
| Flag | Default | What it does |
|---|---|---|
hires_registry_tracking | true | Per-entry precision for plugin registries (tracks individual keys in dict registries). |
collect_caches | true | Instrument lru_cache / alru_cache for cache-aware tracking. |
capture_terminal | true | Capture test stdout/stderr via PTY (preserves color, ordering). |
distributed_coverage | true | Collect coverage across child processes for integration / e2e tests. |
collect_dynamic_imports | true | Proxy-wrap dynamically imported modules for dependency tracking. |
detect_new_overrides | false | Track method overrides in class hierarchies. Instruments class creation if needed. |
tiny_tests | false | Batch test results for projects with many short tests. |
disable_python | false | Skip Python instrumentation entirely. Use only when explicitly running language-agnostic tooling. |
Daemon config (~/.dagz/local.env/daemon.yaml)
Created on first zb env local up.
The daemon binds only to loopback (127.0.0.1 and ::1) by default; the keys below opt into additional listeners.
listen:
# Docker bridge gateway address. 172.17.0.1 is Linux docker0's default;
# change for rootless Docker, Podman, or a custom bridge.
docker_bridge_addr: 172.17.0.1
# Also bind the daemon on `docker_bridge_addr` so containers on the default
# bridge can reach localhost services without --network=host.
listen_on_docker_bridge: true
# Additional addresses to bind (VPN interface, bond IP, ...). Port is
# reused from the default listener.
extra_listen_addrs: []
Apply with zb env local up --restart --bg.
For the full Docker/Mac walkthrough that uses these keys, see Running on Mac with Docker.