Python implementation of Ditz (http://rubygems.org/gems/ditz).
Project description
PyDitz -- a distributed issue tracker
Introduction
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 thetodo
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.
Requirements
To install and run it:
To have nice terminal highlighting output:
To mark up description and comment text in HTML output:
- Markups (and the modules it needs to function)
To run the test suite:
To build the documentation:
Installation
The usual incantation will install things:
pip install pyditz
This will install the ditz
module and a console command called pyditz
to invoke in a similar manner to the original ditz
. As a convenience to
reduce typing, a short-form version of the command is also installed: pd
.
Documentation
The current documentation can be found online here. You can also look at an example of the HTML output.
License
PyDitz is distributed under the GNU Lesser General Public License, v2 or later.
Links
If you like this, here's a few more things you might want to check out:
-
Pitz is 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 called akaihola-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 also ditz plus plus, another reimplemenation written in C++, although that hasn't been updated since mid-2013.
-
If you're a fan of GNU Emacs, there's a ditz-mode written for it that I maintain. It works with the original Ditz, or PyDitz.
Changes
Version 0.11 (2020-05-29)
- bugfix: Fix up a few I/O problems
- bugfix: Problem with --no-search option
- bugfix: IPython doesn't work as a plugin
- bugfix: Session generation doesn't work with Py3
- Add a standard short alias command
- Refactor the write_yaml() function
- Improve startup time
- Sort exported releases by version
Version 0.10.3 (2019-01-11)
- bugfix: Fix highlighting customization
Version 0.10.2 (2018-08-31)
- bugfix: Resolve problems with cerberus update
- bugfix: Resolve problems with markups update
Version 0.10.1 (2017-07-31)
- bugfix: Crash when trying to create db
Version 0.10 (2016-11-27)
- Improve startup operations
- Allow abbreviation of issue names
- Sort issues by last-modified time
- Implement issue-claiming commands
- Use cerberus for data validation
Version 0.9.1 (2016-03-24)
- bugfix: Line wrapping problem in terminal
- bugfix: Fix problems with version detection
- Minor package improvements
Version 0.9 (2015-09-27)
- bugfix: Bytes output if pygments is not installed
- bugfix: Initialization command doesn't work
- Implement the 'edit' command
- Implement command plugins
- Add support for markup in HTML output
- Allow per-project config file
- New command to list all issues
- Add project file to version control
- Add validation schemas
- Search more fields with grep
Version 0.8.1 (2015-08-18)
- bugfix: Fix non-ASCII text in issue data
- bugfix: HTML plugin load failure
Version 0.8 (2014-12-05)
- bugfix: Grep arguments not handled correctly
- Allow customization of HTML output
- Allow issues to be specified by ID
- Add progress time indicator to 'show' and HTML
- Implement exporting directly to archive
- Add section arg to config command
- Add exporter plugin system
- Add python 3 support
- Improve the default HTML style
- Move ~/.ditzrc to ~/.ditz/ditz.cfg
- Relicense under LGPL
Version 0.7 (2014-09-28)
- bugfix: Handle YAML comment char in strings
- Add VCS support
- Add unicode support
- Add issue type column to HTML output
- Add command to display configuration
- Implement the 'validate' command
- Add output highlighting
- Add support for command aliases
- Add pager support
- Improve the documentation
- Wire up the remaining program options
- Improve configuration settings
- Improve logging command output
Version 0.6.2 (2014-08-10)
- bugfix: Name substitution not done in issue description
Version 0.6.1 (2014-08-09)
- bugfix: Print message on successful unassignment
- bugfix: Ignore unreleased releases when assigning issues
Version 0.6 (2014-03-28)
- bugfix: Handle non-ASCII characters when writing output
- Install as 'ditz' if required by user
- Add HTML component column if multiple components in use
- Don't show HTML release column for unassigned issues
- Print message on successful issue assignment
Version 0.5.2 (2013-12-20)
- bugfix: Blank lines shouldn't end a comment
Version 0.5.1 (2013-12-18)
- bugfix: Prompt for component when creating issues
- bugfix: Show issue status even if not closed
Version 0.5 (2013-12-12)
- bugfix: Issue names not replaced in comment text
- bugfix: Reconfigure clobbers existing file
- Add sortable tables to HTML output
- Write some user documentation
- Add a user config file
Version 0.4 (2013-12-09)
- Implement the 'html' command
Version 0.3 (2013-11-23)
- bugfix: Multiple 'issuedir' keywords in init
Version 0.2 (2013-11-23)
- bugfix: Fix up problems with blank comments
Version 0.1 (2013-11-23)
- bugfix: Fix round-tripping of issue files
- Implement all the ditz commands
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pyditz-0.11.tar.gz
.
File metadata
- Download URL: pyditz-0.11.tar.gz
- Upload date:
- Size: 48.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.8.0 tqdm/4.45.0 CPython/3.6.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | da0365ae9064e30c4a27526fb0d7a802fda5c8651cda6990d17be7ede89a2551 |
|
MD5 | 1916c13e86e8db90aa6f572fc5eb8a11 |
|
BLAKE2b-256 | a3a4b8b2e0ce2bbadcd0c49ccd3fc41cc5a900673697b37950daecae9c81ed14 |
File details
Details for the file pyditz-0.11-py2.py3-none-any.whl
.
File metadata
- Download URL: pyditz-0.11-py2.py3-none-any.whl
- Upload date:
- Size: 64.6 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.8.0 tqdm/4.45.0 CPython/3.6.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fb1821726b1153c595526620b88e86e1cf12fc6e02582a18e3e827fae5755192 |
|
MD5 | ffa89fd08e556e80052453bd7336a926 |
|
BLAKE2b-256 | cdd2a5125b6f2d541bb0c197408a2f34d28473ad628be3ed6a939fa129aff3fd |