List of repositories that use github3 library - github3.py

I am moving to github3 after spending a lot of time on GitHub API v3 and also trying PyGithub. No doubt, github3 is super fast, uses GitHub rate limit extremely efficiently and closely resemble native GH API. I want a list of GitHub repositories that are currently using github3 which will help me and others a lot to use github3 in most efficient way.

Related

Building a Dataset From a Large Number of GitHub Repositories for an NLP Project

I am working on a Machine Learning project for which I need as many code repositories as possible. What is the easiest to download/clone a large number of GitHub repositories? I assume I could use the GitHub API to search for repositories I want to download, e.g. repositories with > 1k stars, and then I could start doing git clone on those repositories. However, in addition to being incredibly slow, I am pretty sure GitHub has some throttling mechanism, which would result in making this even slower if I am to implement some retry mechanism to overcome throttling. I appreciate some alternative ideas.
Thanks!

Using GitHub in a classroom

I'm going to be teaching a data journalism class next year to students with fairly weak coding and computer skills. I'm prepared to do the work necessary to guide them through using R to learn how to scrape data, make plots and maps and such.
However, I am thinking about how to enable them to work in groups.
Obviously GitHub is the place for collaborative work on projects, but, wow, it has a learning curve.
I am wondering if it would be possible for me to set up one repo for the entire class and then somehow have each group in the class have their own branches for their own projects so that I could kind of oversee the merges as they work on their projects.
I can see the merits of GitHub for this, but I am trying to make it as simple as possible.
Please note, I see that GitHub Classroom is a thing, but that really seems to facilitate grading and marking for large classes. That's not really what I need.
I'd suggest having each student create a fork of your base repository so that they can do work on their own copy of your code. This way, they'll each have their own workspace that they can contribute to alone. You could even have them create a new fork for each group collaboration.
See the documentation here for information on forking repositories.

Tracking Issues across multiple repositories

We often have epic stories which span multiple repositories. I am looking for a mechanism to track all the work that is associated with a single story. GitHub has Issues which is a close to the solution I seek. The problem with Issues is they do not span multiple repositories. On deployment day I still need to scan ~10 repositories (there are 100 repo's, 10 are commonly used) to discover which ones have commits related to the story.
As a manual workaround I create multiple Issues. One Issue for each repository. Then I manually list the Issue#'s related to the epic story in Jira.
Is there a tool or alternative technique I can use to automatically combine these issues and treat them as one?
It would be a bit unusual to use both JIRA and GitHub Issues together. JIRA offers virtually everything that GitHub Issues does and more.
This guide from GitHub shows how you can integrate JIRA directly with GitHub, skipping Issues altogether. When properly configured you will see links to GitHub in mentioned JIRA issues. You can also trigger JIRA workflow changes based on keywords in your commit messages, much like GitHub Issues does out of the box.

Is there any way to refer a external and custom issue tracker from github?

It is possible integrate github with a custom application that track issues? This custom issue tracker is developed by people that is not involved with github development, but can code some plugin or feature that provides a pattern to refer a external issue.
The pattern can be #I or something like this.
Thoughts?
As far as I'm aware, most popular enterprise solutions are building integrations with GitHub repositories via webhooks (if they don't already offer them). If this is a in-house custom solution you will have to build that integration yourself.
You'll need to register a webhook for each repository and you will have to know how to associate events from different repositories with different issues.
With the webhook set-up you'll be able to inspect pull requests, pushes to different branches, etc. and you can use whatever syntax you want to refer to issue ids in your issue tracker. If your repository is also public facing and has issues (and pull requests) turned on, you will definitely not want to overlap usage of #numerical_id with your own issue tracker. In that case, you will want to choose something like ^ or & or % which isn't currently claimed by anyone else. What you choose for that, though, is entirely up to you.

How to simulate voting in GitHub's Issues 2.0 Tracker

I'm considering moving my open-source project Flyway from Google Code to GitHub.
One of the features I really like in Google Code's Issue Tracker is the ability to vote and sort issues by the number of votes. This has allowed me to get a good feel of where current pain points lie and what the community feels needs attention or further work.
How can I achieve something similar on GitHub? Is there a way to maintain a democratic approach to Issue Tracking?
There is no built-in ability to do so. Technically speaking, you can only manage issues by
assignee
tags (called labels at github)
milestones
While you can define label systems for lots of differentation criteria like
bug/feature request/...
prio high/low/...
status verified/unverified
it is simply not possible to have something that accumulates votes. So typically you will see "+1" postings as in good old mailing lists. I've seen people using external voting systems (like Google moderator) for issues on github, but that doesn't make a good user experience either.
If you're willing to use a third-party system that integrates with GitHub, you can try GitPoll.