This package is intended to be a drop-in replacement for the Ditz distributed issue tracker. It provides a pyditz command-line program, which acts (mostly) the same way as ditz, and it adds several other nice things too:
- Whereas ditz, when typed on its own, runs the todo command, pyditz drops you into a command shell where you can run Ditz commands and get completion on command names, issue names and release names according to context.
- With PyDitz, you don't have to run it from the same directory where the issue database is; it will look in parent directories for it.
- It keeps an intelligent cache of issues, so parsing of all the YAML files isn't necessary for each command. This greatly improves speed when you have lots of issues.
- You can extend PyDitz using plugins that you write---either simple standalone files (similar to the ditz 'hook' feature), or packages that use setuptools entrypoints.
- You can use the database engine of PyDitz in Python programs to migrate bug databases to and from Ditz format, or create summary reports in your own favourite format. Me, I prefer reStructuredText and rst2pdf.
- To install and run it:
- PyYAML, Jinja2 and six
- To have nice terminal highlighting output:
- Pygments (and colorama if you're on Windows)
- To mark up description and comment text in HTML output:
- Markups (and the modules it needs to function)
- To run the test suite:
- Nose, Mock and Coverage
- To build source distributions from the checked-out Mercurial repo:
- hgtools and flake8
- To build the documentation:
- Sphinx and the napoleon extension
The usual incantation will install things:
python setup.py install
This will install the ditz module and a console command called pyditz to invoke in a similar manner to the original ditz.
If you want to shadow the original completely, and have the ditz command run this instead, create a file called ditz.cfg in a .ditz subdirectory of your home directory and add these lines:
[config] command = ditz
This only takes effect at installation time. Of course, instead of ditz you can choose anything else more keyboard-friendly.
PyDitz is distributed under the GNU Lesser General Public License, v2 or later.