Skip to main content

Generic modularized configuration file manager

Project description

The update-dotdee program makes it very easy to manage (configuration) files with modular contents in the style of Debian and dotdee. The program takes the pathname of an existing file and updates that file based on the contents of the files in the directory with the same name as the file but ending in .d. For example:

peter@macbook> sudo update-dotdee /etc/hosts
2013-07-06 19:32:03 macbook INFO Reading file: /etc/hosts.d/1-local
2013-07-06 19:32:03 macbook INFO Reading file: /etc/hosts.d/2-work
2013-07-06 19:32:03 macbook INFO Reading file: /etc/hosts.d/3-ipv6
2013-07-06 20:59:24 macbook INFO Checking for local changes to /etc/hosts
2013-07-06 19:32:03 macbook INFO Writing file: /etc/hosts

If the given file exists but the corresponding directory does not exist yet, the directory is created and the file is moved into the directory so that its existing contents are preserved. If the generated file has been modified since the last run, update-dotdee will refuse to overwrite its contents (unless you use the --force option).


An example of the basic usage is given above. You can install the update-dotdee program by executing the following command:

pip install update-dotdee


The latest version of update-dotdee is available on PyPi and GitHub. For bug reports please create an issue on GitHub. If you have questions, suggestions, etc. feel free to send me an e-mail at


This software is licensed under the MIT license.

© 2013 Peter Odding.

Project details

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page