output envdir as JSON or YAML
Project description
cfgdir
Read envdir style configuration directory and output as JSON or YAML
https://github.com/rstms/cfgdir
Inspired by djb's excellent envdir, a component of daemontools
Leverage the powerful simplicity of the filesystem as your configuration database, and the freedom to fluidly manipulate configuration data from your shell.
Unlike envdir's mechanism of running another program with the configuration in environment variables, this program outputs a stream in JSON or YAML format. This output can be captured in a file or piped into stdin of another program.
Interface
cfgdir [OPTIONS] d [INPUT] [OUTPUT]
optionally reads a JSON or YAML object from INPUT (use - to read stdin) , then reads the directory named d, outputting a JSON or YAML object modified according to files in d.
The format of d is as follows: (adapted from envdir's documentation)
If d contains a file named s whose first line is t, cfgdir's output will contain an element named s with string value t. The name s must not contain =. Spaces and tabs at the end of t are removed. Nulls in t are changed to newlines.
If the file s is completely empty (0 bytes long) cfgdir will remove the element named s if it exists.
Arguments:
Argument | default | Description | |
---|---|---|---|
DIRECTORY | optional | /dev/null | Directory containing configuration data files |
INPUT | optional | /dev/null | Input filename or - for stdin |
OUPUT | optional | stdout | Output Filename or - for stdout |
Options:
-c, --compact minimize output
-s, --sort sort output
-j, --json JSON format
-y, --yaml YAML format
-r, --recurse process subdirectories
-o, --overlay overlay JSON/YAML formatted string onto output
--help Show this message and exit.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file cfgdir-1.0.11.tar.gz
.
File metadata
- Download URL: cfgdir-1.0.11.tar.gz
- Upload date:
- Size: 4.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.5.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 994f7a33f4c9e04b7f8476ad5fe25faf87eadccdcc3a44fb3da9cbbf465ae93b |
|
MD5 | 6ef56f98217c1ba676e1ce703d4d1bbc |
|
BLAKE2b-256 | a4f2a64335e1ad069d069be0f94e2707ef01b5e027b4ac378be063c3c9162abc |
File details
Details for the file cfgdir-1.0.11-py2.py3-none-any.whl
.
File metadata
- Download URL: cfgdir-1.0.11-py2.py3-none-any.whl
- Upload date:
- Size: 6.5 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.5.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 943bb4e0a93688af741fa407463183e82cd631db98e67b9a6c2380ce8460909a |
|
MD5 | 57f078896a8b53c354c1bdd545343989 |
|
BLAKE2b-256 | e68e99920760abacfb4f7cf39dd903179b40ab30248a07582c2d15ea0d593c64 |