From a92383fdbb0e2c4e6907e5afd6c350daa0cd9843 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Fri, 8 Jun 2018 00:32:03 +0200 Subject: [PATCH 1/2] Add script generate_credits.py to automatically update credits.rst --- doc/users/generate_credits.py | 68 +++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100755 doc/users/generate_credits.py diff --git a/doc/users/generate_credits.py b/doc/users/generate_credits.py new file mode 100755 index 000000000000..2b676ab8a4db --- /dev/null +++ b/doc/users/generate_credits.py @@ -0,0 +1,68 @@ +#!/usr/bin/env python +# +# This script generates credits.rst with an up-to-date list of contributors +# to the matplotlib github repository. + +import subprocess + +TEMPLATE = """.. Note: This file is auto-generated using generate_credits.py + +.. _credits: + +******* +Credits +******* + + +Matplotlib was written by John D. Hunter, with contributions from +an ever-increasing number of users and developers. +The current co-lead developers are Michael Droettboom +and Thomas A. Caswell; they are assisted by many +`active +`_ developers. + +The following is a list of contributors extracted from the +git revision control history of the project: + +{contributors} + +Some earlier contributors not included above are (with apologies +to any we have missed): + +Charles Twardy, +Gary Ruben, +John Gill, +David Moore, +Paul Barrett, +Jared Wahlstrand, +Jim Benson, +Paul Mcguire, +Andrew Dalke, +Nadia Dencheva, +Baptiste Carvello, +Sigve Tjoraand, +Ted Drain, +James Amundson, +Daishi Harada, +Nicolas Young, +Paul Kienzle, +John Porter, +and Jonathon Taylor. + +We also thank all who have reported bugs, commented on +proposed changes, or otherwise contributed to Matplotlib's +development and usefulness. +""" + + +def main(): + text = subprocess.check_output(['git', 'shortlog', '--summary']) + contributors = [line.split('\t', 1)[1].strip() + for line in text.decode('utf8').split('\n') + if line] + with open('credits.rst', 'w') as f: + f.write(TEMPLATE.format(contributors=',\n'.join(contributors))) + + +if __name__ == '__main__': + main() \ No newline at end of file From 5f94e44961281390ef4fbc9ea4b7b0b42d2bcf5f Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Fri, 8 Jun 2018 00:32:56 +0200 Subject: [PATCH 2/2] Update credits.rst --- .mailmap | 50 +++++ doc/users/credits.rst | 363 +++++++++++++++++++++++++++++++++- doc/users/generate_credits.py | 28 ++- 3 files changed, 431 insertions(+), 10 deletions(-) diff --git a/.mailmap b/.mailmap index f638116e560f..2b2d110e0299 100644 --- a/.mailmap +++ b/.mailmap @@ -3,6 +3,8 @@ Adam Ortiz Adrien F. Vincent Adrien F. Vincent +Alvaro Sanchez + Andrew Dawson anykraus @@ -13,16 +15,25 @@ Ben Cohen Ben Root Benjamin Root +Benedikt Daurer + Benjamin Congdon Benjamin Congdon bcongdon +Bruno Zohreh + Casper van der Wel +Chris Holdgraf + Christoph Gohlke cgohlke Christoph Gohlke C. Gohlke +Christoph Gohlke Cimarron Mittelsteadt Cimarron +cldssty + Conner R. Phillips Dan Hickstein @@ -34,6 +45,8 @@ David Kua Devashish Deshpande +Dietmar Schwertberger + endolith Eric Dill @@ -49,10 +62,18 @@ Florian Le Bourdais Francesco Montesano montefra +Gauravjeet + +Hajoon Choi + hannah Hans Moritz Günther +Harshit Patni + +ImportanceOfBeingErnest + J. Goutin JGoutin Jack Kelly @@ -82,6 +103,8 @@ Joseph Fox-Rabinovitz Joseph Fox-Rabinovitz +Julien Lhermitte + Julien Schueller Julien Schueller @@ -100,10 +123,16 @@ Lennart Fricke Levi Kilcher +Leon Yin + Lion Krischer +Marek Rudnicki + Martin Fitzpatrick +Matt Newville + Matthew Emmett Matthew Emmett @@ -112,6 +141,8 @@ Matthias Bussonnier Matthias Lüthi Matthias Lüthi +Matti Picus + Michael Droettboom Michael Droettboom Michael Droettboom @@ -133,8 +164,13 @@ Nicolas P. Rougier OceanWolf +Olivier + Patrick Chen +Paul Ganssle +Paul Ganssle + Paul Hobson Paul Hobson vagrant @@ -151,6 +187,8 @@ Phil Elson productivememberofsociety666 none +Rishikesh + RyanPan Scott Lasley @@ -168,13 +206,25 @@ Stefan van der Walt switham switham +Taehoon Lee + Thomas A Caswell Thomas A Caswell Thomas A Caswell Thomas A Caswell Thomas A Caswell Thomas A Caswell <“tcaswell@gmail.com”> Trish Gillett-Kawamoto +Tuan Dung Tran + +Víctor Zabalza + +Vidur Satija + +WANG Aiyong + Werner F Bruhin Yunfei Yang Yunfei Yang Yunfei Yang Yunfei Yang + +Zac Hatfield-Dodds diff --git a/doc/users/credits.rst b/doc/users/credits.rst index 6d737f282955..4d33e9d2ca23 100644 --- a/doc/users/credits.rst +++ b/doc/users/credits.rst @@ -1,3 +1,5 @@ +.. Note: This file is auto-generated using generate_credits.py + .. _credits: ******* @@ -17,138 +19,259 @@ git revision control history of the project: 4over7, Aaron Boushley, +Aashil Patel, +AbdealiJK, Acanthostega, +Adam, Adam Ginsburg, Adam Heck, Adam Ortiz, +Adam Williamson, Adrian Price-Whelan, +Adrien Chardon, Adrien F. Vincent, Ahmet Bakan, +Akshay Nair, +Alan Bernstein, Alan Du, +Alberto, Alejandro Dubrovsky, +Aleksey Bilogur, Alex C. Szatmary, Alex Loew, +Alex Rothberg, +AlexCav, +Alexander Buchkovsky, +Alexander Harnisch, Alexander Taylor, Alexei Colin, +Alexis Bienvenüe, Ali Mehdi, +Ali Uneri, Alistair Muldal, Allan Haldane, +Alvaro Sanchez, Amit Aronovitch, Amy, AmyTeegarden, +AndersonDaniel, +Andras Deak, Andrea Bedini, Andreas Hilboll, +Andreas Mayer, +Andreas Mueller, Andreas Wallner, Andrew Dawson, Andrew Merrill, Andrew Straw, +Andy Mastbaum, Andy Zhu, +Anthony Scopatz, Anton Akhmerov, Antony Lee, Arie, Ariel Hernán Curiale, Arnaud Gardelein, Arpad Horvath, +Arthur Paulino, +Arvind, Aseem Bansal, +Atharva Khare, +BHT, +BTWS, +Bastian Bechtold, Behram Mistree, +Ben, Ben Cohen, Ben Gamari, Ben Keller, Ben Root, +Benedikt Daurer, +Benjamin Berg, +Benjamin Congdon, Benjamin Reedlunn, +Bernhard M. Wiedemann, +Bianca Gibson, Binglin Chang, +Björn Dahlgren, +Blaise Thompson, +Boaz Mohar, Bradley M. Froehle, Brandon Liu, +Brendan Zhang, +Brennan Magee, Brett Cannon, Brett Graham, Brian Mattern, Brian McLaughlin, Bruno Beltran, +Bruno Zohreh, CJ Carey, Cameron Bates, Cameron Davidson-Pilon, +Cameron Fackler, Carissa Brittain, Carl Michal, Carwyn Pelley, Casey Webster, Casper van der Wel, Charles Moad, +Charles Ruan, +Chen Karako, Chris Beaumont, Chris G, +Chris Holdgraf, Christian Brueffer, Christian Stade-Schuldt, Christoph Dann, +Christoph Deil, Christoph Gohlke, Christoph Hoffmann, Cimarron Mittelsteadt, +Cody Scot, +Colin, +Conner R. Phillips, Corey Farwell, +Craig Citro, Craig M, Craig Tenney, +DaCoEx, +Dakota Blair, +Damian, Damon McDougall, Dan Hickstein, +Dana, +Daniel C. Marcu, Daniel Hyams, +Daniel Laidig, Daniel O'Connor, +Danny Hermes, Dara Adib, Darren Dale, +DaveL17, +David A, David Anderson, David Haberthür, David Huard, David Kaplan, +David Kent, David Kua, -David Trémouilles, +David Stansby, +David Trémouilles, Dean Malmgren, +Derek Kim, +Derek Tropf, +Devashish Deshpande, +Diego Mora Cespedes, +Dietmar Schwertberger, +Dietrich Brunn, +Divyam Madaan, Dmitry Lupyan, +Dmitry Shachnev, DonaldSeo, Dora Fraeman, +DoriekeMG, +Dorota Jarecka, +Doug Blank, +Drew J. Sonne, Duncan Macleod, +Dylan Evans, +E. G. Patrick Bos, Edin Salkovic, +Egor Panfilov, Elena Glassman, Elias Pipping, +Elijah Schutz, Elliott Sales de Andrade, +Elvis Stansvik, Emil Mikulic, +Emlyn Price, Eric Dill, Eric Firing, +Eric Larson, Eric Ma, Eric O. LEBIGOT (EOL), +Eric Wieser, Erik Bray, +Erik M. Bray, +Erin Pintozzi, Eugen Beck, Eugene Yurtsev, Evan Davey, Ezra Peisach, +Fabian Kloosterman, +Fabian-Robert Stöter, Fabien Maussion, Fabio Zanini, +FedeMiorelli, Federico Ariza, Felipe, +Felix, +Felix Kohlgrüber, +Felix Yan, Fernando Perez, +Filip Dimitrovski, Filipe Fernandes, +Florencia Noriega, +Florian Le Bourdais, Florian Rhiem, Francesco Montesano, Francis Colas, +Franco Vaccari, +Francoise Provencher, +Frank Yu, François Magimel, +Gabe, +Gabriel Munteanu, +Gauravjeet, Gaute Hope, Gellule Xg, +Geoffrey Spear, Geoffroy Billotey, Gerald Storer, Giovanni, Graham Poulter, Gregory Ashton, Gregory R. Lee, +Grillard, Grégory Lielens, Guillaume Gay, +Guillermo Breto, Gustavo Braganca, +Gustavo Goretkin, +HHest, +Hajoon Choi, +Hakan Kucukdereli, Hans Dembinski, Hans Meine, Hans Moritz Günther, +Harshit Patni, Hassan Kibirige, +Hastings Greer, +Heath Henley, +Heiko Oberdiek, +Helder, +Henning Pohl, +Herbert Kruitbosch, Holger Peters, Hubert Holin, Ian Thomas, +Ida Hjorth, Ignas Anikevicius (gns_ank), Ilia Kurenkov, +Ilya Flyamer, +ImSoErgodic, +ImportanceOfBeingErnest, Ioannis Filippidis, +Isa Hassen, +Isaac Schwabacher, +Isaac Slavitt, Ismo Toijala, +J Alammar, J. Goutin, +Jaap Versteegh, Jack Kelly, +Jacob McDonald, Jae-Joon Lee, Jaime Fernandez, Jake Vanderplas, @@ -156,18 +279,25 @@ James A. Bednar, James Pallister, James R. Evans, JamesMakela, +Jamie Nunez, +Jan Schlüter, Jan Schulz, Jan-Philip Gehrcke, Jan-willem De Bleser, Jarrod Millman, Jascha Ulrich, Jason Grout, +Jason King, Jason Liw Yan Chong, Jason Miller, +Jason Neal, +Jason Zheng, JayP16, Jeff Lutgen, Jeff Whitaker, Jeffrey Bingham, +Jeffrey Hokanson @ Loki, +JelsB, Jens Hedegaard Nielsen, Jeremy Fix, Jeremy O'Donoghue, @@ -178,45 +308,80 @@ Jochen Voss, Jody Klymak, Joe Kington, Joel B. Mohler, +Johannes Wienke, +John Hoffman, John Hunter, +John Vandenberg, +Johnny Gill, +JojoBoulix, Jonathan Waltman, Jorrit Wronski, Josef Heinen, +Joseph Albert, +Joseph Fox-Rabinovitz, Joseph Jon Booker, +Joseph Martinot-Lagarde, José Ricardo, Jouni K. Seppänen, +Juan Nunez-Iglesias, +Julia Sprenger, Julian Mehne, Julian Taylor, +Julian V. Modesto, JulianCienfuegos, Julien Lhermitte, Julien Schueller, Julien Woillez, Julien-Charles Lévesque, +Jun Tan, +Justin Cai, +Jörg Dietrich, +Kacper Kowalik (Xarthisius), +Kanchana Ranasinghe, Kanwar245, Katy Huff, +Keerysanth Sribaskaran, Ken McIvor, +Kenneth Ma, Kevin Chan, Kevin Davies, +Kevin Ji, Kevin Keating, +Kevin Rose, +Kexuan Sun, +Kieran Ramos, Kimmo Palin, +Kjartan Myrdal, +Kjell Le, +Klara Gerlei, Konrad Förstner, Konstantin Tretyakov, Kristen M. Thyng, +Kyle Bridgemohansingh, +Kyler Brown, Lance Hepler, +Laptop11_ASPP2016, Larry Bradley, Leeonadoh, Lennart Fricke, Leo Singer, +Leon Yin, Levi Kilcher, +Liam Brannigan, Lion Krischer, +Lionel Miller, Lodato Luciano, Lori J, Loïc Estève, Loïc Séguin-C, +Luca Verginer, +Luis Pedro Coelho, +Maarten Baert, Magnus Nord, Majid alDosari, Maksym P, Manuel GOACOLOU, +Manuel Jung, Manuel Metz, Marc Abramowitz, Marcos Duarte, @@ -231,100 +396,169 @@ Martin Spacek, Martin Teichmann, Martin Thoma, Martin Ueding, +Massimo Santini, Masud Rahman, Mathieu Duponchelle, Matt Giuca, +Matt Hancock, Matt Klein, Matt Li, Matt Newville, Matt Shen, Matt Terry, +Matthew Bell, Matthew Brett, Matthew Emmett, Matthias Bussonnier, +Matthias Lüthi, Matthieu Caneill, +Matti Picus, Matěj Týč, Maximilian Albert, +Maximilian Maahn, +Maximilian Nöthe, Maximilian Trescher, Mellissa Cross, +Mher Kazandjian, Michael, Michael Droettboom, Michael Sarahan, +Michael Scott Cuthbert, +Michael Seifert, Michael Welter, Michiel de Hoon, Michka Popoff, +Mike Henninger, +Mike Jarvis, Mike Kaufman, Mikhail Korobov, MinRK, Minty Zhang, MirandaXM, Miriam Sierig, +Mitar, +Molly Rossow, +Moritz Boehle, +Mudit Surana, Muhammad Mehdi, +Naoya Kanai, +Nathan Goldbaum, +Nathan Musoke, +Nathaniel M. Beaver, Neil, Neil Crighton, Nelle Varoquaux, Niall Robinson, Nic Eggert, Nicholas Devenish, +Nick Garvey, +Nick Papior, Nick Semenkovich, +Nico Schlömer, Nicolas P. Rougier, Nicolas Pinto, +Nicolas Tessore, +Nik Quibin, Nikita Kniazev, Niklas Koep, Nikolay Vyahhi, +Nils Werner, +Ninad Bhat, Norbert Nemec, +Norman Fomferra, OceanWolf, Oleg Selivanov, Olga Botvinnik, Oliver Willekens, +Olivier, +Orso Meneghini, +Osarumwense, +Pankaj Pandey, Parfenov Sergey, Pascal Bugnion, +Pastafarianist, Patrick Chen, Patrick Marsh, Paul, Paul Barret, -Paul G, +Paul Ganssle, Paul Hobson, Paul Ivanov, +Paul Kirow, +Paul Romano, +Paul Seyfert, Pauli Virtanen, +Pavol Juhas, Per Parker, Perry Greenfield, Pete Bachant, +Pete Huang, +Pete Peterson, Peter Iannucci, +Peter Mortensen, Peter St. John, Peter Würtz, +Petr Danecek, Phil Elson, +Phil Ruffwind, Pierre Haessig, +Pierre de Buyl, Pim Schellart, Piti Ongmongkolkul, +Pranav Garg, +Przemysław Dąbek, Puneeth Chaganti, +Qingpeng "Q.P." Zhang, +RAKOTOARISON Herilalaina, Ramiro Gómez, Randy Olson, Reinier Heeres, Remi Rampin, +Richard Gowers, Richard Hattersley, Richard Trieu, Ricky, +Rishikesh, +Rob Harrigan, Robert Johansson, Robin Dunn, +Robin Neatherway, +Robin Wilson, Rohan Walker, Roland Wirth, +Ronald Hartley-Davies, +Roy Smith, +Rui Lopes, Russell Owen, RutgerK, +Ryan, Ryan Blomberg, Ryan D'Souza, Ryan Dale, Ryan May, +Ryan Morshead, Ryan Nelson, RyanPan, +Saket Choudhary, +Salganos, Salil Vanvari, +Salinder Sidhu, +Sam Vaughan, Sameer D'Costa, +Samson, +Samuel St-Jean, +Sander, Sandro Tosi, +Scott Howard, Scott Lasley, Scott Lawrence, Scott Stevenson, +Sean Farley, Sebastian Pinnau, Sebastian Raschka, +Sebastián Vanrell, +Seraphim Alvanides, +Sergey B Kirpichev, Sergey Kholodilov, Sergey Koposov, Silviu Tantos, @@ -333,136 +567,255 @@ Simon Gibbons, Skelpdar, Skipper Seabold, Slav Basharov, +Sourav Singh, Spencer McIntyre, Stanley, Simon, Stefan Lehmann, +Stefan Pfenninger, Stefan van der Walt, Stefano Rivera, +Stephan Erb, Stephen Horst, Sterling Smith, Steve Chaplin, Steven Silvester, +Steven Tilley, Stuart Mumford, +TD22057, +Tadeo Corradi, +Taehoon Lee, Takafumi Arakaki, Takeshi Kanmae, Tamas Gal, +Tanuj, +Ted Petrou, +Terrence J. Katzenbaer, +Terrence Katzenbaer, +The Gitter Badger, Thomas A Caswell, Thomas Hisch, Thomas Kluyver, Thomas Lake, +Thomas Mansencal, Thomas Robitaille, Thomas Spura, +Thomas VINCENT, +Thorsten Liebig, +Tian Xia, Till Stensitzki, +Tim Hoffmann, Timo Vanwynsberghe, +Tobias Froehlich, Tobias Hoppe, Tobias Megies, Todd Jennings, Todd Miller, +Tom, +Tom Augspurger, +Tom Dupré la Tour, Tomas Kazmar, Tony S Yu, Tor Colvin, Travis Oliphant, Trevor Bekolay, +Trish Gillett-Kawamoto, +Truong Pham, +Tuan Dung Tran, Ulrich Dobramysl, Umair Idris, +V. R, Vadim Markovtsev, Valentin Haenel, -Victor Zabalza, +Valentin Schmidt, +Vedant Nanda, +Vidur Satija, Viktor Kerkez, Vlad Seghete, Víctor Terrón, Víctor Zabalza, +WANG Aiyong, +Warren Weckesser, Wen Li, Wendell Smith, Werner F Bruhin, Wes Campaigne, Wieland Hoffmann, +Will Silva, +William Granados, +William Mallard, William Manley, Wouter Overmeire, Xiaowen Tang, +Xufeng Wang, Yann Tambouret, +Yao-Yuan Mao, Yaron de Leeuw, Yu Feng, Yunfei Yang, Yuri D'Elia, Yuval Langer, +ZWL, Zac Hatfield-Dodds, Zach Pincus, Zair Mubashar, +Zbigniew Jędrzejewski-Szmek, +ahed87, +akrherz, +alcinos, alex, +alvarosg, +aneda, anykraus, +apodemus, arokem, +as691454, aseagram, +ash13, aszilagyi, bblay, +bduick, bev-a-tron, blackw1ng, blah blah, +buefox, burrbull, butterw, cammil, captainwhippet, +cclauss, +ch3rn0v, chadawagner, chebee7i, +chelseatroy, +cknd, +cldssty, +clintval, danielballan, davidovitch, daydreamt, +deeenes, +deepyaman, +dlmccaffrey, domspad, donald, drevicko, e-q, elpres, endolith, +et2010, fardal, ffteja, fgb, fibersnet, +fredrik-1, frenchwr, +fuzzythecat, fvgoto, +gcallah, gitj, gluap, +gnaggnoyil, goir, +goldstarwebs, +greg-roper, +gregorybchris, +hannah, +helmiriawan, hugadams, +ilivni, insertroar, itziakos, +jacob-on-github, jbbrokaw, +jbhopkins, +jerrylui803, +jhelie, +jli, +jonchar, juan.gonzalez, kcrisman, +keithbriggs, kelsiegr, khyox, kikocorreoso, +klaus, +klonuo, kramer65, kshramt, +lboogaard, +legitz7, lichri12, limtaesu, +lspvic, +luz.paz, +lzkelley, +mamrehn, marky, masamson, mbyt, mcelrath, +mcquin, mdipierro, -mrkrd, +mitch, +mlub, +mobando, +muahah, +myyc, +navdeep rana, +nbrunett, +nemanja, +neok-m4700, +nepix32, nickystringer, +nmartensen, nwin, +ob, +pdubcali, pkienzle, +productivememberofsociety666, profholzer, pupssman, rahiel, +rebot, rhoef, rsnape, +ruin, +rvhbooth, +s0vereign, s9w, +scls19fr, +scott-vsi, sdementen, +serv-inc, +settheory, sfroid, +shaunwbell, +simonpf, +sindunuragarp, sohero, spiessbuerger, stahlous, +stone, +stonebig, switham, syngron, +thuvejan, +tmdavison, +tomoemon, +tonyyli, torfbolt, u55, ugurthemaster, +ultra-andy, +vab9, vbr, +vraelvrangr, +watkinrt, xbtsw, -and xuanyuansen. +xuanyuansen, +zhangeugenia, +zhoubecky, +Élie Gouzien Some earlier contributors not included above are (with apologies to any we have missed): diff --git a/doc/users/generate_credits.py b/doc/users/generate_credits.py index 2b676ab8a4db..ae48a4ff87c9 100755 --- a/doc/users/generate_credits.py +++ b/doc/users/generate_credits.py @@ -3,6 +3,9 @@ # This script generates credits.rst with an up-to-date list of contributors # to the matplotlib github repository. +from collections import Counter +import locale +import re import subprocess TEMPLATE = """.. Note: This file is auto-generated using generate_credits.py @@ -54,15 +57,30 @@ development and usefulness. """ +def check_duplicates(): + text = subprocess.check_output(['git', 'shortlog', '--summary', '--email']) + lines = text.decode('utf8').split('\n') + contributors = [line.split('\t', 1)[1].strip() for line in lines if line] + emails = [re.match('.*<(.*)>', line).group(1) for line in contributors] + email_counter = Counter(emails) + + if email_counter.most_common(1)[0][1] > 1: + print('DUPLICATE CHECK: The following email addesses are used with more ' + 'than one name.\nConsider adding them to .mailmap.\n') + for email, count in email_counter.items(): + if count > 1: + print('%s\n%s' % (email, '\n'.join(l for l in lines if email in l))) -def main(): + +def generate_credits(): text = subprocess.check_output(['git', 'shortlog', '--summary']) - contributors = [line.split('\t', 1)[1].strip() - for line in text.decode('utf8').split('\n') - if line] + lines = text.decode('utf8').split('\n') + contributors = [line.split('\t', 1)[1].strip() for line in lines if line] + contributors.sort(key=locale.strxfrm) with open('credits.rst', 'w') as f: f.write(TEMPLATE.format(contributors=',\n'.join(contributors))) if __name__ == '__main__': - main() \ No newline at end of file + check_duplicates() + generate_credits()