Skip to content
This repository has been archived by the owner on Dec 15, 2022. It is now read-only.
/ pitstop Public archive

๐ŸŽ๏ธ๐Ÿ๐Ÿ› ๏ธ Supercharged application configuration management.

License

Notifications You must be signed in to change notification settings

darvid/pitstop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

3 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

pitstop

docs/source/_static/goh-rhy-yan-377769-unsplash.jpg

pitstop lets you move tightly coupled configuration file parsing, secrets retrieval, and other configuration related administrivia logic out of your application, improving maintainability, reducing complexity, and encouraging better configuration management practices.

Overview

The purpose of pitstop is to facilitate application configuration management best practices, which are:

pitstop provides a Python 3.7+ library and command line utility, pitstop (obviously). The CLI provides the ability to leverage pitstop's functionality without being restricted to writing Python applications, by reading configuration backends and strategy configuration from a local file, and emitting a JSON encoded snapshot of the aggregated application configuration.

docs/source/_static/pitstop.png

pitstop stands on the shoulders of mature, feature-rich, and well tested Python libraries, and merely provides a convenience layer so you don't have to write the same configuration parsing and normalization scaffolding with every new library or application.

pitstop's main features:

  • Schema-driven configuration validation and normalization, powered by Cerberus.
  • Nested, path-based key access and transformation, powered by glom.
  • Multi-tiered, prioritized configuration loading strategies.
  • Easily extensible backends and encoding providers via entry points.

About

๐ŸŽ๏ธ๐Ÿ๐Ÿ› ๏ธ Supercharged application configuration management.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages