Skip to content

buguroo/environconfig

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

environconfig

https://travis-ci.org/buguroo/environconfig.svg?branch=master

environconfig allows you to use environment variables in Python with a declarative syntax.

A quick example:

from environconfig import EnvironConfig
from environconfig import StringVar, IntVar

class DBCfg(EnvironConfig):
    """Database configuration from the environment."""
    HOSTNAME = StringVar(default='localhost')
    PORT = IntVar(default=3306)
    USERNAME = StringVar()
    PASSWORD = StringVar()
    CHARSET = StringVar(default='utf8mb4')
    NAME = StringVar(default='mydatabase')

# Now you can start using it
connection = pymysql.connect(host=DBCfg.HOSTNAME,
                             user=DBCfg.USERNAME,
                             password=DBCfg.PASSWORD,
                             db=DBCfg.NAME,
                             charset=DBCfg.CHARSET,
                             cursorclass=pymysql.cursors.DictCursor)

You can check more examples in the examples directory.

Features

  • Built-in basic types: String, Bool, Int, Float...
  • Easy Customizable: CustomVar (just pass a callable to make the conversion)
  • No mocking necessary for testing: Just instantiate your config with a dictionary.
  • Easy build complex constructions with environment data: See MethodVar

Collaboration

  • We are always open to pull requests and accept new var types.

About

Declarative Environment Variables

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages