add read me
This commit is contained in:
@@ -0,0 +1,111 @@
|
||||
import math
|
||||
import subprocess
|
||||
|
||||
print(
|
||||
"""Contributors
|
||||
============
|
||||
|
||||
All contributors (by number of commits):
|
||||
"""
|
||||
)
|
||||
|
||||
|
||||
email_map = {
|
||||
# Maintainers.
|
||||
"git@mikeboers.com": "github@mikeboers.com",
|
||||
"mboers@keypics.com": "github@mikeboers.com",
|
||||
"mikeb@loftysky.com": "github@mikeboers.com",
|
||||
"mikeb@markmedia.co": "github@mikeboers.com",
|
||||
"westernx@mikeboers.com": "github@mikeboers.com",
|
||||
# Junk.
|
||||
"mark@mark-VirtualBox.(none)": None,
|
||||
# Aliases.
|
||||
"a.davoudi@aut.ac.ir": "davoudialireza@gmail.com",
|
||||
"tcaswell@bnl.gov": "tcaswell@gmail.com",
|
||||
"xxr3376@gmail.com": "xxr@megvii.com",
|
||||
"dallan@pha.jhu.edu": "daniel.b.allan@gmail.com",
|
||||
"61652821+laggykiller@users.noreply.github.com": "chaudominic2@gmail.com",
|
||||
}
|
||||
|
||||
name_map = {
|
||||
"caspervdw@gmail.com": "Casper van der Wel",
|
||||
"daniel.b.allan@gmail.com": "Dan Allan",
|
||||
"mgoacolou@cls.fr": "Manuel Goacolou",
|
||||
"mindmark@gmail.com": "Mark Reid",
|
||||
"moritzkassner@gmail.com": "Moritz Kassner",
|
||||
"vidartf@gmail.com": "Vidar Tonaas Fauske",
|
||||
"xxr@megvii.com": "Xinran Xu",
|
||||
}
|
||||
|
||||
github_map = {
|
||||
"billy.shambrook@gmail.com": "billyshambrook",
|
||||
"daniel.b.allan@gmail.com": "danielballan",
|
||||
"davoudialireza@gmail.com": "adavoudi",
|
||||
"github@mikeboers.com": "mikeboers",
|
||||
"jeremy.laine@m4x.org": "jlaine",
|
||||
"kalle.litterfeldt@gmail.com": "litterfeldt",
|
||||
"mindmark@gmail.com": "markreidvfx",
|
||||
"moritzkassner@gmail.com": "mkassner",
|
||||
"rush@logic.cz": "radek-senfeld",
|
||||
"self@brendanlong.com": "brendanlong",
|
||||
"tcaswell@gmail.com": "tacaswell",
|
||||
"ulrik.mikaelsson@magine.com": "rawler",
|
||||
"vidartf@gmail.com": "vidartf",
|
||||
"willpatera@gmail.com": "willpatera",
|
||||
"xxr@megvii.com": "xxr3376",
|
||||
"chaudominic2@gmail.com": "laggykiller",
|
||||
"wyattblue@auto-editor.com": "WyattBlue",
|
||||
}
|
||||
|
||||
|
||||
email_count = {}
|
||||
for line in (
|
||||
subprocess.check_output(["git", "log", "--format=%aN,%aE"]).decode().splitlines()
|
||||
):
|
||||
name, email = line.strip().rsplit(",", 1)
|
||||
|
||||
email = email_map.get(email, email)
|
||||
if not email:
|
||||
continue
|
||||
|
||||
names = name_map.setdefault(email, set())
|
||||
if isinstance(names, set):
|
||||
names.add(name)
|
||||
|
||||
email_count[email] = email_count.get(email, 0) + 1
|
||||
|
||||
|
||||
last = None
|
||||
block_i = 0
|
||||
for email, count in sorted(email_count.items(), key=lambda x: (-x[1], x[0])):
|
||||
# This is the natural log, because of course it should be. ;)
|
||||
order = int(math.log(count))
|
||||
if last and last != order:
|
||||
block_i += 1
|
||||
print()
|
||||
last = order
|
||||
|
||||
names = name_map[email]
|
||||
if isinstance(names, set):
|
||||
name = ", ".join(sorted(names))
|
||||
else:
|
||||
name = names
|
||||
|
||||
github = github_map.get(email)
|
||||
|
||||
# The '-' vs '*' is so that Sphinx treats them as different lists, and
|
||||
# introduces a gap between them.
|
||||
if github:
|
||||
print(
|
||||
"%s %s <%s>; `@%s <https://github.com/%s>`_"
|
||||
% ("-*"[block_i % 2], name, email, github, github)
|
||||
)
|
||||
else:
|
||||
print(
|
||||
"%s %s <%s>"
|
||||
% (
|
||||
"-*"[block_i % 2],
|
||||
name,
|
||||
email,
|
||||
)
|
||||
)
|
||||
@@ -0,0 +1,117 @@
|
||||
Contributors
|
||||
============
|
||||
|
||||
All contributors (by number of commits):
|
||||
|
||||
- Mike Boers <github@mikeboers.com>; `@mikeboers <https://github.com/mikeboers>`_
|
||||
|
||||
* WyattBlue <wyattblue@auto-editor.com>; `@WyattBlue <https://github.com/WyattBlue>`_
|
||||
* Jeremy Lainé <jeremy.laine@m4x.org>; `@jlaine <https://github.com/jlaine>`_
|
||||
|
||||
- Mark Reid <mindmark@gmail.com>; `@markreidvfx <https://github.com/markreidvfx>`_
|
||||
|
||||
* Vidar Tonaas Fauske <vidartf@gmail.com>; `@vidartf <https://github.com/vidartf>`_
|
||||
* laggykiller <chaudominic2@gmail.com>; `@laggykiller <https://github.com/laggykiller>`_
|
||||
* Billy Shambrook <billy.shambrook@gmail.com>; `@billyshambrook <https://github.com/billyshambrook>`_
|
||||
* Casper van der Wel <caspervdw@gmail.com>
|
||||
* Philip de Nier <philipn@rd.bbc.co.uk>
|
||||
* Tadas Dailyda <tadas@dailyda.com>
|
||||
* Dave Johansen <davejohansen@gmail.com>
|
||||
* JoeUgly <41972063+JoeUgly@users.noreply.github.com>
|
||||
* Justin Wong <46082645+uvjustin@users.noreply.github.com>
|
||||
* Mark Harfouche <mark.harfouche@gmail.com>
|
||||
|
||||
- Alba Mendez <me@alba.sh>
|
||||
- Xinran Xu <xxr@megvii.com>; `@xxr3376 <https://github.com/xxr3376>`_
|
||||
- z-khan <zohaibkh_27@yahoo.com>
|
||||
- Marc Mueller <30130371+cdce8p@users.noreply.github.com>
|
||||
- Dan Allan <daniel.b.allan@gmail.com>; `@danielballan <https://github.com/danielballan>`_
|
||||
- Moonsik Park <moonsik.park@estsoft.com>
|
||||
- Santtu Keskinen <santtu.keskinen@gmail.com>
|
||||
- velsinki <40809145+velsinki@users.noreply.github.com>
|
||||
- Curtis Doty <Curtis@GreenKey.net>
|
||||
- Christoph Rackwitz <christoph.rackwitz@gmail.com>
|
||||
- David Plowman <david.plowman@raspberrypi.com>
|
||||
- Alireza Davoudi <davoudialireza@gmail.com>; `@adavoudi <https://github.com/adavoudi>`_
|
||||
- Jonathan Drolet <jonathan.drolet@riedel.net>
|
||||
- Lukas Geiger <lukas.geiger94@gmail.com>
|
||||
- Matthew Lai <m@matthewlai.ca>
|
||||
- Moritz Kassner <moritzkassner@gmail.com>; `@mkassner <https://github.com/mkassner>`_
|
||||
- Thomas A Caswell <tcaswell@gmail.com>; `@tacaswell <https://github.com/tacaswell>`_
|
||||
- Ulrik Mikaelsson <ulrik.mikaelsson@magine.com>; `@rawler <https://github.com/rawler>`_
|
||||
- Wel C. van der <wel@Physics.LeidenUniv.nl>
|
||||
- Will Patera <willpatera@gmail.com>; `@willpatera <https://github.com/willpatera>`_
|
||||
|
||||
* zzjjbb <31069326+zzjjbb@users.noreply.github.com>
|
||||
* Joe Schiff <41972063+JoeSchiff@users.noreply.github.com>
|
||||
* Dexer <73297572+DexerBR@users.noreply.github.com>
|
||||
* DE-AI <81620697+DE-AI@users.noreply.github.com>
|
||||
* rutsh <Eugene.Krokhalev@gmail.com>
|
||||
* Felix Vollmer <FelixVollmer@gmail.com>
|
||||
* Santiago Castro <bryant1410@gmail.com>
|
||||
* Christian Clauss <cclauss@me.com>
|
||||
* Ihor Liubymov <ihor.liubymov@ring.com>
|
||||
* Johannes Erdfelt <johannes@erdfelt.com>
|
||||
* Karl Litterfeldt <kalle.litterfeldt@gmail.com>; `@litterfeldt <https://github.com/litterfeldt>`_
|
||||
* Kim Minjong <make.dirty.code@gmail.com>
|
||||
* Martin Larralde <martin.larralde@ens-cachan.fr>
|
||||
* Simon-Martin Schröder <martin.schroeder@nerdluecht.de>
|
||||
* Matteo Destro <matteo.est@gmail.com>
|
||||
* mephi42 <mephi42@gmail.com>
|
||||
* Miles Kaufmann <mkfmnn@gmail.com>
|
||||
* Nathan Goldbaum <nathan.goldbaum@gmail.com>
|
||||
* Pablo Prietz <pablo@prietz.org>
|
||||
* Andrew Wason <rectalogic@rectalogic.com>
|
||||
* Radek Senfeld <rush@logic.cz>; `@radek-senfeld <https://github.com/radek-senfeld>`_
|
||||
* robinechuca <serveurpython.oz@gmail.com>
|
||||
* Benjamin Chrétien <2742231+bchretien@users.noreply.github.com>
|
||||
* davidplowman <38045873+davidplowman@users.noreply.github.com>
|
||||
* Hanz <40712686+HanzCEO@users.noreply.github.com>
|
||||
* Kesh Ikuma <79113787+tikuma-lsuhsc@users.noreply.github.com>
|
||||
* Artturin <Artturin@artturin.com>
|
||||
* Ian Lee <IanLee1521@gmail.com>
|
||||
* Ryan Huang <NPN@users.noreply.github.com>
|
||||
* Arthur Barros <arthbarros@gmail.com>
|
||||
* Carlos Ruiz <carlos.r.domin@gmail.com>
|
||||
* Carlos Ruiz <carlos.ruiz.dominguez@west.cmu.edu>
|
||||
* Maxime Desroches <desroches.maxime@gmail.com>
|
||||
* egao1980 <egao1980@gmail.com>
|
||||
* Eric Kalosa-Kenyon <ekalosak@gmail.com>
|
||||
* elxy <elxy@outlook.com>
|
||||
* Gemfield <gemfield@civilnet.cn>
|
||||
* henri-gasc <henri.gasc@eurecom.fr>
|
||||
* Jonathan Martin <homerunisgood@hotmail.com>
|
||||
* Johan Jeppsson Karlin <johjep@gmail.com>
|
||||
* Kian-Meng Ang <kianmeng@cpan.org>
|
||||
* Philipp Klaus <klaus@physik.uni-frankfurt.de>
|
||||
* Marcell Pardavi <marcell.pardavi@gmail.com>
|
||||
* Matteo Destro <matteo@cerrion.com>
|
||||
* Mattias Wadman <mattias.wadman@gmail.com>
|
||||
* Max Ehrlich <max.ehr@gmail.com>
|
||||
* Manuel Goacolou <mgoacolou@cls.fr>
|
||||
* Julian Schweizer <neuneck@gmail.com>
|
||||
* Nikhil Idiculla <nikhilidiculla@gmail.com>
|
||||
* Ömer Sezgin Uğurlu <omer@ugurlu.org>
|
||||
* Orivej Desh <orivej@gmx.fr>
|
||||
* Philipp Krähenbühl <philkr@users.noreply.github.com>
|
||||
* Mattia Procopio <promat85@gmail.com>
|
||||
* ramoncaldeira <ramoncaldeira_328@hotmail.com>
|
||||
* Roland van Laar <roland@rolandvanlaar.nl>
|
||||
* Santiago Castro <sacastro@umich.edu>
|
||||
* Kengo Sawatsu <seattleserv0@gmail.com>
|
||||
* FirefoxMetzger <sebastian@wallkoetter.net>
|
||||
* hyenal <sebastien.ehrhardt@gmail.com>
|
||||
* Brendan Long <self@brendanlong.com>; `@brendanlong <https://github.com/brendanlong>`_
|
||||
* Семён Марьясин <simeon@maryasin.name>
|
||||
* Stephen.Y <stepheny@users.noreply.github.com>
|
||||
* Tom Flanagan <theknio@gmail.com>
|
||||
* Tim O'Shea <tim.oshea753@gmail.com>
|
||||
* Tim Ahpee <timah@blackmagicdesign.com>
|
||||
* Jonas Tingeborn <tinjon@gmail.com>
|
||||
* Pino Toscano <toscano.pino@tiscali.it>
|
||||
* Ulrik Mikaelsson <ulrikm@spotify.com>
|
||||
* Vasiliy Kotov <vasiliy.kotov@itechart-group.com>
|
||||
* Koichi Akabe <vbkaisetsu@gmail.com>
|
||||
* David Joy <videan42@gmail.com>
|
||||
* Sviatoslav Sydorenko (Святослав Сидоренко) <webknjaz@redhat.com>
|
||||
* Jiabei Zhu <zjb@bu.edu>
|
||||
@@ -0,0 +1,23 @@
|
||||
Copyright retained by original committers. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
* Neither the name of the project nor the names of its contributors may be
|
||||
used to endorse or promote products derived from this software without
|
||||
specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT,
|
||||
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
|
||||
OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
||||
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
Binary file not shown.
Reference in New Issue
Block a user