summaryrefslogtreecommitdiff
path: root/devel/py-confuse/pkg-descr
diff options
context:
space:
mode:
Diffstat (limited to 'devel/py-confuse/pkg-descr')
-rw-r--r--devel/py-confuse/pkg-descr31
1 files changed, 25 insertions, 6 deletions
diff --git a/devel/py-confuse/pkg-descr b/devel/py-confuse/pkg-descr
index d59fe64ad9c9..7324cec7bc6d 100644
--- a/devel/py-confuse/pkg-descr
+++ b/devel/py-confuse/pkg-descr
@@ -1,7 +1,26 @@
-Confuse is a configuration library for Python that uses YAML.
+Confuse is a configuration library for Python that uses YAML. It takes care of
+defaults, overrides, type checking, command-line integration, environment
+variable support, human-readable errors, and standard OS-specific locations.
-It takes care of defaults, overrides, type checking, command-line
-integration, human-readable errors, and standard OS-specific locations.
-
-Confuse was made to power beets. Like beets, it is available under the MIT
-license.
+Here is what Confuse brings to the table:
+- An utterly sensible API resembling dictionary-and-list structures but
+ providing transparent validation without lots of boilerplate code. Type
+ config['num_goats'].get(int) to get the configured number of goats and ensure
+ that it is an integer.
+- Combine configuration data from multiple sources. Using layering, Confuse
+ allows user-specific configuration to seamlessly override system-wide
+ configuration, which in turn overrides built-in defaults. An in-package
+ config_default.yaml can be used to provide bottom-layer defaults using the
+ same syntax that users will see. A runtime overlay allows the program to
+ programmatically override and add configuration values.
+- Look for configuration files in platform-specific paths. Like $XDG_CONFIG_HOME
+ or ~/.config on Unix; "Application Support" on macOS; %APPDATA% on Windows.
+ Your program gets its own directory, which you can use to store additional
+ data. You can transparently create this directory on demand if, for example,
+ you need to initialize the configuration file on first run. And an environment
+ variable can be used to override the directory's location.
+- Integration with command-line arguments via argparse or optparse from the
+ standard library. Use argparse's declarative API to allow command-line options
+ to override configured defaults.
+- Include configuration values from environment variables. Values undergo
+ automatic type conversion, and nested dicts and lists are supported.