Local mirror of githubs bugwarriror repository for forking. http://pypi.python.org/pypi/bugwarrior
Find a file
Laurent Tramoy 4ed78ac273
Use Ruff default ruleset, in addition to our own set (#1228)
* apply ruff safe fixes

* apply ruff unsafe fixes

* Ignore RUF012 and DTZ, newly enabled by ruff 0.16's expanded defaults

RUF012 (mutable class defaults): we use a lot of class attributes without
ClassVar, this change is not justified for now

DTZ (naive datetime usage): taskwarrior does use naive datetimes.
We can consider using switching to timezone-aware datetimes everywhere
but that's a bigger change than just applying some linting rules.

* Fix gerrit comment prefix stripping to use removeprefix

.lstrip('Patch Set ') strips any leading characters in that set rather
than the literal prefix, silently mangling comment text that happens to
start with overlapping letters (e.g. "this is a message" became "is is a
message"). removeprefix() only strips an exact match.

* Resolve remaining ruff 0.16 lint findings

Covers F401 (unused import), PLE0604 (non-literal __all__ entries),
TRY002 (raise a specific exception instead of bare Exception), TRY401
(drop exception text already carried by log.exception's traceback),
SIM102/SIM113/SIM117 (simplifications), UP045 (Optional -> X | None),
PERF402 (append-loop -> .extend()), and UP031 (percent-format ->
f-strings).

Also fixes a real bug surfaced by UP031 in db.py: `'...' % exit_code,
hook` built a tuple due to operator precedence instead of formatting
both values, so run_hooks() would raise TypeError instead of logging
whenever a hook exited non-zero.

* remove quote-style ruff setting
2026-08-27 17:23:16 -04:00
.github/workflows Add pip dependency cooldown 2026-06-24 22:19:14 -04:00
bugwarrior Use Ruff default ruleset, in addition to our own set (#1228) 2026-08-27 17:23:16 -04:00
scripts Add prek pre-commit hooks for ruff and ty 2026-04-30 15:27:25 -04:00
tests Use Ruff default ruleset, in addition to our own set (#1228) 2026-08-27 17:23:16 -04:00
.gitignore pyproject: bump version 2.1.0 -> 2.1.0.post 2026-01-10 22:08:10 -05:00
.pre-commit-config.yaml Add prek pre-commit hooks for ruff and ty 2026-04-30 15:27:25 -04:00
.readthedocs.yaml Drop python 3.10 2026-06-24 22:19:14 -04:00
CHANGELOG.rst changelog: June 2026 update (#1218) 2026-06-28 21:33:48 -04:00
CONTRIBUTING.md Fix hyperlinks. 2025-07-29 01:50:06 -04:00
LICENSE.txt Initial commit. 2011-12-15 00:01:17 -05:00
MANIFEST.in Remove VERSION file in favor of pyproject.toml 2025-11-16 12:08:11 -05:00
pyproject.toml Use Ruff default ruleset, in addition to our own set (#1228) 2026-08-27 17:23:16 -04:00
README.rst Only keeping one copy of the example .rc file now. 2011-12-15 15:32:24 -05:00
RELEASING.md pyproject: bump version 2.1.0 -> 2.1.0.post 2026-01-10 22:08:10 -05:00

bugwarrior - Pull tickets from github, bitbucket, bugzilla, jira, trac, and others into taskwarrior
===================================================================================================

.. split here

``bugwarrior`` is a command line utility for updating your local `taskwarrior <http://taskwarrior.org>`_ database from your forge issue trackers.

It currently supports the following remote resources:

.. class:: services

- `Azure DevOps <https://azure.microsoft.com/en-us/services/devops/>`_
- `Bitbucket <https://bitbucket.org>`_
- `Bugzilla <https://www.bugzilla.org/>`_
- `ClickUp <https://clickup.com/>`_
- `Debian Bug Tracking System (BTS) <https://bugs.debian.org/>`_
- `Gerrit <https://www.gerritcodereview.com/>`_
- `Git-Bug <https://github.com/MichaelMure/git-bug>`_
- `Github <https://github.com>`_
- `Gitlab <https://gitlab.com>`_
- `Gmail <https://www.google.com/gmail/about/>`_
- `Jira <https://www.atlassian.com/software/jira/overview>`_
- `Kanboard <https://kanboard.org/>`_
- `Logseq <https://logseq.com/>`_
- `Nextcloud Deck <https://github.com/nextcloud/deck>`_
- `Pagure <https://pagure.io/>`_
- `Phabricator <http://phabricator.org/>`_
- `Pivotal Tracker <https://www.pivotaltracker.com/>`_
- `Linear <https://linear.app/>`_
- `Redmine <https://www.redmine.org/>`_
- `Taiga <https://taiga.io>`_
- `Teamwork Projects <https://www.teamwork.com/>`_
- `Todoist <https://todoist.com/>`_
- `Trac <https://trac.edgewall.org/>`_
- `Trello <https://trello.com/>`_
- `YouTrack <https://www.jetbrains.com/youtrack/>`_

Documentation
-------------

For information on how to install and use bugwarrior, `read the docs
<https://bugwarrior.readthedocs.io>`_ on RTFD.

Build Status
------------

.. |develop| image:: https://github.com/ralphbean/bugwarrior/actions/workflows/bugwarrior.yml/badge.svg?branch=develop
   :alt: Build Status - develop branch

+----------+-----------+
| Branch   | Status    |
+==========+===========+
| develop  | |develop| |
+----------+-----------+


Contributors
------------

- Ralph Bean (primary author)
- Ben Boeckel (contributed support for Gitlab)
- Justin Forest (contributed support for RedMine, TeamLab, and MegaPlan, as
  well as some unicode help)
- Tycho Garen (contributed support for Jira)
- Kosta Harlan (contributed support for activeCollab, notifications,
  and experimental taskw support)
- Luke Macken (contributed some code cleaning)
- James Rowe (contributed to the docs)
- Adam Coddington (anti-entropy crusader)
- Iain R. Learmonth (contributed support for the Debian BTS and maintains the
  Debian package)
- BinaryBabel (contributed support for YouTrack)
- Matthew Cengia (contributed extra support for Trello)
- Andrew Demas (contributed support for PivotalTracker)
- Florian Preinstorfer (contributed support for Kanboard)
- Lena Brüder (contributed support for Nextcloud Deck)
- Stephen Cross (contributed support for Logseq)