Skip to main content

Lists commits in a Git repository that refer to external issues and reports their status.

Project description

external-issue-checker

License MIT Project Status: Active tests Python Version PyPI

Lists commits in a Git repository that refer to external issues / pull requests and reports their status.

This tool is useful for tracking issues and pull requests (that are not managed within the repository itself and for which a workaround may have been implemented in the codebase) and reporting their status (open or closed).

For example sometimes you refer to an issue of another package in a commit (e.g. “Apply some workaround while waiting for https://github.com/orga/repository/issues/12 to be fixed”). In the meantime, maybe the issue has been resolved (and maybe you've redone a commit like "Remove the workaround now that https://github.com/orga/repository/issues/12 is fixed", or not).

It's time to check with external-issue-checker!

Currently, it supports GitHub and GitLab issues and pull (or merge) requests, but it might be extended to support other platforms (such as Bitbucket, Codeberg, etc.) in the future.

Demo

Demo showing terminal being recorded

Usage instructions

To use the tool, you need to have Python 3.10 or later installed on your system.

One of the easiest ways to install and run global Python CLI tools is either to use:

# Install external-issue-checker globally
pipx install external-issue-checker

# Run the CLI tool
external-issue-checker --help
# Install external-issue-checker globally if you don't have it yet
# and run the CLI tool (uvx is an alias for uv tool run)
uvx external-issue-checker --help

Otherwise, you can install it in a virtual environment using either:

  • pip
mkdir some-directory
cd some-directory
python3 -m venv .venv
source .venv/bin/activate  # On Windows use `.venv\Scripts\activate`
pip install external-issue-checker

external-issue-checker --help
poetry new --src some-directory
cd some-directory
poetry add external-issue-checker

poetry run external-issue-checker --help

Instructions for developers

Clone the repository:

git clone https://github.com/mthh/external-issue-checker
cd external-issue-checker

Install the dependencies:

poetry install

Activate the virtual environment:

poetry env activate

Run the test suite:

poetry run pytest

Install pre-commit hooks:

poetry run pre-commit install

Run the CLI tool:

poetry run external-issue-checker --help

Motivation

This tool was created to help developers keep track of external issues and pull requests that may affect their codebase. It allows you to quickly identify commits that reference external issues, making it easier to manage dependencies and workarounds.

From a personal point of view, this is an opportunity to:

  • play with poetry to stay up to date with how it works and how to store project metadata in the pyproject.toml file,
  • see how great rich and typer are for creating CLI tools.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

external_issue_checker-0.1.0.tar.gz (5.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

external_issue_checker-0.1.0-py3-none-any.whl (8.8 kB view details)

Uploaded Python 3

File details

Details for the file external_issue_checker-0.1.0.tar.gz.

File metadata

  • Download URL: external_issue_checker-0.1.0.tar.gz
  • Upload date:
  • Size: 5.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.23

File hashes

Hashes for external_issue_checker-0.1.0.tar.gz
Algorithm Hash digest
SHA256 aad7771ef9a68d7019c9e13b1be26fccb6fe5b743d374e975e14d45dcb3cabb1
MD5 a506055858a6ec2322c97a7d6d42e185
BLAKE2b-256 b80e7082e5bed662b5a88d6b621ecf7e66510b034414058ea79cd8991037d593

See more details on using hashes here.

File details

Details for the file external_issue_checker-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for external_issue_checker-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b1c6b02d2ea2fd7912c6dcf382a74214bfa38d103a41422a97dfee81eae9fae5
MD5 391dfd1717151c05e91854be1288b6dd
BLAKE2b-256 7482de736c384186d09be1b8f68b2c7f99f20736e94788f64eb33e508d731c91

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page