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.1rc1.tar.gz (144.2 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.1rc1-py3-none-any.whl (30.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: dagstack_config-0.4.1rc1.tar.gz
  • Upload date:
  • Size: 144.2 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.1rc1.tar.gz
Algorithm Hash digest
SHA256 9d2ca84355625c9999328a44b161c9902741dced6c917d4884551d30628b002a
MD5 1efa645c675c09337e20f00b99cf686a
BLAKE2b-256 61aa93eae72fe04738e61c8f4805bd033f88e1c7b7061ed1ccd3728af6af9dd3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dagstack_config-0.4.1rc1-py3-none-any.whl
Algorithm Hash digest
SHA256 f8ce3dfc15299d761ab407ad232c680bc53775c0da8d4c910842284c989140e0
MD5 f088c3d63c1769ba69e27a85d86d9ce1
BLAKE2b-256 c73377ba462663b724c914ce390477942f82e8f3b3259d0a38402cda16981430

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