Skip to content

Instantly share code, notes, and snippets.

@diegov
Last active June 7, 2023 15:59
Show Gist options
  • Save diegov/b9ef07a973c91f103102b6b5b9d32ec3 to your computer and use it in GitHub Desktop.
Save diegov/b9ef07a973c91f103102b6b5b9d32ec3 to your computer and use it in GitHub Desktop.
Config for python services

Config libraries

Project Python Version Updated Notes
DynaConf >= 3.7 2022-11-09 multi-format, supports env var override, 12 factor inspired. I didn't see anything notable in https://libraries.io/pypi/dynaconf/dependents
Hydra 0.11: 2.7, stable: >= 3.6 2022-12-08 Multiple sources, cli override, 6k+ stars on GH but nothing on https://libraries.io/pypi/hydra-core/dependents. Takes ownership of main??
OmegaConf 1.4.1: 2.7, stable: >= 3.6 2022-12-08 Used by Hydra and a bunch of others. Multi-source, env var and cli override
decouple >= 3 probably 2022-05-11 Env var + config file (ini only?)
Gin >= 2.7 2022-12-05 Config + cli args. No mention of env vars. Decorator-based. Seems focused on tensorflow

Validation

Project Python Version Updated Notes
Schema >= 2.6 2021-12-01
Pydantic >= 3.7 2022-12-15 ❤️

Cli stuff

Project Python Version Updated Notes
Typer >= 3.6 2022-11-14 Nice, simple and pragmatic but only handles CLI args
Click >= 2.7 2022-11-01 Reads CLI args and env vars
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment