ConfigObj alternatives and similar packages
Based on the "Configuration" category.
Alternatively, view ConfigObj alternatives based on common mentions on social networks and blogs.
-
python-dotenv
Reads key-value pairs from a .env file and can set them as environment variables. It helps in developing applications following the 12-factor principles. -
django-environ
Django-environ allows you to utilize 12factor inspired environment variables to configure your Django application. -
django-split-settings
Organize Django settings into multiple files and directories. Easily override and modify settings. Use wildcards and optional settings files. -
ConfigArgParse
A drop-in replacement for argparse that allows options to also be set via config files and/or environment variables. -
parse_it
A python library for parsing multiple types of config files, envvars & command line arguments that takes the headache out of setting app configurations.
CodeRabbit: AI Code Reviews for Developers

* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of ConfigObj or a related project?
README
configobj
Python 3+ compatible port of the configobj library.
Documentation
You can find a full manual on how to use ConfigObj at readthedocs. If you want to work on the project, please see the Contributing section below.
Status
This project is now maintained by Eli Courtwright and Rob Dennis with the blessing of original creator Michael Foord.
For long time ConfigObj users, the biggest change is in the officially supported Python versions (it was 2.3 … 2.6):
- 2.7
- 3.4 … 3.7
Other Python3 versions may work, but this is what Travis and tox
use to run the tests on commit.
Roadmap
- Fixing any issues introduced as a result of the added Python 3 support
- Moving tests away from doctests in favor of pytest (reasonable now that versions older than 2.6 are dropped)
- Considering new features that work in a backwards-compatible way (feel free to open an issue with your suggestion)
- Also see the milestones
Contributing
Contributing to this project is easy, and reporting an issue or adding to the documentation also improves things for every user. You don’t need to be a developer to contribute. See CONTRIBUTING for more.
As a documentation author or developer, to create a working directory for this project, call these commands:
git clone "https://github.com/DiffSK/configobj.git"
cd "configobj"
command . .env --yes --develop # add '--virtualenv /usr/bin/virtualenv' for Python2
invoke build --docs test doctest check
For this to work, you might also need to follow some setup procedures to make the necessary basic commands available on Linux, Mac OS X, and Windows.
Running the test suite can be done several ways, just call invoke test
for a quick check.
Run invoke test.tox
for testing with all supported Python versions
(if you have them available),
or be more selective by e.g. calling invoke test.tox -e py27,py34
.
Use invoke check
to run a code-quality scan.
To start a watchdog that auto-rebuilds documentation and reloads the opened browser tab on any change,
call invoke docs -w -b
(stop the watchdog using the -k
option).
*Note that all licence references and agreements mentioned in the ConfigObj README section above
are relevant to that project's source code only.