skip to navigation
skip to content

confix 0.1.0

Language agnostic configuration parser

Package Documentation

Latest Version: 0.2.1



A language-agnostic configuration parser for Python. It lets you define the default configuration of an app as a standard Python class, then overwrite only the keys you need from a static config file (be it YAML, JSON, INI or TOML). This is useful in order to avoid storing sensitive data (e.g. passwords) in the source code.


config file:

# config.yaml
    password: secret

python file:

from confix import register, parse

class config:
    host = 'localhost'
    port = 2121
    user = 'ftp'
    password = None         # this will be overridden later

if __name__ == '__main__':
    parse('config.yaml')    # make replacements to "config" class
    print(config.user)      # will print "ftp"
    print(config.password)  # will print "secret"

Additional features

  • supports YAML, JSON, INI and TOML serialization formats.
  • can be easily extended to support other formats.
  • support for Python 3
  • small code base
  • allows you to define ‘schemas’ in order to validate options and mark them as required:
from confix import register, schema

class config:
    port = schema(default=21, validator=lambda x: isinstance(x, int))
    password = schema(required=True)


Still beta, but the base API/functionality will likely remain unmodified.

File Type Py Version Uploaded on Size
confix-0.1.0.tar.gz (md5) Source 2014-05-16 7KB