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

Latest commit

 

History

History
64 lines (48 loc) · 2.38 KB

README.rst

File metadata and controls

64 lines (48 loc) · 2.38 KB

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.