pycommand adheres to Semantic Versioning.
- Full templates can now (also) be auto generated
- CI testing for Python 3.5 and 3.6
Note
The pycommand init script is removed and is included in the
pycommand package itself.
To auto generate scripts from templates, from now on use:
python -m pycommand init
- The code is split up into several modules and pycommand is now
distributed as a package rather than a single module. The public
API does not change however, all relevant members (CommandBase,
run_and_exit) that are now placed in pycommand.pycommand are
exposed through __init__ and therefore are still available as
pycommand.CommandBaseandpycommand.run_and_exit. - Code generator is included in the package itself instead of
using an installed script (
pycommand init) - All templates are now embedded as well
- Pycommand init script (installed into /usr/local/bin)
- Templates directory
- GNU info docs and manpage from distribution (they can still be generated)
- pycommand.3 (prev. installed into /share/man/man3)
- pycommand.info
- Shortcut
run_and_exit()for reading fromsys.argv[1:]and exiting the interpreter viasys.exit(status) - Package as wheel distribution to speed up installations
- Add
man pycommandability, i.e. install mandoc in/usr/share/man3/
- Add support for getting flags by attribute like
self.flags.help. The default approach for normal dicts likeself.flags['help']remains valid.
- Full example of a command with subcommands
- Create quick templates via pycommand script (
pycommand init) - Unit tests and automatic testing via Travis-CI
- Documentation
man(.3) andinfo(.info) pages
- Specification of subcommands can be defined in CommandBase.command as a shortcut.
- Initial release