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.1.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.1-py3-none-any.whl (27.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: dagstack_config-0.4.1.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.1.tar.gz
Algorithm Hash digest
SHA256 d6033114039f880ccce4b76750e393fcfc966b7f779664791a8e92ad3d3029a3
MD5 da5b0168d43eca3ac9ca85bbd58fd5dd
BLAKE2b-256 e3939172c6e88c9b4abb2538ea35f9e04c76c45cadd6ccbb8f1b46c631dd4fbe

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dagstack_config-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 91f90cb9e87a1fe5c078df72562dd4ebadb6272ce73009c63856a111089f6197
MD5 e6f24c54a11514684eb86fdec04c6f62
BLAKE2b-256 187abc96ebf62bcad2986a69c7d0a5ad8bb3291eab21bfd9ec7265341770f29c

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