Skip to main content

pypi versions license

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

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Acknowledgments

Nahh..

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)

Source distribution for globconf 0.0.6
File Size Uploaded
globconf-0.0.6.tar.gz 6.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for globconf 0.0.6
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

0.0.7

2 release files

This release

0.0.6 This release

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page