Skip to main content

Set up configuration for your application or library with ease.

Project description

configureme

Build Status Code style: black codecov Total alerts Language grade: Python GitHub license

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

  1. Check for open issues or open a fresh issue to start a discussion around a feature idea or a bug.

  2. Fork the repository on GitHub to start making your changes to the master branch (or branch off of it).

  3. Write a test which shows that the bug was fixed or that the feature works as expected. Make sure to use pre-commit too!

  4. Send a pull request and bug the maintainer until it gets merged and published. Make sure to add yourself to AUTHORS.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

configureme-0.1.2a0.tar.gz (6.1 kB view details)

Uploaded Source

Built Distribution

configureme-0.1.2a0-py3-none-any.whl (6.2 kB view details)

Uploaded Python 3

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

Hashes for configureme-0.1.2a0.tar.gz
Algorithm Hash digest
SHA256 d61082c5f7b5336ecad0417a1d6b24ea537bf6b6054071294ba50c8d7e79a1d0
MD5 5e7b50b58a8ec551743669a345421331
BLAKE2b-256 430e3033df16acdc269903b6981997c3e46cdeaa5a5680704a44a066096ec390

See more details on using hashes here.

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

Hashes for configureme-0.1.2a0-py3-none-any.whl
Algorithm Hash digest
SHA256 71d53e60a3b87a45c3e3d30debac84b77c83f31e75d0b200d72a9556dff9f5c3
MD5 ab07402f5860d103b950d9a683698469
BLAKE2b-256 58ed8fd44396cbbfd86fc0eaf9af4b01c0439dbae176e27292e135beea9c64f2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page