In [ ]:
import requests
import json
from github import Github
import networkx as nx
from operator import itemgetter
from collections import Counter
from networkx.readwrite import json_graph
import webbrowser
import os

In [ ]:
ACCESS_TOKEN = '1161b718b9555cd76bf7ff9070c8f1ba300ea885'
USER = 'edx'
REPO = 'edx-documentation'
client = Github(ACCESS_TOKEN, per_page=100)
user = client.get_user(USER)
repo = user.get_repo(REPO)

stargazers = [ s for s in repo.get_stargazers() ] #可以先对这些人数进行分类>限制
print "关注人的数目: %d \n" % len(stargazers) #如果人数很多,速度很慢

In [ ]:
for s in repo.get_forks():
    print s.get_

In [ ]:
g = nx.DiGraph()
    g.add_node(repo.name + '(r)', type='repo', lang=repo.language, owner=user.login)

    for sg in stargazers:
        g.add_node(sg.login + '(u)', type='user')
        g.add_edge(sg.login + '(u)', repo.name + '(r)', type='gazes')
        print sg.login + '(u)'

    for i, sg in enumerate(stargazers):
        try:
            for follower in sg.get_followers():
                if follower.login + '(u)' in g:
                    g.add_edge(follower.login + '(u)', sg.login + '(u)', type='follows')
        except Exception, e:
            print "获取追随者失败,跳过", sg.login, e

        print "正在处理第", i+1, " 个关注者。"
    c = Counter([e[1] for e in g.edges_iter(data=True) if e[2]['type'] == 'follows'])
    popular_users = [(u, f) for (u, f) in c.most_common() if f > 1]
    print "受欢迎的用户数目:", len(popular_users)
    print "最受欢迎的10个用户:", popular_users[:10]

In [ ]:
MAX_REPOS = 500

    for i, sg in enumerate(stargazers):
        print sg.login
        try:
            for starred in sg.get_starred()[:MAX_REPOS]: # Slice to avoid supernodes
                g.add_node(starred.name + '(r)', type='repo', lang=starred.language, owner=starred.owner.login)
                g.add_edge(sg.login + '(u)', starred.name + '(r)', type='gazes')
        except Exception, e: #ssl.SSLError:
            print "获取加星仓库失败 ", sg.login, "跳过."

        print "正在处理", i+1, "加星的仓库"
    filename = "1.1"
    nx.write_gpickle(g, filename)

    d = json_graph.node_link_data(g)
    filename = "1.json"
    json.dump(d, open(filename, 'w'))

In [ ]:
g = nx.read_gpickle("1.1")

In [ ]:
print nx.info(g)
data = {}
for n in g.nodes_iter():
    if (g.node[n]['type'] == 'repo' and g.node[n]['lang'] not in data and g.node[n]['lang']):
        data[ g.node[n]['lang']] = 1
    elif (g.node[n]['type'] == 'repo' and g.node[n]['lang'] in data and g.node[n]['lang']) :
        data[ g.node[n]['lang']] = data[ g.node[n]['lang']]+ 1
    else:
        pass
sumRepo = sum([v for k,v in data.iteritems()])
data1 =  sorted(data.iteritems(), key=lambda d:d[1], reverse = True )[:9]#排序输出
others = 0
for v in data1:
    others = others + v[1]
others =  sumRepo - others
dothers = [unicode('others', "UTF-8"),others]
data1.append(dothers)
print sumRepo
print others
print data1
json.dump(data1, open('1.1.pie', 'w'))

In [ ]:
print "Popular repositories"
data2 = sorted([(n,d) for (n,d) in g.in_degree_iter() if g.node[n]['type'] == 'repo'], key=itemgetter(1), reverse=True)[:10]
print data2
json.dump(data2, open('1.1.rect', 'w'))

In [ ]:
USER = 'edx'
REPO = 'edx-documentation'
client = Github("ch710798472","Mm456123")
user = client.get_user(USER)
repo = user.get_repo(REPO)

stargazers = [ s for s in repo.get_stargazers() ] #可以先对这些人数进行分类>限制
print "关注人的数目: %d \n" % len(stargazers)

In [ ]:
i = 1
for sg in stargazers:
    print i
    print sg.login,"-",sg.email,"-",sg.avatar_url,"-",sg.followers,"-",sg.following,"-",sg.created_at
    i = i + 1

In [ ]:
for s in repo.get_forks():
    for x in s.get_forks():
        print x

In [ ]:
r=requests.get('https://api.github.com/search/users?access_token=dff8d5a7bbc4f5240eac2fd4114dc5d0e87707ed&q=location:china&sort=followers')

In [ ]:
d=r.json()
total_count = d['total_count']
incomplete_results = d['incomplete_results']

In [ ]:
d = {"items":[]}
url = 'https://api.github.com/search/users?q=location:china&sort=followers&per_page=100&page='
for i in range(10):
    print url + str(i+1)
    newUrl = url + str(i+1)
    r = requests.get(newUrl)
    temp = r.json()
    d['items'].extend(temp['items'])
filename = "user.json"
json.dump(d, open(filename, 'w'))

In [ ]:
t = {}
j=0
for i in d1['items']:
#     print i['url']
    r = requests.get(i['url'])
    temp = r.json()
    t[temp['login']] = temp
    if (j%50)==0:
        print j
    j = j + 1
filename = "userinfo.json"
json.dump(t, open(filename, 'w'))

In [ ]:
with open("user.json", "r") as f:
    d1 = json.load(f)
print d1['items']

