Simple, super-flexible options. Does magic upon request.
options helps represent option and configuration data in a clean, high-function way. Changes to options can “overlay” earlier or default settings.
For most functions and classes, options is overkill. Python’s regular function arguments, *args, **kwargs, and inheritance patterns are elegant and sufficient for 99.9% of all development situations. options is for the top 0.1%:
- highly functional classes or functions,
- with many different features and options,
- which might be adjusted or overriden at any time,
- yet that need “reasonable” or “intelligent” defaults, and
- that yearn for a simple, unobtrusive API.
In those cases, Python’s simpler built-in, inheritance-based model adds complexity. Non-trivial options and argument-management code spreads through many individual methods. This is where options’s layered, delegation-based approach begins to shine.
For more backstory, see this StackOverflow.com discussion of how to combat “configuration sprawl”. options full documentation can be found at Read the Docs. For examples of options in use, see say and show.
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size options-1.2.2-py2.py3-none-any.whl (13.1 kB)||File type Wheel||Python version 2.7||Upload date||Hashes View|
|Filename, size options-1.2.2.tar.gz (150.6 kB)||File type Source||Python version None||Upload date||Hashes View|
|Filename, size options-1.2.2.zip (157.6 kB)||File type Source||Python version None||Upload date||Hashes View|
Hashes for options-1.2.2-py2.py3-none-any.whl