Application configuration engine
Project description
Python helper class to ingest and serialize app-specific configuration
Provides a self-contained (no dependencies outside the standard library), Python 2 and 3 compatible configuration manager. Automatically saves and restores your application’s configuration in your user home directory. Uses JSON or (optionally) YAML for serialization. Supports dict-like methods and access semantics.
Installation
If your package does not permit dependency management, you can copy the Config class directly into your application from https://github.com/kislyuk/tweak/blob/master/tweak/__init__.py. Otherwise:
pip install tweak
Synopsis
from tweak import Config
config = Config()
config.host, config.port = "example.com", 9000
config.nested_config = {}
config.nested_config.foo = True
After restarting your application:
config = Config() print(config) >>> {'host': 'example.com', 'port': 9000, 'nested_config': {'foo': True}}
Using an argparse.Namespace object returned by argparse.parse_args():
parser = argparse.ArgumentParser() ... args = parser.parse_args() if args.foo is not None: config.foo = args.foo elif "foo" not in config: raise Exception("foo unconfigured") config.update(vars(args))
Using YAML:
config = Config(use_yaml=True) ...
Links
Bugs
Please report bugs, issues, feature requests, etc. on GitHub.
License
Licensed under the terms of the Apache License, Version 2.0.
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
Hashes for tweak-0.1.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2ace99bc2b90db73a3ad216446b76c896a5f83dc5d8061efac045d160c5527e8 |
|
MD5 | f7dea91f420d150120065299922c9beb |
|
BLAKE2b-256 | a8ea1fe92cc534a3e15759a224389e63b635c32fd5fcc245b0b412e619820018 |