Skip to content

Commit 8a8f039

Browse files
committed
Update contributors script and current list
Code changes courtesy of Cursor
1 parent 5e8dbfc commit 8a8f039

3 files changed

Lines changed: 74 additions & 21 deletions

File tree

‎CONTRIBUTORS.md‎

Lines changed: 30 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,36 +4,43 @@ The following people have contributed to this project to make it possible, and w
44

55
## Contributors
66

7-
* [jacalata](https://github.com/jacalata)
87
* [jorwoods](https://github.com/jorwoods)
8+
* [jacalata](https://github.com/jacalata)
99
* [t8y8](https://github.com/t8y8)
1010
* [bcantoni](https://github.com/bcantoni)
1111
* [shinchris](https://github.com/shinchris)
12+
* [vchavatapalli](https://github.com/vchavatapalli)
1213
* [vogelsgesang](https://github.com/vogelsgesang)
1314
* [lbrendanl](https://github.com/lbrendanl)
1415
* [LGraber](https://github.com/LGraber)
16+
* [dependabot[bot]](https://github.com/apps/dependabot)
1517
* [gaoang2148](https://github.com/gaoang2148)
16-
* [benlower](https://github.com/benlower)
1718
* [liu-rebecca](https://github.com/liu-rebecca)
19+
* [benlower](https://github.com/benlower)
1820
* [guodah](https://github.com/guodah)
19-
* [jdomingu](https://github.com/jdomingu)
2021
* [kykrueger](https://github.com/kykrueger)
22+
* [renoyjohnm](https://github.com/renoyjohnm)
23+
* [jdomingu](https://github.com/jdomingu)
2124
* [jz-huang](https://github.com/jz-huang)
2225
* [opus-42](https://github.com/opus-42)
23-
* [markm-io](https://github.com/markm-io)
24-
* [graysonarts](https://github.com/graysonarts)
26+
* [securehst](https://github.com/securehst)
2527
* [d45](https://github.com/d45)
26-
* [preguraman](https://github.com/preguraman)
28+
* [graysonarts](https://github.com/graysonarts)
2729
* [sotnich](https://github.com/sotnich)
30+
* [casey-crawford-cfa](https://github.com/casey-crawford-cfa)
31+
* [preguraman](https://github.com/preguraman)
2832
* [mmuttreja-tableau](https://github.com/mmuttreja-tableau)
29-
* [dependabot[bot]](https://github.com/apps/dependabot)
33+
* [vitorhonna](https://github.com/vitorhonna)
34+
* [TrimPeachu](https://github.com/TrimPeachu)
3035
* [scuml](https://github.com/scuml)
3136
* [ovinis](https://github.com/ovinis)
32-
* [FFMMM](https://github.com/FFMMM)
3337
* [martinbpeters](https://github.com/martinbpeters)
3438
* [talvalin](https://github.com/talvalin)
39+
* [FFMMM](https://github.com/FFMMM)
40+
* [Copilot](https://github.com/apps/copilot-swe-agent)
3541
* [dzucker-tab](https://github.com/dzucker-tab)
3642
* [a-torres-2](https://github.com/a-torres-2)
43+
* [valsarajnivea](https://github.com/valsarajnivea)
3744
* [nnevalainen](https://github.com/nnevalainen)
3845
* [mbren](https://github.com/mbren)
3946
* [wolkiewiczk](https://github.com/wolkiewiczk)
@@ -51,32 +58,41 @@ The following people have contributed to this project to make it possible, and w
5158
* [annematronic](https://github.com/annematronic)
5259
* [rshide](https://github.com/rshide)
5360
* [VathsalaAchar](https://github.com/VathsalaAchar)
54-
* [TrimPeachu](https://github.com/TrimPeachu)
55-
* [ajbosco](https://github.com/ajbosco)
61+
* [toomyem](https://github.com/toomyem)
62+
* [ma7tcsp](https://github.com/ma7tcsp)
63+
* [bossenti](https://github.com/bossenti)
64+
* [TableauKyle](https://github.com/TableauKyle)
5665
* [jimbodriven](https://github.com/jimbodriven)
66+
* [joelclark](https://github.com/joelclark)
5767
* [ltiffanydev](https://github.com/ltiffanydev)
5868
* [martydertz](https://github.com/martydertz)
5969
* [r-richmond](https://github.com/r-richmond)
6070
* [sfarr15](https://github.com/sfarr15)
71+
* [sparklingSky](https://github.com/sparklingSky)
6172
* [tagyoureit](https://github.com/tagyoureit)
6273
* [tjones-commits](https://github.com/tjones-commits)
6374
* [yoshichan5](https://github.com/yoshichan5)
6475
* [wlodi83](https://github.com/wlodi83)
76+
* [ajbosco](https://github.com/ajbosco)
77+
* [AlbertWangXu](https://github.com/AlbertWangXu)
6578
* [anipmehta](https://github.com/anipmehta)
79+
* [BereketBirbo](https://github.com/BereketBirbo)
6680
* [cmtoomey](https://github.com/cmtoomey)
81+
* [dxdc](https://github.com/dxdc)
82+
* [KulykDmytro](https://github.com/KulykDmytro)
83+
* [ecederstrand](https://github.com/ecederstrand)
6784
* [pes-magic](https://github.com/pes-magic)
6885
* [illonage](https://github.com/illonage)
86+
* [Der-Henning](https://github.com/Der-Henning)
6987
* [jayvdb](https://github.com/jayvdb)
7088
* [jorgeFons](https://github.com/jorgeFons)
7189
* [Kovner](https://github.com/Kovner)
7290
* [LarsBreddemann](https://github.com/LarsBreddemann)
7391
* [lboynton](https://github.com/lboynton)
92+
* [LehmD](https://github.com/LehmD)
7493
* [maddy-at-leisure](https://github.com/maddy-at-leisure)
7594
* [narcolino-tableau](https://github.com/narcolino-tableau)
7695
* [PatrickfBraz](https://github.com/PatrickfBraz)
7796
* [paulvic](https://github.com/paulvic)
97+
* [RenaSpb](https://github.com/RenaSpb)
7898
* [shrmnk](https://github.com/shrmnk)
79-
* [TableauKyle](https://github.com/TableauKyle)
80-
* [bossenti](https://github.com/bossenti)
81-
* [ma7tcsp](https://github.com/ma7tcsp)
82-
* [toomyem](https://github.com/toomyem)

‎README.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ To see sample code that works directly with the REST API (in Java, Python, or Po
1616
For more information on installing and using TSC, see the documentation:
1717
<https://tableau.github.io/server-client-python/docs/>
1818

19-
To contribute, see our [Developer Guide](https://tableau.github.io/server-client-python/docs/dev-guide). A list of all our contributors to date is in [CONTRIBUTORS.md].
19+
To contribute, see our [Developer Guide](https://tableau.github.io/server-client-python/docs/dev-guide). A list of all our contributors to date is in [CONTRIBUTORS.md](CONTRIBUTORS.md).
2020

2121
## License
2222
[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Ftableau%2Fserver-client-python.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2Ftableau%2Fserver-client-python?ref=badge_large)

‎getcontributors.py‎

Lines changed: 43 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,46 @@
1-
import json
1+
import os
2+
import subprocess
3+
24
import requests
35

6+
URL = "https://api.github.com/repos/tableau/server-client-python/contributors"
7+
8+
9+
def github_token():
10+
token = os.environ.get("GITHUB_TOKEN") or os.environ.get("GH_TOKEN")
11+
if token:
12+
return token
13+
try:
14+
return subprocess.check_output(["gh", "auth", "token"], text=True, stderr=subprocess.DEVNULL).strip() or None
15+
except (OSError, subprocess.CalledProcessError):
16+
return None
17+
18+
19+
def fetch_contributors():
20+
headers = {"Accept": "application/vnd.github+json", "User-Agent": "getcontributors"}
21+
token = github_token()
22+
if token:
23+
headers["Authorization"] = f"Bearer {token}"
24+
25+
contributors = []
26+
page = 1
27+
while True:
28+
response = requests.get(URL, headers=headers, params={"per_page": 100, "page": page}, timeout=30)
29+
payload = response.json()
30+
if not response.ok or not isinstance(payload, list):
31+
message = payload.get("message", payload) if isinstance(payload, dict) else payload
32+
raise SystemExit(f"GitHub API error {response.status_code}: {message}")
33+
if not payload:
34+
break
35+
contributors.extend(payload)
36+
if len(payload) < 100:
37+
break
38+
page += 1
39+
return contributors
40+
441

5-
logins = json.loads(
6-
requests.get("https://api.github.com/repos/tableau/server-client-python/contributors?per_page=200").text
7-
)
8-
for login in logins:
9-
print(f"* [{login["login"]}]({login["html_url"]})")
42+
for person in fetch_contributors():
43+
login = person.get("login")
44+
html_url = person.get("html_url")
45+
if login and html_url:
46+
print(f"* [{login}]({html_url})")

0 commit comments

Comments
 (0)