Skip to main content

Expand GitHub issue references into Markdown links

Project description

issue-expander

Expand GitHub issue references into Markdown links

PyPI Coverage

$ echo 'rust-lang/rust#106827' | issue-expander -
[Update LLVM to 15.0.7 #106827](https://github.com/rust-lang/rust/pull/106827)

$ echo '#106827' | issue-expander --default-source 'rust-lang/rust'
[Update LLVM to 15.0.7 #106827](https://github.com/rust-lang/rust/pull/106827)

This project is not yet stable in any way and makes absolutely no guarantees about behavior (between releases, or otherwise).

Usage

Usage: issue-expander [OPTIONS] FILE

  Turn references like "foo/bar#123" into Markdown links, like

  "[Prevent side fumbling #123](https://github.com/foo/bar/pull/123)"

  issue-expander works for references to issues and to pull requests.

  References are only expanded if they are found at GitHub.  To expand
  references from private repositories, you'll need to pass your GitHub token.
  This can be done via environment variables or via command line options.

  To interpret references like `#1138` as `adamwolf/issue-expander#1138`,
  specify defaults using `--default-source`.

Options:
  --default-source USER/REPO  Use USER/REPO when not specified in issue
                              reference. (Example: "adamwolf/issue-expander")
  -p, --github-token TOKEN    GitHub token for looking up issue references. You
                              may want to use the environment variable
                              ISSUE_EXPANDER_GITHUB_TOKEN instead.
  --version                   Show the version and exit.
  --help                      Show this message and exit.

Installation

If you use Homebrew, you can install issue-expander like this:

brew tap adamwolf/issue-expander
brew install issue-expander

Otherwise, I recommend installing with pipx. Once you've got pipx installed, you can install issue-expander like this:

pipx install issue-expander

and pipx installs issue-expander into its own little area, just for you, where you don't have to worry about it messing with any system-wide or even user-wide Python dependencies.

If you want to generate a binary that can run issue-expander without needing Python to be installed, see BUILDING.md.

If you want to do something different, issue-expander is available on PyPI. Go hogwild.

Development

There are a lot of ways to set up a development environment for a Python application. This is one of them.

Before you follow these steps, make sure Python 3 is installed.

  1. Clone the issue-expander repository.
git clone https://github.com/adamwolf/issue-expander.git
  1. Create a virtual environment and activate it.
cd issue-expander
python3 -m venv venv
source venv/bin/activate
  1. Install the package in editable mode (with development extras).
pip install -e .[dev]
  1. Make sure you can run the tests.
pytest
  1. Make sure you can run the linter.
pre-commit run --all-files

At this point, you should be able to make changes to the code.

Contributing

See CONTRIBUTING.md.

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

issue_expander-0.1.12.tar.gz (6.4 kB view details)

Uploaded Source

Built Distribution

issue_expander-0.1.12-py3-none-any.whl (6.8 kB view details)

Uploaded Python 3

File details

Details for the file issue_expander-0.1.12.tar.gz.

File metadata

  • Download URL: issue_expander-0.1.12.tar.gz
  • Upload date:
  • Size: 6.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.0

File hashes

Hashes for issue_expander-0.1.12.tar.gz
Algorithm Hash digest
SHA256 662087a679306983c33b5573e719f8bc353f2047c9b9125507ddc320953ab7f4
MD5 473d7b004f0d2e47b5959b864433ccbd
BLAKE2b-256 8a6f94da18fe0ae64ac83a67a6dd784bb2eb849afcd94a8315f2a1e52c5c079b

See more details on using hashes here.

File details

Details for the file issue_expander-0.1.12-py3-none-any.whl.

File metadata

File hashes

Hashes for issue_expander-0.1.12-py3-none-any.whl
Algorithm Hash digest
SHA256 e939f433509c3a9cc9e4544dab9d9878c605e131739f3811936e0c8fc78e9d33
MD5 70a8b88cd2082c5bb6ed6a399234921c
BLAKE2b-256 edd88ef688f1675d43fc83bf93f13765bde9bb964c9047c1a77f05180312910b

See more details on using hashes here.

Supported by

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