skip to navigation
skip to content

Not Logged In

options 1.3.2

Simple, super-flexible options. Does magic upon request.

options helps represent option and configuration data in a clean, high-function way. Changes can “overlay” defaults or earlier settings.

For most functions and classes, options is flexibility overkill. Not everyone wants or needs to be a world-class gymnast, yogi, or contortionist For most, Python’s regular function arguments, *args, **kwargs, and inheritance patterns are elegant and sufficient. options is for the top 1% that need:

  • extremely functional classes, functions, and methods,
  • with many different features and options,
  • the settings for 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 built-in, inheritance-based model stops being the simple approach. Non-trivial argument-management code code and complexity begins to pervade. This is where options’s layered, delegation-based approach begins to shine. Almost regardless of how varied the options it wrangles, or how much flexibility is required, code complexity remains very flat.

For more backstory, see this 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.

File Type Py Version Uploaded on Size
options-1.3.2-py2.py3-none-any.whl (md5) Python Wheel 2.7 2015-08-26 13KB
options-1.3.2.tar.gz (md5) Source 2015-08-26 148KB (md5) Source 2015-08-26 160KB
  • Downloads (All Versions):
  • 32 downloads in the last day
  • 1107 downloads in the last week
  • 7155 downloads in the last month