Skip to main content

A tool for managing multiple configuration files. Based off of Adobe's HIML.

Project description

Pigeon Config

Pigeon Config is a tool for managing a set of YAML configuration files. It is based on Adobe's himl, and compiles a collection of YAML files, merging keys as necessary. It outputs a separate YAML file for each top level key. It can also check if the compiled YAML files need to be updated.

Command Line Usage

usage: pigeon-config [-h] [-c] [-r ROOT] [-o OUTPUT] [leaf]

positional arguments:
  leaf                  The leaf directory to use.

options:
  -h, --help            show this help message and exit
  -c, --check           Check if pigeon-config should be run again.
  -r ROOT, --root ROOT  The path to use as the current working directory.
  -o OUTPUT, --output OUTPUT
                        The directory to output the configuration files to.

Pigeon Config has two modes, 1. to compile the configuration (the default), and 2. to check if the configuration needs to be recompiled.

Compiling

When compiling a configuration, Pigeon Config will find all YAML files in the directory tree starting from the specified leaf directory, and stopping one level short of the current directory, or the root directory if specified. The compiled output is then saved to a directory named materialized relative to the current directory, or to the output directory if specified.

Checking

To check if a configuration should be recompiled, Pigeon Config can be run with the --check option. In this case, Pigeon Config checks if any files in the current directory, or root directory if specified, are newer than the files in the output directory, again defaulting to materialized. In this mode, Pigeon Config will output the files that are newer than the output, and exits with a nonzero exit code when such files exist. Note: the way the root directory option is treated is different in the configuration checking mode, than in the compiling mode.

Removing Keys

To remove keys from the compiled configuration, they may be set to null. This removal is performed at all levels.

Installing

Pigeon Config can be installed from the Python Package Index using pip install pigeon-config.

Docker

A Dockerfile is also provided so Pigeon Config can be run inside a Docker container, and included as part of a Docker compose file.

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

pigeon_config-0.2.3.tar.gz (30.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pigeon_config-0.2.3-py3-none-any.whl (48.7 kB view details)

Uploaded Python 3

File details

Details for the file pigeon_config-0.2.3.tar.gz.

File metadata

  • Download URL: pigeon_config-0.2.3.tar.gz
  • Upload date:
  • Size: 30.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pigeon_config-0.2.3.tar.gz
Algorithm Hash digest
SHA256 9a06974d2bec38487011622be7acc80fe2d2a6ea0aca61edc72ffb41d8772d4e
MD5 44a02251b8c6116e5463d11916f663c3
BLAKE2b-256 731efd10e63f0a433067368dc173fd43dc46ac0ef06099c0fd8bf53bd059ede0

See more details on using hashes here.

Provenance

The following attestation bundles were made for pigeon_config-0.2.3.tar.gz:

Publisher: main.yaml on TilEM-project/pigeon-config

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pigeon_config-0.2.3-py3-none-any.whl.

File metadata

  • Download URL: pigeon_config-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 48.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pigeon_config-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 8fa2bcb645f81757ab2ccc7192e15b3db53288d52c5ad0f83db75b06325f2960
MD5 7af7f9abb9e28436662feb54c932ba2c
BLAKE2b-256 b4d834bf15d9514c05493ce0057087836cdeb502c775a39fde7cc06936e62c9f

See more details on using hashes here.

Provenance

The following attestation bundles were made for pigeon_config-0.2.3-py3-none-any.whl:

Publisher: main.yaml on TilEM-project/pigeon-config

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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