Skip to main content

Language agnostic configuration parser

Project description

Downloads this month Linux tests (Travis) Windows tests (Appveyor) Test coverage ( Latest version License



Confix is a language-agnostic configuration parser for Python. It lets you define the default configuration of an app as a standard Python class, then overwrite its attributes from a static configuration file (be it YAML, JSON, INI or TOML) and / or via environment variables. In doing so it validates the overridden settings by:

  • making sure they are of the same type
  • (optional) marking them as mandatory (useful for passwords)
  • (optional) validating them via a callable


python file:

from confix import register, parse

class config:
    username = 'ftp'
    password = None


config file:

# config.yml
password: secret


$ python

For more examples see docs.

Main features

  • supports YAML, **JSON, INI and TOML serialization formats.
  • can be easily extended to support other formats.
  • support for Python 3
  • small code base
  • 100% test coverage
  • allows you to define ‘schemas’ in order to validate fields 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)


Code is solid and fully tested (100% coverage). Its API may change (break) between major versions though.

Download files

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

Files for confix, version 0.2.1
Filename, size File type Python version Upload date Hashes
Filename, size confix-0.2.1.tar.gz (42.4 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page