Giter Site home page Giter Site logo

yankeexe / good-first-issues Goto Github PK

View Code? Open in Web Editor NEW
93.0 4.0 20.0 67 KB

Find good first issues right from your CLI! ๐Ÿš€

Home Page: https://pypi.org/project/good-first-issues/

License: MIT License

Python 92.91% Makefile 4.30% Dockerfile 2.78%
good-first-issue github-api hacktoberfest2020 cli-app cli beginner-friendly python-cli hacktoberfest github

good-first-issues's Introduction

Good First Issues

Good First Issues

Find good first issues right from your CLI!

Install Good First Issues

Requires Python 3.6.1 or higher.

$ pip3 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 Personal Access Token

You don't have to select any scopes, add a Note for your token 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.

Search for issues

To look for issues, use the gfi search command.

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

Search for Hacktoberfest approved issues

Query all repos with topic hacktoberfest

$ gfi search --hacktoberfest

$ gfi search -hf
Demo demo of timezone cli search

Query all repos with topic 'hacktoberfest' in an organization or in a user profile

Query all repos with topic 'hacktoberfest' in an organization.

$ gfi search "facebook" --hacktoberfest
Demo demo of timezone cli search

Query all repos with topic 'hacktoberfest' in a user profile. --user flag not required here.

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

Changing output limits

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

Viewing 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

Contributing

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

good-first-issues's People

Contributors

bashimoha avatar jungrishi avatar lekhana3003 avatar renugasaraswathy avatar sandarvashakya avatar xkshitizx avatar yankeexe avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

good-first-issues's Issues

Add pagination to GraphQL queries

GitHub allows fetching first: 100 or last:100 items from the GraphQL API.
With that the CLI is also fetching data from the first 100 repos in an organization.
Add pagination feature to load data from more pages.

Resource: Pagination GraphQL

Add `--hacktoberfest` flag to search issues based on udpated Hacktoberfest maintainer opt-in rule.

While the philosophy behind the CLI remains on finding good-first-issues, it also aims to assist as a reliable tool during the Hacktoberfest.

To keep updated with the new changes, introduce a new flag --hacktoberfest and abbreviation --hf flag to fetch issues based on the new Hacktoberfest maintainer opt-in rule.

The new rule implies:

  1. Repo should have hacktoberfest as topic.
  2. Issues should have hacktoberfest-accepted label.

Fetch GitHub Personal Access Token from Environment variable

The check_credential function should check for the environment variable GFITOKEN else look for the config file.
Env variable should be of higher priority than the config file stored at ~/.gfi/good-first-issues

def check_credential() -> Union[str, bool]:


What will this feature enable?
This will enable the containerization of the CLI that can be used with environment variable for making requests.

check this

please merge this pr for hackoctoberfest

Add line break on character limit for Title column on table

When the terminal window is of minimal length, the table gets jumbled up. Sometimes it's due to the long length of title on GitHub issues. Can it be solved by adding a check for character limit on issue title column and adding a line break?

If you have been using this tool, let's discuss if you have faced this issue or have any solutions in your mind including the one mentioned above.

Image for reference:

image

Add pytest to requirements

Pytest is not part of the requirements of the project i want to add pytest to the root requirements.txt file

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.