globconf
- Creates a global configparser object, regardless of the project and module in need of it
- A docker container can be used to host protected config files, consumable by the parser object
- verify_required_options merges default options with the configparser ones, and optionally ENV options while validating required options have been set either way.
Getting Started
In a project using globconf:
from globconf import config, verify_required_options, read_config, fetch_config
# when starting the app, the config can be loaded from a specific path:
read_config(path='flaf.ini', force=True) # reloads config, even if it already is loaded
# or from the globconfd container - caching supported as convenience for offline devs:
fetch_config('http://127.0.0.1:5000/cfg.ini', 'user', 'pass', cache_timeout=86400, force=True)
# if config is not explicitly loaded, config.ini is read from current folder (if there).
# verify_required_options checks presence of options, yielding a dict with the merged options
# for the section
DEFAULTS = {'required': None, 'optional_a': 1234}
cfg = verify_required_options('Some section', ['required', 'options', 'for', 'the', 'section'])
# beyond this, its still basic ConfigParser as you know it..
In modules:
from globconf import verify_required_options
class module(object):
def __init__(self):
sec = 'service now'
self.cfg = verify_required_options(sec, ['host', 'user', 'pwd'])
if not self.cfg.getboolean('verify_ssl', fallback=True):
import urllib3
urllib3.disable_warnings(InsecureRequestWarning)
And your module is happy as long as someone has initialised the needed section in the global config.
##globconfd via docker
docker run -it -v ./users.conf:env_users.conf -v ./cfgs:/configs -p 5000:5000 ssch/globconfd:latest -d
Prerequisites
configparser, diskcache, requests
Building
Build:
sudo python setup.py sdist bdist_wheel
twine upload dist/*
Authors
- Steffen Schumacher - Initial work - steffenschumacher
License
This project is licensed under the MIT License - see the LICENSE.md file for details
Acknowledgments
Nahh..
Metadata
Release files for globconf 0.0.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| globconf-0.0.6.tar.gz | 6.2 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| globconf-0.0.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.3 kB
Release files / globconf-0.0.6.tar.gz
| Download URL | globconf-0.0.6.tar.gz |
|---|---|
| Size | 6.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
919a9c7dd82537c01502ab8addd0a710eb0ad30735b28dbe268ab5cc09c3f6dd
|
|
BLAKE2b-256 checksum How to use checksums |
a5a55c7a5afcdc712f101004e9d24b2807fe09ecd7e21ef2e9419bebf6c854be
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.4
|
Release files / globconf-0.0.6-py3-none-any.whl
| Download URL | globconf-0.0.6-py3-none-any.whl |
|---|---|
| Size | 7.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c314f9f8fc6aec60ab857a3e256f5963d3fa294bae6fbc1c8aa0644beda81406
|
|
BLAKE2b-256 checksum How to use checksums |
7df5033e50f45a3f15c66954571c942cf41863461addfd846afb9ff28529c19d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.4
|
Security for globconf 0.0.6
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.