Skip to main content

Good First Issues

Good First Issues

Find good first issues right from your CLI!

📦 Installation

Requires Python 3.9 or higher.

$ pip install good-first-issues --upgrade

The CLI uses the alias gfi to run commands.

Contents

🔑 Create GitHub Personal Access Token

The CLI requires GitHub Personal Access Token to make requests to the GitHub API.

Get GitHub Fine-grained Personal Access Token

You can add a Description to your token, select "Public Repositories (read-only)" and select Generate token.

Provide token to CLI:

$ gfi config

Token is stored locally on /home/<username>/.gfi/good-first-issues file.

Token in envrionment variable:

Store the token with the name GFITOKEN in your environment.

🚀 Usage

GitHub provides API to fetch user and organization data. Personal Access Token is required for authentication and data fetching.

🏢 Query all repos in an organization

$ gfi search "rust-lang"
Demo demo of timezone cli search

📦 Query a single repo in an organization

$ gfi search "facebook" --repo "jest"
Demo demo of timezone cli search

👨‍💻 Query all repos in a user profile

$ gfi search "yankeexe" --user
Demo demo of timezone cli search

📦 Query a single repo in a user profile.

--user flag not required here.

$ gfi search "yankeexe" --repo "good-first-issues"
Demo demo of timezone cli search

🐙 Query all repos with topic hacktoberfest

$ gfi search --hacktoberfest

$ gfi search -hf

$ gfi search -hf --period "30 days"

$ gfi search -hf --limit 10 --period "48 hours"
Demo demo of timezone cli search

📏 Search for issues within a certain period

By default, no period is set and users are shown whatever data is fetched from the GitHub API.

To filter good first issues within a certain period, use the following commands:

# Query all organization repos
$ gfi search "rust-lang" -p "30 hours"

# Query a specific repo in an organization
$ gfi search "rust-lang" --repo "rust" -p "30 mins"

# Query repos with the topic hacktoberfest
$ gfi search -hf -p "100 days"

# Query all user repos
$ gfi search "yankeexe" --user -p "600 hrs"

# Query a specific repo of a user
$ gfi search "yankeexe" --user --repo "good-first-issues" -p "600 days"
# Example Usage:
--period 1 m,min,mins,minutes

--period 2 h,hr,hour,hours,hrs

--period 3 d,day,days

⚖️ Limit output

The output is limited to display 10 issues by default. Use --limit flag to set the number of issues for output or --all for no limits.

Limit the issues to 12

$ gfi search "facebook" --limit 12
Demo demo of timezone cli search

View all issues found.

$ gfi search "rust-lang" --all

🌐 View issues on browser

It's hard to navigate through all the issues when you have the --all flag enabled, you can view the issues on your browser with ease using the --web flag.

$ gfi search "facebook" --all --web
Demo demo of timezone cli search

👀 Show the CLI version

$ gfi version

🔨 Contributing

For guidance on setting up a development environment and how to make a contribution to good-first-issues, see the contributing guidelines.

Metadata

Release files for good-first-issues 2.1.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for good-first-issues 2.1.5
File Size Uploaded
good-first-issues-2.1.5.tar.gz 14.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for good-first-issues 2.1.5
File Interpreter ABI Platform
good_first_issues-2.1.5-py3-none-any.whl Python 3 none any Details

Total release size: 28.9 kB

Release files / good-first-issues-2.1.5.tar.gz

Download URL good-first-issues-2.1.5.tar.gz
Size 14.2 kB
Tags Source
SHA-256 checksum
How to use checksums
d90ec67ad24a29bf4e87946a344273e5937c6485929896528f88746739a5c035
BLAKE2b-256 checksum
How to use checksums
d9fbaabe409d2989ca623698352768108bae7797ecb29cf84da2584ae6939b08
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.8

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 2, 2025.

Transparency log

Release files / good_first_issues-2.1.5-py3-none-any.whl

Download URL good_first_issues-2.1.5-py3-none-any.whl
Size 14.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3a74693cc81de88840e6a96b969932502768a95d4b273b443d2ff4452f7dcecd
BLAKE2b-256 checksum
How to use checksums
89edd77448b7953e70077ffd042807bc2184d73018989eea3e9cc903ff16147b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.8

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 2, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

2.1.5 This release

2 release files

2.1.4

2 release files

2.1.3

2 release files

2.1.1

2 release files

2.1.0

2 release files

2.0.0

3 release files

1.3.0

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page