In [ ]:
ACCESS_TOKEN = 'c55b7dfa48b0f4ed3ace41a124b5d35c52368604'
client = Github(ACCESS_TOKEN, per_page=100)

In [ ]:
t = {}
notdone=[]
j=0
for i in d1['items']:
    try:
        user = client.get_user(i['login'])
        t[user._rawData['login']] = user._rawData
    except Exception,e:
        print "time out"
        notdone.append(i['login'])
    if (j%11)==0:
        print j
    j = j + 1
filename = "userinfo.json"
json.dump(t, open(filename, 'w'))

In [ ]:
from pprint import pprint
pprint(vars(user))
user._rawData['avatar_url']

In [ ]:
print notdone

In [ ]:
t1 = {}
notdone1=[]
j=0
for i in notdone:
    try:
        user = client.get_user(i)
        t1[user._rawData['login']] = user._rawData
    except Exception,e:
        print "time out"
        notdone1.append(i)
filename = "userinfo.json"
json.dump(t1, open(filename, 'w'))

In [ ]:
with open("userinfo-1.json", "r") as f:
    d2 = json.load(f)
print len(d2)

In [ ]:
# apendx = []
d = []
for i in d1['items']:
    for k in d2:
        try:
            if i['login'] == k:
#                 print k
                d.append(d2[k])
#                 apendx.append(k)
        except Exception,e:
            pass
# print len(apendx)

In [ ]:
filename = "userMoreInfo.json"
json.dump(d, open(filename, 'w'))

In [ ]:
print d[111]['avatar_url']

In [ ]:
#获取用户头像图片并保存
import os
import urllib2
def getImage(filePath,addr):
	try:
		splitPath = addr.split('/')
		fName = splitPath.pop()
# 		print fName
		
		open(filePath+fName, "wb").write(urllib2.urlopen(addr).read())
	except Exception,e:
		print "[Error]Cant't download: %s:%s" %(fName,e)

In [ ]:
#加载本地用户数据
with open("userMoreInfo.json", "r") as f:
    d = json.load(f)

In [ ]:
#下载用户头像图片缓存到本地
filePath = 'userImages/'
for i in d:
    getImage(filePath,i['avatar_url'])

In [ ]:
#获取中国区C语言的排名(前100名)
d = {"items":[]}
url = 'https://api.github.com/search/users?sort=followers&q=location:china+language:C&per_page=100&page='
rank_count=1
for i in range(rank_count):
    print url + str(i+1)
    newUrl = url + str(i+1)
    r = requests.get(newUrl)
    temp = r.json()
    d['items'].extend(temp['items'])
filename = "c_user.json"
json.dump(d, open(filename, 'w'))

In [ ]:
with open("c_user.json", "r") as f:
    d1 = json.load(f)
ACCESS_TOKEN = 'e986ae79943cf8735d8906fd4d77182cdb3f6cd7'
client = Github(ACCESS_TOKEN, per_page=100)
t = {}
notdone=[]
j=0
for i in d1['items']:
    try:
        user = client.get_user(i['login'])
        t[user._rawData['login']] = user._rawData
    except Exception,e:
        print "time out"
        notdone.append(i['login'])
    if (j%11)==0:
        print j
    j = j + 1
filename = "c_userinfo.json"
json.dump(t, open(filename, 'w'))

In [ ]:
with open("c_userinfo.json", "r") as f:
    d2 = json.load(f)
with open("c_user.json", "r") as f:
    d1 = json.load(f)
d = []
for i in d1['items']:
    for k in d2:
        try:
            if i['login'] == k:
#                 print k
                d.append(d2[k])
#                 apendx.append(k)
        except Exception,e:
            pass
filename = "c_userMoreInfo.json"
json.dump(d, open(filename, 'w'))
#需要完成头像缓存,但是中国区的排名大部分已经包括了

In [ ]:
#获取中国区Python语言的排名(前100名)
d = {"items":[]}
url = 'https://api.github.com/search/users?sort=followers&q=location:china+language:python&per_page=100&page='
rank_count=1
filename = "py_user.json"
filename1 = "py_userinfo.json"
filename2 = "py_userMoreInfo.json"

#获取排名
for i in range(rank_count):
    print url + str(i+1)
    newUrl = url + str(i+1)
    r = requests.get(newUrl)
    temp = r.json()
    d['items'].extend(temp['items'])

json.dump(d, open(filename, 'w'))
print 'finish rank user'

#获取用户详细信息
with open(filename, "r") as f:
    d1 = json.load(f)
ACCESS_TOKEN = '0d1c6d6da836bc28b691f87dd34a1fbdc604c895'
client = Github(ACCESS_TOKEN, per_page=100)
t = {}
notdone=[]
j=0
for i in d1['items']:
    try:
        user = client.get_user(i['login'])
        t[user._rawData['login']] = user._rawData
    except Exception,e:
        print "time out"
        notdone.append(i['login'])
    if (j%11)==0:
        print j
    j = j + 1

json.dump(t, open(filename1, 'w'))
print 'finish user info'

#重新排序
with open(filename1, "r") as f:
    d2 = json.load(f)
with open(filename, "r") as f:
    d1 = json.load(f)

d = []
for i in d1['items']:
    for k in d2:
        try:
            if i['login'] == k:
#                 print k
                d.append(d2[k])
#                 apendx.append(k)
        except Exception,e:
            pass

json.dump(d, open(filename2, 'w'))
print 'DONE'

In [ ]:
#search 
d = {"items":[]}
url = 'https://api.github.com/search/users?sort=followers&q=location:china+language:python&per_page=100&page='
rank_count=1

