Code Monkey home page Code Monkey logo

github_contributor_matcher's Introduction

Github Contributor Matcher

Imagine you work at a company that has a lot of open source committers in many many projects. And now imagine you're responsible for the happys of some users that may use some of those projects. At times you might want to answer the question: "HEY! I work at <org>! Maybe there's someone at <org> who is working on <project>/<repository> that I can talk to about <repository>!"

This script attempts to answer that question.

Setup

Requirements:

  • Python 3
  • Pip
  • A github account with a personal access token exported to the GITHUB_TOKEN environmental variable
  • A sense of wonder and curiosity

Want this to work? Follow the directions below. Doesn't work? File an issue.

Install

pip install github_contributor_matcher

Authorization:

Generate a personal access token via Github's Settings - Developer Settings - Personal Access Token page. Grant the token "repo" and "user". Export the token as an environmental variable "GITHUB_TOKEN":

export GITHUB_TOKEN=your_new_token

Confirm the token is set by echoing its value when running echo $GITHUB_TOKEN.

Usage

github_contributor_matcher <organization> <project> <repository>

example: github_contributor_matcher openshift kubernetes kubernetes would print all users in the kubernetes/kubernetes project that are associated to the "openshift" organization in github.

Contributors

@dannyzen @maxdotdotg

Thanks

@sigmavirus24 & the rest of the contributors on the github3.py project

License

Apache License, Version 2.0

github_contributor_matcher's People

Contributors

dannyzen avatar maxdotdotg avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

maxdotdotg

github_contributor_matcher's Issues

Tests

Yeah, this needs tests.

pyyaml missing from requirements.txt

When running python contrib_matcher.py openshift kubernetes kubernetes , I get an import error:

Traceback (most recent call last):
  File "contrib_matcher.py", line 47, in <module>
    loadGithubToken()
  File "contrib_matcher.py", line 13, in loadGithubToken
    from yaml import load, YAMLError
ModuleNotFoundError: No module named 'yaml'

Module PyYaml is missing from requirements.txt

Optimize API calls

Part of me feels very strongly that I'm not optimizing the api calls to github quite right.

Given an org - what projects and how many committers for each project

Let's say I'm vetting a company and I want to see what public repositories the company has employees actively engaged with.

A table might be interesting where:

Repo Number of committers from Last date comitted
Kubernetes/Kubernetes 10 October 10th, 2018
Tensorflow 15 January1st, 2019

Automate build of project to pypi with google cloud build

As a developer i do not want to constantly have to:

  • Edit setup.py's version
  • rm -r dist/*
  • twine upload

I want to push code and have cloud build do the packaging (and testing, but hey, we need tests) for me.
Goal:
Setup Cloud Build to bump the version in setup.py and twine upload to pypi. Bonus points for updating the release section.

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.