Skip to content

Commit a92383f

Browse files
committed
Add script generate_credits.py to automatically update credits.rst
1 parent f881e9b commit a92383f

File tree

1 file changed

+68
-0
lines changed

1 file changed

+68
-0
lines changed

doc/users/generate_credits.py

+68
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
#!/usr/bin/env python
2+
#
3+
# This script generates credits.rst with an up-to-date list of contributors
4+
# to the matplotlib github repository.
5+
6+
import subprocess
7+
8+
TEMPLATE = """.. Note: This file is auto-generated using generate_credits.py
9+
10+
.. _credits:
11+
12+
*******
13+
Credits
14+
*******
15+
16+
17+
Matplotlib was written by John D. Hunter, with contributions from
18+
an ever-increasing number of users and developers.
19+
The current co-lead developers are Michael Droettboom
20+
and Thomas A. Caswell; they are assisted by many
21+
`active
22+
<https://www.openhub.net/p/matplotlib/contributors>`_ developers.
23+
24+
The following is a list of contributors extracted from the
25+
git revision control history of the project:
26+
27+
{contributors}
28+
29+
Some earlier contributors not included above are (with apologies
30+
to any we have missed):
31+
32+
Charles Twardy,
33+
Gary Ruben,
34+
John Gill,
35+
David Moore,
36+
Paul Barrett,
37+
Jared Wahlstrand,
38+
Jim Benson,
39+
Paul Mcguire,
40+
Andrew Dalke,
41+
Nadia Dencheva,
42+
Baptiste Carvello,
43+
Sigve Tjoraand,
44+
Ted Drain,
45+
James Amundson,
46+
Daishi Harada,
47+
Nicolas Young,
48+
Paul Kienzle,
49+
John Porter,
50+
and Jonathon Taylor.
51+
52+
We also thank all who have reported bugs, commented on
53+
proposed changes, or otherwise contributed to Matplotlib's
54+
development and usefulness.
55+
"""
56+
57+
58+
def main():
59+
text = subprocess.check_output(['git', 'shortlog', '--summary'])
60+
contributors = [line.split('\t', 1)[1].strip()
61+
for line in text.decode('utf8').split('\n')
62+
if line]
63+
with open('credits.rst', 'w') as f:
64+
f.write(TEMPLATE.format(contributors=',\n'.join(contributors)))
65+
66+
67+
if __name__ == '__main__':
68+
main()

0 commit comments

Comments
 (0)