#获取排名
for i in range(rank_count):
    print url + str(i+1)
    newUrl = url + str(i+1)
    r = requests.get(newUrl)
    temp = r.json()
    d['items'].extend(temp['items'])

print 'finish rank user'

#获取用户详细信息
username = 'ch710798472'
password = 'Mm456123'
ACCESS_TOKEN = '0d1c6d6da836bc28b691f87dd34a1fbdc604c895'
client = Github(username,password=password, per_page=100)
t = {}
notdone=[]
j=0
for i in d['items']:
    try:
        user = client.get_user(i['login'])
        t[user._rawData['login']] = user._rawData
    except Exception,e:
        print "time out"
        notdone.append(i['login'])
    if (j%10)==0:
        print j
    j = j + 1

print 'finish user info'

#重新排序

d1 = []#最后的结果存储
for i in d['items']:
    for k in t:
        try:
            if i['login'] == k:
#                 print k
                d1.append(t[k])
#                 apendx.append(k)
        except Exception,e:
            pass

print 'DONE'

In [ ]:
username = 'ch710798472'
password = 'Mm456123'
client = Github(login_or_token=username,password=password, per_page=100)

USER = 'ch710798472'
REPO = 'python_aiml_rebot'
user = client.get_user(USER)
repo = user.get_repo(REPO)

stargazers = [ s for s in repo.get_stargazers() ] #获得关注者,通常这个人数比较多
contributors = [ s for s in repo.get_contributors() ] #获得贡献者

g = nx.DiGraph()
g.add_node(repo.name + '(r)', type='repo', lang=repo.language, owner=user.login)

for sg in stargazers:
    g.add_node(sg.login + '(u)', type='user')
    g.add_edge(sg.login + '(u)', repo.name + '(r)', type='gazes')
print 'finish add stargazers'

for sg in contributors:
    g.add_node(sg.login + '(u)', type='user')
    g.add_edge(sg.login + '(u)', repo.name + '(r)', type='conbs')
print 'finish add contributors'

d = json_graph.node_link_data(g)
filename = "connect.json"
json.dump(d, open(filename, 'w'))

In [ ]:
w = [ s for s in user.get_watched() ] 
for sg in w:
    print sg.name

In [ ]:
username = 'ch710798472'
password = 'Mm456123'
client = Github(login_or_token=username,password=password, per_page=100)

USER = 'ch710798472'
user = client.get_user(USER)
repos = [s for s in user.get_repos()]
g = nx.DiGraph()
g.add_node(USER + '(u)', type='user')

try:
    for r in repos:
        stargazers = [ s for s in r.get_stargazers() ]
        if(len(stargazers)):
            g.add_edge(USER + '(u)',r.name + '(r)', type='have')

        for sg in stargazers:
            g.add_node(sg.login + '(u)', type='user')
            g.add_edge(sg.login + '(u)', r.name + '(r)', type='gazes')

        contributors = [ s for s in r.get_contributors() ]
        for sg in contributors:
            g.add_node(sg.login + '(u)', type='user')
            g.add_edge(sg.login + '(u)', r.name + '(r)', type='conbs')
except Exception,e:
    print "time out"

In [ ]:
print g.edges()

In [ ]:
#获取仓库使用语言排名
d = {"items":[]}
url = 'https://api.github.com/search/repositories?q=language:&sort=stars&order=desc&per_page=100&page='
rank_count=10
for i in range(rank_count):
    print url + str(i+1)
    newUrl = url + str(i+1)
    r = requests.get(newUrl)
    temp = r.json()
    d['items'].extend(temp['items'])
filename = "repo_lang.json"
json.dump(d, open(filename, 'w'))

repo_lang = {}
for i in range(1000):
    temp = d['items'][i]['language']
    if temp not in repo_lang.keys():
        repo_lang[temp]=1
    else:
         repo_lang[temp]= repo_lang[temp]+1
            
print repo_lang

filename = "../data/repo_lang.json"
json.dump(repo_lang, open(filename, 'w'))

In [18]:
repo = {}
for i in range(1000):
    temp = d['items'][i]['name']
    if temp not in repo.keys():
        repo[temp]=1
    else:
         repo[temp]= repo[temp]+1
            
print repo

filename = "../data/repo.json"
json.dump(repo, open(filename, 'w'))


{u'swift-package-manager': 1, u'retext-mapbox-standard': 1, u'Stencil': 1, u'mqtt_lua': 1, u'effigy': 1, u'groovy-core': 1, u'LastCalc': 1, u'whatlanguage': 1, u'roy': 1, u'vscode-ruby': 1, u'java-client': 1, u'luasocket': 1, u'devicon': 1, u'go': 2, u'kata': 1, u'scalamodules': 1, u'hogan.js': 1, u'go-php': 1, u'char-rnn': 1, u'puppet-syntax-vim': 1, u'language-detector': 1, u'AnySoftKeyboard': 1, u'elixir-school': 1, u'fsharpbinding': 1, u'DogeSharp': 1, u'ceylon': 1, u'tickle': 1, u'programming-language-network': 1, u'Program-O': 1, u'CoffeeCollider': 1, u'mongo_dart': 1, u'Batsh': 1, u'ruby_koans': 1, u'scala.tmbundle': 1, u'goflow': 1, u'groovyfx': 1, u'kamber': 1, u'GF': 1, u'plr': 1, u'gql': 1, u'jack': 1, u'jisp': 1, u'kitten': 1, u'sonar-intellij-plugin': 1, u'node-nltools': 1, u'swagger-dsl': 1, u'char-rnn-tensorflow': 1, u'chapel': 1, u'chronic_duration': 1, u'Vivaldi': 1, u'go-internals': 1, u'parrot': 1, u'wikicloth': 1, u'gorun': 1, u'cryptol': 1, u'BitIcon': 1, u'book-nlp': 1, u'helloworld': 1, u'pi-forall': 1, u'dataflow': 1, u'hcl': 1, u'mirah': 1, u'cocoa-rs': 1, u'Snap--Build-Your-Own-Blocks': 1, u'clojure-turtle': 1, u'SwiftExample': 1, u'rusti': 1, u'swift-cheat-sheet': 1, u'franc': 1, u'streem': 1, u'yii2-localeurls': 1, u'languagetool': 1, u'sonar-java': 1, u'little-lang': 1, u'hodor': 1, u'qml': 1, u'docker-swift': 1, u'node-yql': 1, u'JSONExport': 1, u'rust-postgres': 1, u'gobgp': 1, u'specs': 1, u'quill': 1, u'visuald': 1, u'langdetect': 1, u'MtHaml': 1, u'learn-swift': 1, u'searchjs': 1, u'rascal': 1, u'language-javascript': 1, u'vim-crystal': 1, u'wolfe': 1, u'heatmap': 1, u'sixpack': 1, u'textlint': 1, u'dockunit': 1, u'QueryKit': 1, u'country-list': 1, u'LPATHBench': 1, u'kafka-fast': 1, u'SugarCpp': 1, u'swagger-codegen': 1, u'glium': 1, u'sculptor': 1, u'SFML.Net': 1, u'sublime-text-haml-sass': 1, u'golang-china': 1, u'galapagos': 1, u'Twig-Eclipse-Plugin': 1, u'buck': 1, u'arcadia': 1, u'go-jwt-middleware': 1, u'wireit': 1, u'llvm-clojure-bindings': 1, u'Shem': 1, u'langlangmatrix': 1, u'clojure-mode': 1, u'go-mode.el': 1, u'boo': 1, u'plv8': 1, u'jsonjinja': 1, u'juttle': 1, u'explain': 1, u'doconce': 1, u'lavalamp': 1, u'coderay': 1, u'clj-record': 1, u'VBF': 1, u'elixir-ctags': 1, u'SQLite.swift': 1, u'gopcap': 1, u'win': 1, u'gocov': 1, u'julia': 1, u'Prefuse': 1, u'Fountain': 1, u'clash-compiler': 1, u'apl': 1, u'ua-parser': 1, u'RedScript': 1, u'canada': 1, u'ArnoldC': 1, u'gosl': 1, u'ngrok-c': 1, u'piqi': 1, u'Dagon': 1, u'EasyAGAL': 1, u'lt-cljs-tutorial': 1, u'cplusequality': 1, u'tagua-vm': 1, u'twig.js': 1, u'zig': 1, u'Moment': 1, u'typo': 1, u'scala-tour': 1, u'cuter': 1, u'center-vfl': 1, u'BODOL': 1, u'aws-sdk-go': 1, u'ierlang': 1, u'log4go': 1, u'rethinkgo': 1, u'iir': 1, u'Semantic-UI': 1, u'gocql': 1, u'joqular': 1, u'ketos': 1, u'go-mssqldb': 1, u'docopts': 1, u'ltp': 1, u'Marpa--R2': 1, u'Elymas': 1, u'jquery-xpath': 1, u'scribble': 1, u'gherkin': 2, u'php-browser-detector': 1, u'ingreedy': 1, u'solar-system-of-js': 1, u'TypeScript-Handbook': 1, u'LxThroughPointsBezier-Swift': 1, u'go-lang-idea-plugin': 1, u'node-language-detect': 1, u'JuMP.jl': 1, u'i18n_data': 1, u'go-disruptor': 1, u'KomodoEdit': 1, u'fullycms': 1, u'djinni': 1, u'moescript': 1, u'elm-lang.org': 1, u'RiTa': 1, u'D-templates-tutorial': 1, u'idea-markdown': 1, u'radius': 1, u'io': 1, u'lstm-char-cnn': 1, u'elixir-tmbundle': 1, u'LiveScript': 1, u'VECNIK': 1, u'slim': 1, u'gorillascript': 1, u'sublime-smali': 1, u'Copilot': 1, u'saw-script': 1, u'einhorn': 1, u'brooklynjs.github.io': 1, u'rays': 1, u'visual-semantic-embedding': 1, u'processors': 1, u'gobook': 1, u'goreq': 1, u'gcm': 1, u'magpie': 1, u'clojure-style-guide': 1, u'sublime-markdown-extended': 1, u'evilml': 1, u'scoped_search': 1, u'elliptical': 1, u'PyTricks': 1, u'config': 1, u'iron-kaleidoscope': 1, u'sokobanDOS': 1, u'vdebug': 1, u'postgresql-plruby': 1, u'egison': 1, u'purr': 1, u'LiScript': 1, u'pragmatic_segmenter': 1, u'gkvlite': 1, u'wxphp': 1, u'Pegged': 1, u'LiteScript': 1, u'jquery-lang-js': 1, u'jQuery-Browser-Language': 1, u'Mobius': 1, u'gohaml': 1, u'date': 1, u'core': 1, u'nlptools': 2, u'agda': 1, u'Air-for-Steam': 1, u'puck': 1, u'Comparison-Programming-Languages-Economics': 1, u'natural': 1, u'yasnippet-snippets': 1, u'liquid': 1, u'supercolliderjs': 1, u'grails': 1, u'purescript': 1, u'omnisharp-server': 1, u'sublime-typescript': 1, u'ego': 1, u'badvpn': 1, u'lisp-koans': 1, u'lua-intf': 1, u'mustache': 1, u'node-jinjs': 1, u'route_translator': 1, u'srclib': 1, u'eopl3': 1, u'rb-libsvm': 1, u'web-animations': 1, u'Projector': 1, u'php-nlp-tools': 1, u'expecty': 1, u'DotNetKoans': 1, u'kona': 1, u'mvel': 1, u'move': 1, u'ant-design': 1, u'gargl': 1, u'stylus': 1, u'rust-msgpack': 1, u'graph': 1, u'endangered-languages': 1, u'cef2go': 1, u'PyCall.jl': 1, u'spaCy': 1, u'zephir': 1, u'iOS-Screenshot-Automator': 1, u'programming-languages-influence': 1, u'linguistics': 1, u'10PL': 1, u'WAFer': 1, u'curly': 1, u'sodium': 1, u'cld': 2, u'monicelli': 1, u'glslcookbook': 1, u'exp4j': 1, u'yaml': 1, u'dynalink': 1, u'deepnl': 1, u'world.db': 1, u'gocode': 1, u'Music-Player': 1, u'lombok': 1, u'main': 1, u'polytester': 1, u'IronAHK': 1, u'TeachingDemos': 1, u'Solid': 1, u'vagueTime.js': 1, u'pegasus.lua': 1, u'language-go': 1, u'kythe': 1, u'PHPTAL': 1, u'pythonect': 1, u'basil.js': 1, u'RxRust': 1, u'crisp-compiler': 1, u'tern': 1, u'ruby-kickstart': 1, u'the-swift-programming-language-in-chinese': 1, u'Taipei-Torrent': 1, u'tubaina': 1, u'goclipse': 1, u'luna': 2, u'AlfredGoogleTranslateWorkflow': 1, u'RHVoice': 1, u'pouchdb-find': 1, u'FStar': 1, u'rsql-parser': 1, u'bond': 1, u'prettydiff': 1, u'You-Can-Do-It': 1, u'awesome-static-analysis': 1, u'Halide': 1, u'music-as-data': 1, u'gfm': 1, u'ripple': 1, u'clojurescript-npm': 1, u'armboot': 1, u'nv-i18n': 1, u'tinymoe': 1, u'go-toml': 1, u'bookdash-android-app': 1, u'dredd': 1, u'libetpan': 1, u'artanis': 1, u'elm-compiler': 1, u'dlangide': 1, u'pocl': 1, u'OSCeleton': 1, u'amethyst': 1, u'woothee': 1, u'dominate': 1, u'autochecker': 1, u'red': 1, u'inbloom': 1, u'language-ext': 1, u'mecab-ipadic-neologd': 1, u'factorie': 1, u'LuaD': 1, u'pogoscript': 1, u'BuildYourOwnLisp': 1, u'pynq': 1, u'Morphos': 1, u'nim-by-example': 1, u'gollvm': 1, u'tao-3D': 1, u'cll': 1, u'thrust': 1, u'wyvern': 1, u'SharpDevelop': 1, u'lunr-languages': 1, u'waterbear': 1, u'cKanren': 1, u'Transformer-DSL': 1, u'libcsptr': 1, u'hammer.vim': 1, u'go-i18n': 1, u'cloud-slang': 1, u'kendo-global': 1, u'harlan': 1, u'hsandbox': 1, u'fiddlesalad': 1, u'redpotion': 1, u'pre-commit': 1, u'kaldi-lstm': 1, u'KunstmaanBundlesCMS': 1, u'api-samples': 1, u'mingo': 1, u'fancy': 1, u'node-thrust': 1, u'rivescript-js': 1, u'liquidsoap': 1, u'APE_Server': 1, u'konlpy': 1, u'xbuild': 1, u'bitescript': 1, u'centrifuge': 1, u'isla': 1, u'salient': 1, u'macroid': 1, u'cltk': 1, u'Cocktail': 1, u'opalang': 1, u'typed-wire': 1, u'AdaDoom3': 1, u'rdflib': 1, u'hivemind': 1, u'clearnlp': 1, u'SASM': 1, u'Idris-dev': 1, u'circa': 1, u'clojure-opennlp': 1, u'github-language-colors': 1, u'doppio': 1, u'picam': 1, u'Xtendroid': 1, u'neural-language-model': 1, u'natural-brain': 1, u'moonscript': 1, u'asdfree': 1, u'R': 1, u'pyretic': 1, u'JSON-Schema-Test-Suite': 1, u'laravel-langman': 1, u'wide': 1, u'Tcl.js': 1, u'dict_uk': 1, u'LinFu': 1, u'awacs': 1, u'julia-mit': 1, u'mailchecker': 1, u'natty': 1, u'language-detection': 1, u'graphql': 1, u'expm': 1, u'AsmFlappyBird': 1, u'nodent': 1, u'rdotnet': 1, u'rustation': 1, u'cld-js': 1, u'mini': 1, u'PyAIML': 1, u'mythryl': 1, u'hue': 1, u'go-nanomsg': 1, u'csssans': 1, u'golo-lang': 1, u'Template-Assembly': 1, u'API-NG-sample-code': 1, u'recurrent': 1, u'Android-LocalizationActivity': 1, u'CSLightStudio': 1, u'frame-gradle-plugin': 1, u'dyon': 1, u'NCCL': 1, u'quepy': 1, u'Folders': 1, u'Nim': 1, u'grpc-go': 1, u'ForerunnerDB': 1, u'arangodb': 1, u'30-days-of-elixir': 1, u'Piwigo': 1, u'gosu-lang': 1, u'lily': 1, u'gojsonschema': 1, u'gorethink': 1, u'purnam': 1, u'archieml-js': 1, u'duby': 1, u'SeExpr': 1, u'kal': 1, u'linq4j': 1, u'practice-swift': 1, u'groovy-android-gradle-plugin': 1, u'libextobjc': 1, u'Railway-Oriented-Programming-Example': 1, u'haml-js': 1, u'visi': 1, u'processing-js': 1, u'PMLDC': 1, u'code-problems': 1, u'textmate-js-language-syntax-file': 1, u'neolua': 1, u'lstm-char-cnn-tensorflow': 1, u'choicescript': 1, u'openrtb': 1, u'rust-bindgen': 1, u'orderly': 1, u'langdata': 1, u'elasticsearch-lang-javascript': 1, u'pymorphy2': 1, u'swift-lldb': 1, u'vim-syntax-shakespeare': 1, u'rnn-tutorial-gru-lstm': 1, u'swifter': 1, u'todo-apps': 1, u'LanguageDetector': 1, u'steam-condenser': 1, u'spdy': 1, u'speakeasy': 1, u'CSharpEssentials': 1, u'is13': 1, u'ardublock': 1, u'comeonin': 1, u'vsxu': 1, u'liquid-editor': 1, u'Infinite-UIITableview-Scroll': 1, u'Clojush': 1, u'rust_book_ru': 1, u'ecto': 1, u'pyspread': 1, u'completion': 1, u'PETOOH': 1, u'gutscript': 1, u'Sereal': 1, u'DCD': 1, u'machine.specifications': 1, u'speech-language-processing': 1, u'Swift-ZhihuDaily': 1, u'kotlin-web-site': 1, u'swift-weekly': 1, u'black': 1, u'factor': 1, u'Jacob': 1, u'fjord': 1, u'futhark': 1, u'alda': 1, u'toffee': 1, u'roole': 1, u'plate': 1, u'freetype': 1, u'OpenShadingLanguage': 1, u'dust': 1, u'vim-polyglot': 1, u'dg': 1, u'lolcode-spec': 1, u'hlsl2glslfork': 1, u'skulpt': 1, u'erlport': 1, u'outlet': 1, u'winstrap': 1, u'less4j': 1, u'hil': 1, u'koi': 1, u'design-patterns': 1, u'go-book': 1, u'go-pgsql': 1, u'luajit': 1, u'AI-Programmer': 1, u'gradle-android-scala-plugin': 1, u'perl5': 1, u'applied-nlp': 1, u'reia': 1, u'haskell-must-watch': 1, u'linguist': 2, u'l20n.js': 1, u'lambdacube-edsl': 1, u'rust-story': 1, u'clike': 1, u'jchronic': 1, u'tomb': 1, u'rubinius': 1, u'capnproto-net': 1, u'accord': 1, u'vim-devicons': 1, u'glad': 1, u'pyth': 1, u'ldap': 1, u'ark': 1, u'fnlp': 1, u'vint': 1, u'Swift-Sublime-Package': 1, u'stk': 1, u'crystal': 1, u'lux': 1, u'pattern': 1, u'hask': 1, u'http_accept_language': 1, u'Fructose': 1, u'elixir_quick_reference': 1, u'xtext': 1, u'lua': 1, u'Hanzi': 1, u'dlang.org': 1, u'babar': 1, u'ChaiScript': 1, u'VSSpellChecker': 1, u'abrash-zen-of-asm': 1, u'credo': 1, u'candor': 1, u'TryRuby': 1, u'godeb': 1, u'domo': 1, u'vscode-powershell': 1, u'vatican': 1, u'DDT': 1, u'textc-csharp': 1, u'Julia.jl': 1, u'iBeacon': 1, u'Elm.tmLanguage': 1, u'dotliquid': 1, u'figaro': 1, u'Cosmos': 1, u'mschema': 1, u'swift': 2, u'quine-relay': 1, u'coq': 1, u'julia-studio': 1, u'z': 1, u'nimble': 1, u'python-by-example': 1, u'malabar-mode': 1, u'AoPL': 1, u'user_agent': 1, u'psycopg2': 1, u'httpsnippet': 1, u'StarRaiders': 1, u'Word2VecExample': 1, u'WebStorm-Chinese': 1, u'awesome-codeigniter': 1, u'swift-summary': 1, u'elixir-style-guide': 1, u'extprot': 1, u'pure4j': 1, u'awesome-nlp': 1, u'taylor': 1, u'ravi': 1, u'thinscript': 1, u'practical6': 1, u'pyladies': 1, u'gitql': 1, u'www.dartlang.org': 1, u'pp': 1, u'Java-Lang': 1, u'teddy': 1, u'skew': 1, u'parsley': 1, u'oden': 1, u'language-elixir': 1, u'Sparkling': 1, u'langcodes': 1, u'elasticsearch-langdetect': 1, u'treat': 1, u'xdot.py': 1, u'JaiPrimer': 1, u'swift-mode': 1, u'PHP-BOOTSTRAP': 1, u'c2compiler': 1, u'clojure-tco': 1, u'elm.vim': 1, u'Neon-color-scheme': 1, u'langid.py': 1, u'Liquid': 1, u'libpnet': 1, u'uilang': 1, u'snowscript': 1, u'urweb': 1, u'tequila': 1, u'jmespath.py': 1, u'ruby': 1, u'slate-language': 1, u'djangobb': 1, u'renjin': 1, u'LinearML': 1, u'mongodb-driver-examples': 1, u'Dollar': 1, u'chalk': 1, u'lizard': 1, u'nemerle': 1, u'CobolScript': 1, u'fun': 1, u'amu_automata_2011': 1, u'coala': 1, u'Hyperglot': 1, u'robotstxt-go': 1, u'rix': 1, u'luaforwindows': 1, u'earl-grey': 1, u'mioco': 1, u'openbabel': 1, u'ansible': 1, u'faml': 1, u'erlang-bookmarks': 1, u'awesome-awesomes': 1, u'electr': 1, u'php-rql': 1, u'islaclj': 1, u'persian.js': 1, u'tattoo': 1, u'ngx_mruby': 1, u'leveldb': 1, u'polyglot.js': 1, u'Python': 1, u'code-style-guides': 1, u'Inspect': 1, u'guessLanguage.js': 1, u'jsonnet': 1, u'lua-alchemy': 1, u'GolangTraining': 1, u'yeti': 1, u'inch': 1, u'Tidal': 1, u'Sherlock': 1, u'sunpinyin': 1, u'Plim': 1, u'word2vec': 1, u'HTML': 1, u'tapl-scala': 1, u'mockery': 1, u'dijkstras-algorithm': 1, u'repl.it': 1, u'xhp-lib': 1, u'oia': 1, u'007': 1, u'django-template-repl': 1, u'httl': 1, u'scripthookvdotnet': 1, u'Scalite': 1, u'nit': 1, u'diy-lisp': 1, u'sulong': 1, u'azure-iot-sdks': 1, u'jmustache': 1, u'com': 1, u'ObjectPath': 1, u'min': 1, u'ProgrammingLearning': 1, u'bran': 1, u'vscode-go': 1, u'patterns': 1, u'wxPython': 1, u'ruby-nlp': 1, u'Design-Patterns-in-Python': 1, u'baysick': 1, u'wopr': 1, u'PowerShell': 1, u'etl-language-comparison': 1, u'The-Swift-2.0-Programming-Language-playground': 1, u'kyuri': 1, u'deeplearning4nlp-tutorial': 1, u'imba': 1, u'pythonnet': 1, u'cloc': 1, u'wren': 1, u'RustDT': 1, u'mosml': 1, u'husk-scheme': 1, u'System.Linq.Dynamic': 1, u'ermine': 1, u'kenlm': 1, u'crayon-syntax-highlighter': 1, u'funcgo': 1, u'codewars-runner-cli': 1, u'socialite': 1, u'spahql': 1, u'hello-world': 1, u'go-tmbundle': 1, u'retext': 1, u'swift-evolution': 1, u'KnR-The-C-Programming-Language-Solutions': 1, u'eero': 1, u'snappy': 1, u'4': 1, u'ldig': 1, u'JavaScript-Garden': 1, u'Monolingual': 1, u'styles': 1, u'cronexpr': 1, u'Mond': 1, u'beego': 1, u'python-quantities': 1, u'swig': 1, u'metalua': 1, u'github-badge': 1, u'svgo': 1, u'Buzz': 1, u'dolibarr': 1, u'walk': 1, u'awesome-test-automation': 1, u'tslint': 1, u'FSharpKoans': 1, u'go-odbc': 1, u'druntime': 1, u'othw': 1, u'Rserve': 1, u'gopl.io': 1, u'laravel-lang': 1, u'pynlpl': 1, u'trpl-ebook': 1, u'wit': 1, u'eff': 1, u'clay': 1, u'jade-tmbundle': 1, u'glassful': 1, u'Fate-Grand-Order-Translation': 1, u'typescript-rails': 1, u'coffeescript-style-guide': 1, u'Mallet': 1, u'objfw': 1, u'qlang': 1, u'chuck': 1, u'moonsharp': 1, u'revel': 1, u'fosite': 1, u'lobster': 1, u'accelerate': 1, u'echoserver': 1, u'oglplus': 1, u'jquery-localization-tool': 1, u'faster-rnnlm': 1, u'swapview': 1, u'RLTK': 1, u'copy-syntax-highlight-osx': 1, u'jeeves': 1, u'goluago': 1, u'v8eval': 1, u'scala': 1, u'tools': 1, u'SPARQL.js': 1, u'slick': 1, u'django-solid-i18n-urls': 1, u'SwiftWeather': 1, u'tikione-steam-cleaner': 1, u'slash': 1, u'watir-classic': 1, u'translate.js': 1, u'hack-langspec': 1, u'mod-lang-scala': 1, u'Projects': 1, u'gremlin': 1, u'JavaScriptNext.tmLanguage': 1, u'plt': 1, u'stapxx': 1, u'AutoHotkey': 1, u'esparse': 1, u'core-decorators.js': 1, u'barcode': 1, u'call-haskell-from-anything': 1, u'handlebars.scala': 1, u'discount': 1, u'json-mask': 1, u'hackersh': 1, u'rust-notes': 1, u'plb': 1, u'elixir': 1, u'ioke': 1, u'Clojure': 1, u'slug': 1, u'watScript': 1, u'golang-set': 1, u'ok': 1, u'language_detector': 1, u'autolayout.js': 1, u'jsquery': 1, u'kotlin': 1, u'shards': 1, u'node-monquery': 1, u'scuttlebutt': 1, u'seresye': 1, u'toml': 1, u'dotty': 1, u'bish': 1, u'qordoba-for-sketch': 1, u'markdown-rails': 1, u'Tranquil': 1, u'clojure': 1, u'gambit': 1, u'SimpleITK': 1, u'amber': 3, u'cocos': 1, u'msgpack-cli': 1, u'mochi': 1, u'idea-rust': 1, u'akiva': 1, u'simplenlg': 1, u'ModSecurity': 1, u'chronic': 1, u'polyglot': 1, u'python-client': 1, u'vigil': 1, u'delve': 1, u'atom-keyboard-localization': 1, u'delphi-rest-client-api': 1, u'staash': 1, u'luajit-lang-toolkit': 1, u'music_rnn': 1, u'mod_mruby': 1, u'node-cld': 1, u'annabell': 1, u'phobos': 1, u'Aporia': 1, u'eclipse-typescript': 1, u'dlangui': 1, u'shen.clj': 1, u'php-langspec': 1, u'Microsoft-Translator-Python-API': 1, u'VFLToolbox': 1, u'Prepros': 1, u'okku': 1, u'finitio': 1, u'openreil': 1, u'ruby-dicom': 1, u'queryl': 1, u'jOOR': 1, u'atom-language-rust': 1, u'jop': 1, u'droplet': 1, u'solidity': 1, u'gettc': 1, u'elasticsearch-lang-python': 1, u'aliceml': 1, u'antlr4': 1, u'duck-lang': 1, u'russian': 1, u'sdk': 1, u'cvxpy': 1, u'godev': 1, u'dmd': 1, u'opensourcepos': 1, u'thrift4go': 1, u'hippyvm': 1, u'nlpcaffe': 1, u'cil': 1, u'frenetic': 1, u'processing-sublime': 1, u'escher': 1, u'w32': 1, u'agora': 1, u'benchmarks': 1, u'cld2': 1, u'tweeql': 1, u'cosmos': 1, u'Twig': 1, u'rust': 1, u'javascript-for-cats': 1, u'ohm': 1, u'GildedRose-Refactoring-Kata': 1, u'php-textile': 1, u'pyraml-parser': 1, u'semicolon': 1, u'Locale-Emulator': 1, u'gonn': 1, u'felix': 1, u'go-freeling': 1, u'ceu': 1, u'docopt.c': 1, u'nlp_compromise': 1, u'ink': 1, u'vagrantfiles': 1, u'haml': 1, u'check': 1, u'sastrawi': 1, u'typescript-tools': 1, u'Jexl': 1, u'NaturalLanguageForm': 1, u'mesos-go': 1, u'peach': 1, u'allure-core': 1, u'Bandhook-Kotlin': 1, u'texter': 1, u'supercollider': 1, u'jsemu': 1, u'NatI': 1, u'book': 1, u'karait': 1, u'browserid-cookbook': 1, u'mock': 2, u'troll': 1, u'potion': 1, u'TypeScript-Sublime-Plugin': 1, u'intellij-neon': 1, u'Moonshine': 1, u'hermetic': 1, u'code2ebook': 1, u'elm-webpack-loader': 1, u'microKanren': 1, u'CryptoSwift': 1, u'goreman': 1, u'sentiment-server': 1, u'rql': 1, u'matrix': 1, u'braceless.vim': 1, u'jquery-haml': 1, u'chrono': 1, u'matchit.zip': 1, u'pyret-lang': 1, u'semanticvectors': 1, u'groot': 1, u'DLanguage': 1, u'uap-core': 1, u'vim-plugins': 1, u'Localize-Swift': 1, u'mafan': 1, u'timl': 1}

