Set up configuration for your application or library with ease.
Project description
configureme
Set up configuration for your application or library with ease.
Features
configureme gives you a few key features that make your life easy when creating libraries or applications:
- Easily create configuration following the config.py pattern
- Use environment variables in your configuration and change them dynamically at runtime
- Use a .env file and follow the twelve-factor app methodology
Example
Get up and running with full configuration quickly:
from configureme import Config
class Config(object):
DEBUG = False
config = Config()
# load from a simple object
config.from_object(Config)
# add and watch environment variables
config.from_envar("DEBUG")
# use a dotenv file
config.from_dotenv("/path/to/.env/")
# config works like a dict!
config["DEBUG"] # True
Installation
Installation is easy using pip:
pip install configureme
Advanced Usage
Usage with pipenv
If your using a dev workflow tool like Pipenv, you can easily pair configureme with it. Pipenv will automatically load .env files for you out of the box. To track variables loaded from a .env file when using Pipenv, simply use this pattern:
# .env file
DEBUG=true
from configureme import Config
config = Config()
# watch each variable loaded by Pipenv
config.from_envar("DEBUG")
config["DEBUG"] # True
Usage with python-dotenv
python-dotenv is a useful tool for managing .env files in multiple environments. As with the previous example, it's easy to pair with configureme.
# .env file
DEBUG=true
from dotenv import load_dotenv
from configureme import Config
load_dotenv()
config = Config()
# watch each variable loaded by python-dotenv
config.from_envar("DEBUG")
config["DEBUG"] # True
How to contribute
-
Check for open issues or open a fresh issue to start a discussion around a feature idea or a bug.
-
Fork the repository on GitHub to start making your changes to the master branch (or branch off of it).
-
Write a test which shows that the bug was fixed or that the feature works as expected. Make sure to use pre-commit too!
-
Send a pull request and bug the maintainer until it gets merged and published. Make sure to add yourself to AUTHORS.
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 configureme-0.1.2a0.tar.gz
.
File metadata
- Download URL: configureme-0.1.2a0.tar.gz
- Upload date:
- Size: 6.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.0 setuptools/40.5.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d61082c5f7b5336ecad0417a1d6b24ea537bf6b6054071294ba50c8d7e79a1d0 |
|
MD5 | 5e7b50b58a8ec551743669a345421331 |
|
BLAKE2b-256 | 430e3033df16acdc269903b6981997c3e46cdeaa5a5680704a44a066096ec390 |
File details
Details for the file configureme-0.1.2a0-py3-none-any.whl
.
File metadata
- Download URL: configureme-0.1.2a0-py3-none-any.whl
- Upload date:
- Size: 6.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.0 setuptools/40.5.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 71d53e60a3b87a45c3e3d30debac84b77c83f31e75d0b200d72a9556dff9f5c3 |
|
MD5 | ab07402f5860d103b950d9a683698469 |
|
BLAKE2b-256 | 58ed8fd44396cbbfd86fc0eaf9af4b01c0439dbae176e27292e135beea9c64f2 |