A Config Management CLI Tool similar to dynaconf for python 2 and above
Project description
A Config Management CLI Tool similar to dynaconf for python 2 and above
=============================================================================
The library provides a basic cli tool config_py2
to initialize a config mechanism in the current directory
Once installed you can run the --help
to see the list of commands and options supported.
Please note that although the validation is missing currently, it will be supported in future releases.
$ config_py2 --help
Usage: config_py2 [OPTIONS] COMMAND [ARGS]
Options:
--version Show config_py2 version currently installed
--help Show this message and exit
Commands:
init Inits a config_py2 project. Default behavior of using `settings.toml` can be overriden with [ARGS]
list Lists all defined config values
Args: Optionally use EITHER one of these in conjunction with `init` command
-f, --filename Pass one or more of this followed by a filename (with extension) to give a list of file(s) to use for config
-t, --filetype Pass one or more of this followed by a filetype (extension) to use for settings file.
Possible values are: [toml | json | yaml]
Please note that this option will not be used if filenames are passed via the -f, --filename flag
-e, --env_prefix Pass this option to override the ENV_PREFIX that will be used to override configs with the shell variables
Format of environment variables will be `ENV_PREFIX_{}`. By default it is set to 'CONFIG'
Examples to get you started with the init
command
# Initializes a config_manager.py and settings.toml with placeholders for various environments
$ config_py2 init
Configuring your environment. Please Wait !
# Initializes a config_manager.py and settings.json with placeholders for various environments
$ config_py2 init -t json
Configuring your environment. Please Wait !
# Initializes a config_manager.py and settings.toml, settings-override.toml with placeholders for various environments
# Note that the configs will be read in the same order as provided during the `init` command
# Also note that the subsequent settings files don't need to have a `default` section of their own as long
# as the first file has one. This can be useful when you have seperate files for different environments
$ config_py2 init -f settings.toml -f settings-override.toml
Configuring your environment. Please Wait !
# This wil print the list of all configs as it'll be available for your application
$ config_py2 list
{
"APP_ENV": "local",
"CONFIG_ENVIRONMENT": "local"
}
Examples for usage in code once the config mechanism is initialized via the cli-tool
$ export CONFIG_ENVIROMENT=local
$ python
>>> from config import settings
>>> settings.APP_ENV
'local'
>>> settings.CONFIG_ENVIRONMENT
'local'
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
config_py2-1.3.3.tar.gz
(4.4 kB
view details)
Built Distribution
File details
Details for the file config_py2-1.3.3.tar.gz
.
File metadata
- Download URL: config_py2-1.3.3.tar.gz
- Upload date:
- Size: 4.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.15.0 pkginfo/1.8.3 requests/2.27.1 setuptools/44.1.0 requests-toolbelt/0.9.1 tqdm/4.64.0 CPython/2.7.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c795645e6ee6ecaa241cf71c158136a504343495e38c7df53efe4d2e659e0475 |
|
MD5 | 1211e42b72c7c8d4f8bb26b549b0b895 |
|
BLAKE2b-256 | 73b49442e1efda3cb0d92ca0e378d232c1dcdbdccdf2280e4b40b5d4d06b3372 |
File details
Details for the file config_py2-1.3.3-py2-none-any.whl
.
File metadata
- Download URL: config_py2-1.3.3-py2-none-any.whl
- Upload date:
- Size: 17.6 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.15.0 pkginfo/1.8.3 requests/2.27.1 setuptools/44.1.0 requests-toolbelt/0.9.1 tqdm/4.64.0 CPython/2.7.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c87b5c7b224790cf805679530893359e0d9761d5f660b9b2fb83d9b286c988d4 |
|
MD5 | a14e674e0e479ae805cf36a2487fc9e2 |
|
BLAKE2b-256 | ee4bfbdd68b3c52e24f09c3242e91c8ec1e4f12bb0453b6fe86da3f8bb5617b8 |