In [17]:



{u'TypeScript': 6, u'Java': 79, u'Objective-C++': 1, None: 43, u'LiveScript': 1, u'JavaScript': 141, u'VimL': 11, u'Perl': 10, u'Elm': 1, u'Lua': 9, u'Jupyter Notebook': 1, u'Fancy': 1, u'Factor': 1, u'Haxe': 1, u'R': 4, u'Scheme': 5, u'Red': 1, u'AutoHotkey': 1, u'Shell': 10, u'Assembly': 4, u'Python': 84, u'AppleScript': 1, u'Scala': 22, u'Common Lisp': 1, u'Dart': 2, u'Ada': 1, u'CoffeeScript': 13, u'HTML': 20, u'Rust': 20, u'Elixir': 7, u'Swift': 23, u'Nimrod': 3, u'Chapel': 1, u'Groovy': 7, u'C': 55, u'D': 12, u'Grammatical Framework': 1, u'Kotlin': 1, u'F#': 2, u'Perl6': 1, u'C++': 66, u'TeX': 1, u'Crystal': 5, u'Objective-C': 6, u'Nemerle': 1, u'Mirah': 1, u'Clojure': 21, u'Erlang': 5, u'CSS': 17, u'Prolog': 1, u'Emacs Lisp': 5, u'Smali': 1, u'CMake': 1, u'Gosu': 1, u'Standard ML': 2, u'Ruby': 55, u'Racket': 1, u'OCaml': 13, u'Julia': 4, u'C#': 31, u'Pascal': 1, u'Haskell': 29, u'Xtend': 1, u'Hack': 2, u'Go': 87, u'Ragel in Ruby Host': 1, u'PHP': 31, u'PowerShell': 1, u'Groff': 1}

In [ ]:


In [ ]:


In [ ]: