Skip to main content

Python binding for dagstack/config-spec — YAML configuration with env interpolation, Pydantic-based typed sections, runtime reconfigure

Project description

dagstack-config

Python binding for dagstack/config-spec — YAML configuration with env interpolation, deep-merge layering, Pydantic-based typed sections, runtime reconfigure.

Status: Phase A (skeleton). Implementation in progress — see open issues.

Roadmap

  • Phase A (this PR) — repo skeleton, pyproject, CI, spec submodule, empty package.
  • Phase B — core primitives: ConfigError + reasons, env interpolation parser, deep merge, Canonical JSON serializer.
  • Phase CConfig class, ConfigSource abstraction (YamlFileSource, JsonFileSource, InMemorySource), Subscription handle.
  • Phase D — conformance runner against spec/conformance/ golden fixtures.
  • Phase 1 release (0.1.0) — after Phase A-D merge. Spec MVP (no watch, hot-reload, OTLP-source, etc.).
  • Phase 2+ — source adapters (etcd, Consul, Vault, HTTP), watch + push-reload, LogProcessor-like hooks.

Spec

The spec submodule lives in spec/ (pointing to dagstack/config-spec). Normative decisions are recorded in spec/adr/0001-yaml-configuration.md.

Local development

git clone --recurse-submodules git@github.com:dagstack/config-python.git
cd config-python
uv sync --group dev

make test           # pytest
make lint           # ruff check + format --check
make typecheck      # mypy --strict

Licensing

Apache-2.0 (see LICENSE).

Related

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dagstack_config-0.4.1rc2.tar.gz (141.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dagstack_config-0.4.1rc2-py3-none-any.whl (27.5 kB view details)

Uploaded Python 3

File details

Details for the file dagstack_config-0.4.1rc2.tar.gz.

File metadata

  • Download URL: dagstack_config-0.4.1rc2.tar.gz
  • Upload date:
  • Size: 141.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for dagstack_config-0.4.1rc2.tar.gz
Algorithm Hash digest
SHA256 eb3d10ea3d0506cdd51e8d36b1b302adb44ad1fc9ea403ce2409012aba74a279
MD5 71eb071211a3efe8d25bb1e68d8e5c49
BLAKE2b-256 455ab4ba7f28c89cb4de30677e3b2ded3fe8a9dddee834e79a6c8c280080b17b

See more details on using hashes here.

File details

Details for the file dagstack_config-0.4.1rc2-py3-none-any.whl.

File metadata

File hashes

Hashes for dagstack_config-0.4.1rc2-py3-none-any.whl
Algorithm Hash digest
SHA256 aba4c76ab871cb1deb171f851805d094034150a88bc98c0314a62e84e95e1963
MD5 7059eb2fe2e051d624742d1937611c02
BLAKE2b-256 8d946bed77ddeb10f2f386539c07f42fbb199293df8d5ca4b17e1d22ee4fa440

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page