diff --git a/election/github_emails.py b/election/github_emails.py old mode 100644 new mode 100755 index 396739d3c..e277cda94 --- a/election/github_emails.py +++ b/election/github_emails.py @@ -1,4 +1,4 @@ -#!/user/bin/env python3 +#!/usr/bin/env python3 """get_emails.py queries GitHub for the email addresses to use for usernames. diff --git a/election/github_emails_2.py b/election/github_emails_2.py new file mode 100755 index 000000000..709f8d44a --- /dev/null +++ b/election/github_emails_2.py @@ -0,0 +1,51 @@ +#!/usr/bin/env python3 + +"""get_emails_2.py Extracts github IDs from a CSV and matches them +to emails through a JSON map. + +The CVS input file can be obtained from devstats. Clink on the link: +https://tekton.devstats.cd.foundation/d/9/developer-activity-counts-by-repository-group-table?inspect=1&inspectTab=data&viewPanel=1&orgId=1&var-period_name=Last%20year&var-metric=contributions&var-repogroup_name=All&var-country_name=All +and use the download CSV button to download the CSV file. + +The script takes the JSON map from https://github.com/cncf/devstats/blob/master/github_users.json, +which is one of the input files used by the CDF for devstats. + +The output will be a mapping of the GitHub username to the all email addresses +contained in commits associated with this user in a csv file. + +Usage: + python3 github_emails_2.py --file users.csv +""" +import argparse +import csv +import requests +from typing import List, Dict + +import pandas as pd + +EMAIL_MAP = "https://github.com/cncf/devstats/raw/master/github_users.json" + +if __name__ == '__main__': + arg_parser = argparse.ArgumentParser( + description="Try to find email addresses for GitHub usernames") + arg_parser.add_argument("--file", type=str, required=True, + help="A file containing the GitHub usernames to query, separated by a newline") + arg_parser.add_argument("--csv", type=str, required=False, + help="csv file to write with results") + args = arg_parser.parse_args() + + csvfile = args.csv or "found_emails.csv" + missingfile = "missing_emails.csv" + + # load data + users = pd.read_csv(args.file) + emailmap = pd.read_json(EMAIL_MAP) + emailmap = emailmap[~emailmap['email'].str.endswith('users.noreply.github.com')] + + # filter eligible users + eligible = users[users['value'] >= 15] + found = pd.merge(eligible, emailmap, left_on='name', right_on='login', how='left', indicator=True).query('_merge == "both"').drop(columns='_merge') + found['email'] = found['email'].str.replace('!', '@') + missing = pd.merge(eligible, emailmap, left_on='name', right_on='login', how='left', indicator=True).query('_merge == "left_only"').drop(columns='_merge') + found.to_csv(csvfile, columns=['name_x', 'email'], header=False, index=False) + missing.to_csv(missingfile, columns=['name_x'], header=False, index=False) diff --git a/election/users2021.csv b/election/users2021.csv new file mode 100644 index 000000000..fb1d8c807 --- /dev/null +++ b/election/users2021.csv @@ -0,0 +1,747 @@ +"Rank","name","value" +1,vdemeester,3837 +2,bobcatfish,2484 +3,afrittoli,2426 +4,sbwsg,2200 +5,AlanGreene,2138 +6,dibyom,2077 +7,pritidesai,1371 +8,danielhelfand,1216 +9,eddycharly,1174 +10,chmouel,979 +11,wlynch,945 +12,ImJasonH,860 +13,a-roberts,830 +14,vinamra28,775 +15,piyush-garg,757 +16,savitaashture,672 +17,dlorenc,591 +18,mattmoor,530 +19,SM43,515 +20,sthaha,490 +21,PuneetPunamiya,488 +22,popcor255,474 +23,jerop,470 +24,jlpettersson,442 +25,nikhil-thomas,362 +26,gabemontero,292 +27,yuege01,291 +28,vincent-pli,280 +29,Divyansh42,254 +30,sergetron,224 +31,khrm,213 +32,pradeepitm12,201 +33,waveywaves,200 +34,GregDritschler,182 +35,barthy1,175 +36,skaegi,175 +37,bigkevmcd,175 +38,Megan-Wright,159 +39,pratap0007,155 +40,XinruZhang,150 +41,pierretasci,139 +42,CarolynMabbott,136 +43,ncskier,128 +44,anshulvermapatel,122 +45,othomann,107 +46,NikeNano,94 +47,jjasghar,94 +48,bitsofinfo,90 +49,yaoxiaoqi,87 +50,MarcelMue,82 +51,coryrc,78 +52,YolandaDu1997,75 +53,VeereshAradhya,75 +54,NavidZ,74 +55,itewk,71 +56,steveodonovan,69 +57,zhangtbj,69 +58,pratikjagrut,69 +59,chhsia0,68 +60,psschwei,63 +61,rudeigerc,62 +62,chanseokoh,61 +63,JustinKuli,60 +64,Peaorl,58 +65,ywluogg,57 +66,2020testuser,57 +67,xiujuan95,56 +68,adshmh,56 +69,FogDong,54 +70,jace-ys,54 +71,n3wscott,53 +72,spikeburton,53 +73,iancoffey,52 +74,jmcshane,48 +75,jinchihe,43 +76,Fabian-K,43 +77,praveen4g0,42 +78,GwonsooLee,40 +79,withlin,39 +80,kameshsampath,39 +81,jbarrick-mesosphere,39 +82,kobaji,38 +83,chetan-rns,38 +84,wumaxd,38 +85,tragiclifestories,38 +86,R2wenD2,38 +87,dprotaso,37 +88,jromero,36 +89,natalieparellano,36 +90,houshengbo,35 +91,mnuttall,34 +92,ckadner,34 +93,r0bj,33 +94,Tomcli,33 +95,anneqm,33 +96,Yannig,33 +97,NissesSenap,32 +98,abayer,32 +99,mrutkows,31 +100,qu1queee,30 +101,dbazhal,30 +102,gpaul,30 +103,siamaksade,29 +104,kimsterv,27 +105,ad22,27 +106,16yuki0702,27 +107,hrishin,27 +108,akihikokuroda,27 +109,dghubble,27 +110,grebit,27 +111,bahetiamit,27 +112,dfreilich,27 +113,jonjohnsonjr,25 +114,ppitonak,25 +115,dorismeixing,25 +116,shahnewazrifat,25 +117,nishpa214,24 +118,gyliu513,22 +119,bibi520,22 +120,tomgeorge,22 +121,GijsvanDulmen,22 +122,ziheng,22 +123,souleb,22 +124,06kellyjac,21 +125,animeshsingh,21 +126,rnapoles-tktn,21 +127,thomaschandler,20 +128,navidshaikh,19 +129,bioball,19 +130,dibbles,19 +131,maneeshmehra,19 +132,disposab1e,19 +133,abudavis,19 +134,khalkie,18 +135,lukehinds,18 +136,llhhbc,18 +137,spomorski,17 +138,raballew,17 +139,fhopfensperger,17 +140,joellord,17 +141,renhao-0518,17 +142,mpeters,17 +143,2pai,17 +144,ljupchokotev,17 +145,skk2142,16 +146,ibotty,16 +147,chengjingtao,16 +148,a-rothwell,16 +149,didier-durand,16 +150,zeromsi,15 +151,bkmeneguello,15 +152,stevesoaress,15 +153,httpsOmkar,15 +154,holly-cummins,14 +155,DanielMSchmidt,14 +156,rhuss,14 +157,theofpa,14 +158,booninite,14 +159,sravankumar777,14 +160,eddie4941,14 +161,Hokwang,13 +162,JCzz,13 +163,font,13 +164,jacobhjkim,13 +165,qiuxin,13 +166,cameronbraid,13 +167,csantanapr,13 +168,namloc2001,13 +169,soulseen,13 +170,davissp14,13 +171,loafyloaf,13 +172,ibexmonj,13 +173,devholic,12 +174,rakhbari,12 +175,dmitry-mightydevops,12 +176,riceluxs1t,12 +177,freefood89,12 +178,timmyers,12 +179,gitupxm163,12 +180,vtereso,11 +181,zhouhaibing089,11 +182,andrewballantyne,11 +183,holoGDM,11 +184,loosebazooka,11 +185,delpic,11 +186,LiYa-Xu,11 +187,jpds,10 +188,zzguang520,10 +189,shibumi,10 +190,yamaken1343,10 +191,TristonianJones,10 +192,ysaakpr,10 +193,harshad16,10 +194,tnixa,10 +195,addozhang,10 +196,yuwenma,10 +197,dalefwillis,10 +198,lstocchi,10 +199,SaschaSchwarze0,10 +200,shuheiktgw,10 +201,AverageMarcus,10 +202,aleixripoll,10 +203,soharaki,10 +204,fiunchinho,10 +205,gsaslis,9 +206,stevemar,9 +207,juanri0s,9 +208,rinckm,9 +209,jpower432,9 +210,sbose78,9 +211,jlewi,9 +212,vvvsrx,9 +213,jtestard,9 +214,Mage-Sky,9 +215,nkakkar81,9 +216,michaelsauter,9 +217,gejunqiang,9 +218,donhui,8 +219,andsens,8 +220,lqy1992,8 +221,kobayashi,8 +222,MartinForReal,8 +223,supershll,8 +224,k,8 +225,cccfeng,8 +226,kadern0,8 +227,ttretau,8 +228,eqqe,8 +229,shinji62,8 +230,rannox,8 +231,Martsings,8 +232,gsmlg,8 +233,Bl4d3s,8 +234,haidouks,8 +235,bharathvenkatrajan,8 +236,rawlingsj,7 +237,chlunde,7 +238,JPEWdev,7 +239,gosharplite,7 +240,digimonster,7 +241,HeavyWombat,7 +242,hectotruj,7 +243,ghfalcon7,7 +244,LOZORD,7 +245,rlandesman,7 +246,jeffmaury,7 +247,msmagnanijr,7 +248,wwu-cx,7 +249,rvadim,7 +250,fgiloux,7 +251,alan-ghelardi,7 +252,jieyu,7 +253,lmserrano,7 +254,JimmyMa,7 +255,IamGabrielWu,7 +256,brindasanth,7 +257,paolocarta,7 +258,vikas027,7 +259,ekarlso,7 +260,poy,7 +261,mgencur,6 +262,ekupershlak,6 +263,fabioluciano,6 +264,mhaddon,6 +265,phantooom,6 +266,linzhaoming,6 +267,rvandegrift,6 +268,veggiemonk,6 +269,aii-ssvinoth22,6 +270,jsimao71,6 +271,tom24d,6 +272,du2016,6 +273,itscatherinelam,6 +274,ishani2412,6 +275,Shahard2,6 +276,rupalibehera,6 +277,MohamedTalhaoui,6 +278,abhinavkhanna-sf,6 +279,aadeshpa,6 +280,howardjohn,6 +281,chandanikumari,6 +282,nmousouros,5 +283,sunnoy,5 +284,zhujian7,5 +285,johnlongo,5 +286,zops,5 +287,arunavemulapalli,5 +288,salaboy,5 +289,lawrencejones,5 +290,fraenkel,5 +291,TomaszKlosinski,5 +292,zxDiscovery,5 +293,gokula-krishna-dev,5 +294,hprateek43,5 +295,mfuxi,5 +296,tom20180101,5 +297,firmsoil,5 +298,snehlatamohite,5 +299,aelbarkani,5 +300,LinuxSuRen,5 +301,daviddyball,5 +302,jhonmike,5 +303,anderoo,5 +304,test2016new,5 +305,HefeiJoe,5 +306,oiricaud,5 +307,mogsie,5 +308,ssvinoth22,5 +309,pciazynski,5 +310,IdanAdar,5 +311,jotacamou,5 +312,c5haw,5 +313,zgfh,5 +314,sadoMasupilami,5 +315,dleurs,5 +316,gattytto,5 +317,yaelharel,5 +318,guyhoskinsibm,5 +319,hamelsmu,4 +320,mmpei,4 +321,gnunn1,4 +322,christopherfrieler,4 +323,patsevanton,4 +324,donglinjy,4 +325,linkdd,4 +326,Mohjive,4 +327,drewbutlerbb4,4 +328,benjaminhuo,4 +329,skelterjohn,4 +330,micxer,4 +331,DenisPalnitsky,4 +332,Huweicai,4 +333,win5do,4 +334,Conky5,4 +335,afflom,4 +336,nsoubelet,4 +337,koceg,4 +338,ricardochimal,4 +339,jkhelil,4 +340,wajid-poernomo,4 +341,kramvan1,4 +342,laik,4 +343,nickgerace,4 +344,pgrimaud,4 +345,adux6991,4 +346,ameyer-pivotal,4 +347,akram,4 +348,quintesse,4 +349,96RadhikaJadhav,4 +350,StevenACoffman,4 +351,storyicon,4 +352,karthikjeeyar,4 +353,zjgoodman,4 +354,afbot,4 +355,benhxy,4 +356,StrongMonkey,4 +357,idrissneumann,4 +358,ryanewk,4 +359,fenglixa,4 +360,AlexReiff,4 +361,assertion,4 +362,mpetason,4 +363,joachimprinzbach,4 +364,orefalo,3 +365,dankraemer,3 +366,soumochak83,3 +367,MarcusNoble,3 +368,adrianRiobo,3 +369,avinashsingh6,3 +370,mishima-haruka,3 +371,bbhuston,3 +372,vidheer,3 +373,shashipratap,3 +374,so0k,3 +375,Vilsol,3 +376,MovaUA,3 +377,Bobgy,3 +378,mbwhite,3 +379,wouter2397,3 +380,kyledwilson,3 +381,gorkem,3 +382,ewolak-sq,3 +383,ekcasey,3 +384,mustafaakin,3 +385,rjackowens,3 +386,willzhang,3 +387,andrey-carerix,3 +388,weinix,3 +389,dewan-ahmed,3 +390,leiyanggz,3 +391,vigneshashokan,3 +392,izhukov,3 +393,mtamboli,3 +394,moficodes,3 +395,jcmcken,3 +396,hanczaryk,3 +397,wingyplus,3 +398,impl,3 +399,supra08,3 +400,phonique,3 +401,ghglza,3 +402,inaxium,3 +403,dullest,3 +404,dansiviter,3 +405,ratripathi,3 +406,serg-bs,3 +407,shimmerjs,3 +408,ahpook,3 +409,AvinashSingh299,3 +410,sickyoon,3 +411,jorgemoralespou,3 +412,scniro,3 +413,johnnnliu,3 +414,masanetes,3 +415,dcherman,3 +416,zhangyunlin,3 +417,Chimney42,3 +418,maxres-fr,3 +419,dacleyra,3 +420,galetis,3 +421,ebaek,3 +422,jrcast,3 +423,cqbqdd11519,3 +424,ddy4633,3 +425,BostjanBozic,3 +426,myoss,3 +427,michaelawyu,3 +428,c1505,3 +429,amoravek,2 +430,schue,2 +431,bgottfried91,2 +432,marouim,2 +433,drgomesp,2 +434,tstromberg,2 +435,rdelpret,2 +436,whizzosoftware,2 +437,benke33,2 +438,drsm79,2 +439,dumez-k,2 +440,msjostrom,2 +441,shuawest,2 +442,dinagraves,2 +443,hnts,2 +444,jtama-op,2 +445,Thearas,2 +446,lwasyl,2 +447,anxinyf,2 +448,ixdy,2 +449,boxboatmatt,2 +450,garethjevans,2 +451,Dileep1314,2 +452,coyote240,2 +453,rionam,2 +454,lijie512917227,2 +455,tibcoplord,2 +456,tedhtchang,2 +457,josephlewis42,2 +458,dianqihanwangzi,2 +459,caniszczyk,2 +460,paulczar,2 +461,arve0,2 +462,yjp211,2 +463,darabi,2 +464,frostmourner,2 +465,Alan-Cha,2 +466,andydude,2 +467,Letty5411,2 +468,ErmakovDmitriy,2 +469,prantaa,2 +470,ianpartridge,2 +471,lrokman,2 +472,AhmaudArbery,2 +473,verokarhu,2 +474,necccc,2 +475,clux,2 +476,takoh-yuuichiro,2 +477,stainboy,2 +478,tony612,2 +479,knative-automation,2 +480,vyom-soft,2 +481,mattysweeps,2 +482,ghatwala,2 +483,rokrokss,2 +484,pollard93,2 +485,markito,2 +486,cten,2 +487,HerrmannHinz,2 +488,phylee,2 +489,JohanWork,2 +490,rlangfordBV,2 +491,BenTheElder,2 +492,masonse,2 +493,tomhau01,2 +494,olegchorny,2 +495,onesolpark,2 +496,soukron,2 +497,kevinyu98,2 +498,markusthoemmes,2 +499,xishengcai,2 +500,kav,2 +501,onthedock,2 +502,TakiTake,2 +503,hellerbarde,2 +504,cocktailer,2 +505,Miguel-Otero-IBM,2 +506,tstmrk,2 +507,joshsleeper,2 +508,bartkalanski,2 +509,cameronbalahan,2 +510,danlopez00,2 +511,ciriarte,2 +512,cyberbliss,2 +513,remoe,2 +514,ngrkajac,2 +515,lukehb,2 +516,SantiagoTorres,2 +517,PoliM,2 +518,mike1451,2 +519,RafaeLeal,2 +520,husnurrsyafni,2 +521,paulsteele,2 +522,inductor,2 +523,rbaumgar,2 +524,estei,2 +525,lkrzyzanek,2 +526,ducksecops,2 +527,sudhirverma,2 +528,adambkaplan,2 +529,mancubus77,2 +530,stobias123,2 +531,jstrachan,2 +532,sladyn98,2 +533,retgits,2 +534,cgruver,2 +535,thinkerou,2 +536,andreasevers,2 +537,master221,2 +538,madbence,2 +539,TheYkk,2 +540,chechiachang,2 +541,tianon,1 +542,devwander,1 +543,ngtuna,1 +544,tracymiranda,1 +545,yashvardhan-kukreja,1 +546,ctron,1 +547,jordanbailes,1 +548,denkensk,1 +549,takirala,1 +550,giriatblockchange,1 +551,AnyISalIn,1 +552,flaviodsr,1 +553,abdennour,1 +554,amansatija,1 +555,aliei,1 +556,djfinnoy,1 +557,fbongiovanni29,1 +558,garyyang85,1 +559,elixirl1l,1 +560,dictyo,1 +561,calvinpark,1 +562,jceresini,1 +563,karangarg218,1 +564,evyros,1 +565,marcosflobo,1 +566,zapman449,1 +567,kadirselcuk,1 +568,dustym,1 +569,seansund,1 +570,lucperkins,1 +571,naiduasn,1 +572,rucciva,1 +573,yuzliu,1 +574,billinra,1 +575,mayank-sfdc,1 +576,sebgoa,1 +577,larrycai,1 +578,carltonmason,1 +579,nalind,1 +580,yudatou123,1 +581,boweeb,1 +582,moustafab,1 +583,terrytangyuan,1 +584,vmendis-stash,1 +585,faust64,1 +586,manishtomar,1 +587,Shivkumar13,1 +588,viniagostini,1 +589,dekkagaijin,1 +590,resamaraschi,1 +591,ZhuangYuZY,1 +592,mlbiam,1 +593,wstrange,1 +594,davidkarlsen,1 +595,Theresa29,1 +596,posinaga-demo,1 +597,mhubig,1 +598,rhd-gitops-functional,1 +599,GabrielLasso,1 +600,kitty-catt,1 +601,steren,1 +602,malacourse,1 +603,mgreau,1 +604,leo1515416043,1 +605,justinbarrick,1 +606,rivlinp,1 +607,marcusmaday,1 +608,lcc3108,1 +609,Mel-Github,1 +610,tam512,1 +611,hb-chen,1 +612,nastacio,1 +613,tariq1890,1 +614,zhanghetong,1 +615,Tomy2e,1 +616,MarckK,1 +617,ipedrazas,1 +618,t-persson,1 +619,shiyu-dong,1 +620,isaaguilar,1 +621,stepanselyuk,1 +622,kenplusplus,1 +623,concaf,1 +624,xpepermint,1 +625,srethira,1 +626,caliahub,1 +627,florath,1 +628,ycyxuehan,1 +629,robermar23,1 +630,erinz,1 +631,RafalMaleska,1 +632,EliZucker,1 +633,shunsubramanian,1 +634,tylerauerbeck,1 +635,raffaelespazzoli,1 +636,dinup24,1 +637,cezarguimaraes,1 +638,codeshaw,1 +639,gswallow,1 +640,vaikas,1 +641,cs-tsui,1 +642,stuarthu,1 +643,acim,1 +644,carlos-logro,1 +645,vivi2050,1 +646,Tallisado,1 +647,AshCripps,1 +648,tjwallace,1 +649,andradedpg,1 +650,tmshn,1 +651,maneilldev,1 +652,rektide,1 +653,andreyvelich,1 +654,scott-kawaguchi,1 +655,moto-timo,1 +656,lippertmarkus,1 +657,briandealwis,1 +658,anshulpatel25,1 +659,bconey,1 +660,antonioberben,1 +661,kh-sonrai,1 +662,amlozano,1 +663,c6h3un,1 +664,javajon,1 +665,MartinKanters,1 +666,nak3,1 +667,kpiwko,1 +668,mdolinin,1 +669,almottier,1 +670,LinuxArchitects,1 +671,avloss,1 +672,yselkowitz,1 +673,zeusro,1 +674,ankitm123,1 +675,watanabeyk,1 +676,apasrini,1 +677,pc-tradelab,1 +678,T0MASD,1 +679,jverce,1 +680,atmosx,1 +681,joe-sonrichard,1 +682,CoderPoet,1 +683,patcito,1 +684,JoaoVitoGomes,1 +685,Vstural,1 +686,csgitharness,1 +687,felixtran39,1 +688,sevikarakose,1 +689,fishingfly,1 +690,sdaschner,1 +691,lee-zhg,1 +692,JBodkin-LH,1 +693,Danny02,1 +694,achedeuzot,1 +695,scboffspring,1 +696,andrewmelis,1 +697,1026908346,1 +698,goern,1 +699,euprogramador,1 +700,soondo21,1 +701,ketank-new,1 +702,alexashley,1 +703,deepio-oc,1 +704,leptonyu,1 +705,7AC,1 +706,gaoyajun01,1 +707,evankanderson,1 +708,hyunuck,1 +709,ymatsush,1 +710,docularxu,1 +711,fx2y,1 +712,tonysmithio,1 +713,dudicoco,1 +714,kostyaplis,1 +715,LWZ55,1 +716,nwang92,1 +717,cjwagner,1 +718,kasuboski,1 +719,MLBMatt,1 +720,sayom88,1 +721,kutsal,1 +722,hrvolapeter,1 +723,wwitteriii,1 +724,KeisukeYamashita,1 +725,eigood,1 +726,medkbadri,1 +727,vathsalashetty25,1 +728,plumpy,1 +729,vinayvinay,1 +730,raffamendes,1 +731,kylewolfe,1 +732,chasewalden,1 +733,bcollard,1 +734,guitcastro,1 +735,prachirp,1 +736,andrewrynhard,1 +737,JianleiZhang,1 +738,fabianmet,1 +739,jmlrt,1 +740,khilman,1 +741,adjavaherian,1 +742,tegioz,1 +743,Avni-Sharma,1 +744,desourav,1 +745,nalinigokulpure,1 +