Package: pyditz
PyDitz -- a distributed issue trackerIntroductionThis package is intended to be a drop-in replacement for theDitzdistributed issue tracker.  It
provides apyditzcommand-line program, which acts (mostly) the same way
asditz, and it adds several other nice things too:Whereasditz, when typed on its own, runs thetodocommand,pyditzdrops 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 theditz'hook' feature), or packages that
usesetuptoolsentrypoints.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.RequirementsTo install and run it:PyYAMLJinja2CerberussixTo have nice terminal highlighting output:Pygmentscoloramaif you're on WindowsTo mark up description and comment text in HTML output:Markups(and the modules it needs
to function)To run the test suite:PyTestMockTo build the documentation:SphinxThealabasterthemeInstallationThe usual incantation will install things:pip install pyditzThis will install theditzmodule and a console command calledpyditzto invoke in a similar manner to the originalditz.  As a convenience to
reduce typing, a short-form version of the command is also installed:pd.DocumentationThe current documentation can be found onlinehere.  You can also look at an example
of theHTML output.LicensePyDitz is distributed under theGNU Lesser General Public License,
v2or later.LinksIf you like this, here's a few more things you might want to check out:Pitzis another Ditz-alike issue
tracker, also written in Python.  Its bug database is not compatible with
Ditz, and I didn't have much luck getting it to work, but it might work
for you.There's another Python project of the same name calledakaihola-pyditz.  (I only found it
after publishing mine, or I might have chosen another name.)  Not updated
since 2009, but it has some ideas for logging work that might be useful.There's alsoditz plus plus,
another reimplemenation written in C++, although that hasn't been
updated since mid-2013.If you're a fan ofGNU Emacs,
there's aditz-modewritten for it
that I maintain.  It works with the original Ditz, or PyDitz.ChangesVersion 0.11 (2020-05-29)bugfix: Fix up a few I/O problemsbugfix: Problem with --no-search optionbugfix: IPython doesn't work as a pluginbugfix: Session generation doesn't work with Py3Add a standard short alias commandRefactor the write_yaml() functionImprove startup timeSort exported releases by versionVersion 0.10.3 (2019-01-11)bugfix: Fix highlighting customizationVersion 0.10.2 (2018-08-31)bugfix: Resolve problems with cerberus updatebugfix: Resolve problems with markups updateVersion 0.10.1 (2017-07-31)bugfix: Crash when trying to create dbVersion 0.10 (2016-11-27)Improve startup operationsAllow abbreviation of issue namesSort issues by last-modified timeImplement issue-claiming commandsUse cerberus for data validationVersion 0.9.1 (2016-03-24)bugfix: Line wrapping problem in terminalbugfix: Fix problems with version detectionMinor package improvementsVersion 0.9 (2015-09-27)bugfix: Bytes output if pygments is not installedbugfix: Initialization command doesn't workImplement the 'edit' commandImplement command pluginsAdd support for markup in HTML outputAllow per-project config fileNew command to list all issuesAdd project file to version controlAdd validation schemasSearch more fields with grepVersion 0.8.1 (2015-08-18)bugfix: Fix non-ASCII text in issue databugfix: HTML plugin load failureVersion 0.8 (2014-12-05)bugfix: Grep arguments not handled correctlyAllow customization of HTML outputAllow issues to be specified by IDAdd progress time indicator to 'show' and HTMLImplement exporting directly to archiveAdd section arg to config commandAdd exporter plugin systemAdd python 3 supportImprove the default HTML styleMove ~/.ditzrc to ~/.ditz/ditz.cfgRelicense under LGPLVersion 0.7 (2014-09-28)bugfix: Handle YAML comment char in stringsAdd VCS supportAdd unicode supportAdd issue type column to HTML outputAdd command to display configurationImplement the 'validate' commandAdd output highlightingAdd support for command aliasesAdd pager supportImprove the documentationWire up the remaining program optionsImprove configuration settingsImprove logging command outputVersion 0.6.2 (2014-08-10)bugfix: Name substitution not done in issue descriptionVersion 0.6.1 (2014-08-09)bugfix: Print message on successful unassignmentbugfix: Ignore unreleased releases when assigning issuesVersion 0.6 (2014-03-28)bugfix: Handle non-ASCII characters when writing outputInstall as 'ditz' if required by userAdd HTML component column if multiple components in useDon't show HTML release column for unassigned issuesPrint message on successful issue assignmentVersion 0.5.2 (2013-12-20)bugfix: Blank lines shouldn't end a commentVersion 0.5.1 (2013-12-18)bugfix: Prompt for component when creating issuesbugfix: Show issue status even if not closedVersion 0.5 (2013-12-12)bugfix: Issue names not replaced in comment textbugfix: Reconfigure clobbers existing fileAdd sortable tables to HTML outputWrite some user documentationAdd a user config fileVersion 0.4 (2013-12-09)Implement the 'html' commandVersion 0.3 (2013-11-23)bugfix: Multiple 'issuedir' keywords in initVersion 0.2 (2013-11-23)bugfix: Fix up problems with blank commentsVersion 0.1 (2013-11-23)bugfix: Fix round-tripping of issue filesImplement all the ditz commands