Find good first issues right from your CLI!
Project description
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
- 📦 Installation
- 🚀 Usage
- 🏢 Query all repos in an organization
- 📦 Query a single repo in an organization
- 👨💻 Query all repos in a user profile
- 📦 Query a single repo in a user profile.
- 🐙 Query all repos with topic
hacktoberfest - 📏 Search for issues within a certain period
- ⚖️ Limit output
- 🌐 View issues on browser
- 👀 Show the CLI version
- 🔨 Contributing
🔑 Create GitHub Personal Access Token
The CLI requires GitHub Personal Access Token to make requests to the GitHub API.
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
![]()
📦 Query a single repo in an organization
$ gfi search "facebook" --repo "jest"
Demo
![]()
👨💻 Query all repos in a user profile
$ gfi search "yankeexe" --user
Demo
![]()
📦 Query a single repo in a user profile.
--user flag not required here.
$ gfi search "yankeexe" --repo "good-first-issues"
Demo
![]()
🐙 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
![]()
📏 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
![]()
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
![]()
👀 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.
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 good-first-issues-2.1.5.tar.gz.
File metadata
- Download URL: good-first-issues-2.1.5.tar.gz
- Upload date:
- Size: 14.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d90ec67ad24a29bf4e87946a344273e5937c6485929896528f88746739a5c035
|
|
| MD5 |
41a3f07b42202c0bd02f9d47c3cd532f
|
|
| BLAKE2b-256 |
d9fbaabe409d2989ca623698352768108bae7797ecb29cf84da2584ae6939b08
|
Provenance
The following attestation bundles were made for good-first-issues-2.1.5.tar.gz:
Publisher:
release.yml on yankeexe/good-first-issues
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
good_first_issues-2.1.5.tar.gz -
Subject digest:
d90ec67ad24a29bf4e87946a344273e5937c6485929896528f88746739a5c035 - Sigstore transparency entry: 167951747
- Sigstore integration time:
-
Permalink:
yankeexe/good-first-issues@9ad1ef7adef41629b88bf04b030ebc52981103d3 -
Branch / Tag:
refs/tags/2.1.5 - Owner: https://github.com/yankeexe
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@9ad1ef7adef41629b88bf04b030ebc52981103d3 -
Trigger Event:
push
-
Statement type:
File details
Details for the file good_first_issues-2.1.5-py3-none-any.whl.
File metadata
- Download URL: good_first_issues-2.1.5-py3-none-any.whl
- Upload date:
- Size: 14.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3a74693cc81de88840e6a96b969932502768a95d4b273b443d2ff4452f7dcecd
|
|
| MD5 |
974855a3f60a386c7a22e84be091894a
|
|
| BLAKE2b-256 |
89edd77448b7953e70077ffd042807bc2184d73018989eea3e9cc903ff16147b
|
Provenance
The following attestation bundles were made for good_first_issues-2.1.5-py3-none-any.whl:
Publisher:
release.yml on yankeexe/good-first-issues
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
good_first_issues-2.1.5-py3-none-any.whl -
Subject digest:
3a74693cc81de88840e6a96b969932502768a95d4b273b443d2ff4452f7dcecd - Sigstore transparency entry: 167951750
- Sigstore integration time:
-
Permalink:
yankeexe/good-first-issues@9ad1ef7adef41629b88bf04b030ebc52981103d3 -
Branch / Tag:
refs/tags/2.1.5 - Owner: https://github.com/yankeexe
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@9ad1ef7adef41629b88bf04b030ebc52981103d3 -
Trigger Event:
push
-
Statement type: