Lists commits in a Git repository that refer to external issues and reports their status.
Project description
external-issue-checker
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
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
- or
uv
# 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
- or
poetry
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
poetryto stay up to date with how it works and how to store project metadata in thepyproject.tomlfile, - see how great
richandtyperare for creating CLI tools.
License
This project is licensed under the MIT License - see the LICENSE file for details.
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aad7771ef9a68d7019c9e13b1be26fccb6fe5b743d374e975e14d45dcb3cabb1
|
|
| MD5 |
a506055858a6ec2322c97a7d6d42e185
|
|
| BLAKE2b-256 |
b80e7082e5bed662b5a88d6b621ecf7e66510b034414058ea79cd8991037d593
|
File details
Details for the file external_issue_checker-0.1.0-py3-none-any.whl.
File metadata
- Download URL: external_issue_checker-0.1.0-py3-none-any.whl
- Upload date:
- Size: 8.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b1c6b02d2ea2fd7912c6dcf382a74214bfa38d103a41422a97dfee81eae9fae5
|
|
| MD5 |
391dfd1717151c05e91854be1288b6dd
|
|
| BLAKE2b-256 |
7482de736c384186d09be1b8f68b2c7f99f20736e94788f64eb33e508d731c91
|