Python package for handling user-provided options with flexible defaults, documentation and checking