diff --git a/CONTRIBUTORS.rst b/CONTRIBUTORS.rst
index ddf18a90b..e094fc948 100644
--- a/CONTRIBUTORS.rst
+++ b/CONTRIBUTORS.rst
@@ -10,33 +10,42 @@
- Aaron Denney (@wnoise)
- Aditya Gandra (@agandra)
+- Alfred Kedhammar (@kedhammar)
- AljaΕΎ Mur ErΕΎen (@aljazerzen)
- Antti Kaihola (@akaihola)
+- Ashblaze (@Ashblaze)
- August Masquelier (@levouh)
- Axel Dahlberg (@AckslD)
+- Bao (@baod-rate)
- Bao (@qubidt)
- Ben Falk (@falkben)
- Bharat Kunwar (@brtknr)
- Brandon Perkins (@bdperkin)
- Carsten Kraus (@casio)
+- Cedric (@mrfroggg)
- Chmouel Boudjnah (@chmouel)
- Christian Clauss (@cclauss)
- Christian Decker (@chrisdecker1201)
- Christophe Simonis (@KangOl)
- Correy Lim (@CorreyL)
+- csteiner (@clintonsteiner)
+- Damien Keraudren (@dkeraudren)
- Daniel Martin (@fizbin)
- David Dreher (@DavidCDreher)
- David Sanders (@shangxiao)
- deadkex (@deadkex)
- Dhruv Kumar Jha (@dhrvjha)
+- Dmitry Shemetov (@dshemetov)
- Dominik Kutra (@k-dominik)
- dsmanl (@dsmanl)
- Dustin Spicuzza (@virtuald)
- DylanYoung (@DylanYoung)
- Eric Riddoch (@phitoduck)
+- Eyob Kibret (@Eyobkibret15)
- Filippos Giannakos (@philipgian)
- Fox_white (@foxwhite25)
- Georges Discry (@gdiscry)
+- Gergely Polonkai (@gergelypolonkai)
- Giel van Schijndel (@muggenhor)
- Hugo Dupras (@jabesq)
- Hugo van Kemenade (@hugovk)
@@ -76,6 +85,8 @@
- Ronie Martinez (@roniemartinez)
- Ross Barnowski (@rossbar)
- samoylovfp (@samoylovfp)
+- Samuel Gaist (@sgaist)
+- Sarah (@seweissman)
- Sean Hammond (@sherbie)
- sfoucek (@simonf-dev)
- Shantanu (@hauntsaninja)
diff --git a/README.rst b/README.rst
index beae79bad..eb3f442fb 100644
--- a/README.rst
+++ b/README.rst
@@ -1015,6 +1015,18 @@ Thanks goes to these wonderful people (`emoji key`_):
π
+
+
+
+
+
+ Alfred Kedhammar
+
+
+
+ π
+ π
+ |
@@ -1041,6 +1053,19 @@ Thanks goes to these wonderful people (`emoji key`_):
π
π§
|
+
+
+
+
+
+ Ashblaze
+
+
+
+ π
+ |
+
+
@@ -1064,8 +1089,17 @@ Thanks goes to these wonderful people (`emoji key`_):
π
|
-
-
+
+
+
+
+
+ Bao
+
+
+
+ π»
+ |
@@ -1087,6 +1121,7 @@ Thanks goes to these wonderful people (`emoji key`_):
π
+ π
|
@@ -1099,6 +1134,8 @@ Thanks goes to these wonderful people (`emoji key`_):
π
|
+
+
@@ -1121,6 +1158,17 @@ Thanks goes to these wonderful people (`emoji key`_):
π
|
+
+
+
+
+
+ Cedric
+
+
+
+ π
+ |
@@ -1133,8 +1181,6 @@ Thanks goes to these wonderful people (`emoji key`_):
π»
π
|
-
-
@@ -1158,6 +1204,8 @@ Thanks goes to these wonderful people (`emoji key`_):
π»
π
|
+
+
@@ -1182,6 +1230,17 @@ Thanks goes to these wonderful people (`emoji key`_):
π
π
|
+
+
+
+
+
+ Damien Keraudren
+
+
+
+ π
+ |
@@ -1204,8 +1263,6 @@ Thanks goes to these wonderful people (`emoji key`_):
π
|
-
-
@@ -1218,6 +1275,8 @@ Thanks goes to these wonderful people (`emoji key`_):
π»
π
|
+
+
@@ -1230,6 +1289,17 @@ Thanks goes to these wonderful people (`emoji key`_):
π
π»
|
+
+
+
+
+
+ Dmitry Shemetov
+
+
+
+ π
+ |
@@ -1276,6 +1346,17 @@ Thanks goes to these wonderful people (`emoji key`_):
|
+
+
+
+
+
+ Eyob Kibret
+
+
+
+ π
+ |
@@ -1309,6 +1390,17 @@ Thanks goes to these wonderful people (`emoji key`_):
π»
|
+
+
+
+
+
+ Gergely Polonkai
+
+
+
+ π
+ |
@@ -1320,6 +1412,8 @@ Thanks goes to these wonderful people (`emoji key`_):
π»
|
+
+
@@ -1343,8 +1437,6 @@ Thanks goes to these wonderful people (`emoji key`_):
π»
|
-
-
@@ -1390,6 +1482,8 @@ Thanks goes to these wonderful people (`emoji key`_):
π
|
+
+
@@ -1412,8 +1506,6 @@ Thanks goes to these wonderful people (`emoji key`_):
π
|
-
-
@@ -1458,6 +1550,8 @@ Thanks goes to these wonderful people (`emoji key`_):
π
|
+
+
@@ -1480,8 +1574,6 @@ Thanks goes to these wonderful people (`emoji key`_):
π
|
-
-
@@ -1528,6 +1620,8 @@ Thanks goes to these wonderful people (`emoji key`_):
π»
|
+
+
@@ -1552,8 +1646,6 @@ Thanks goes to these wonderful people (`emoji key`_):
π
π
|
-
-
@@ -1600,6 +1692,8 @@ Thanks goes to these wonderful people (`emoji key`_):
π
|
+
+
@@ -1624,8 +1718,6 @@ Thanks goes to these wonderful people (`emoji key`_):
π
|
-
-
@@ -1670,6 +1762,8 @@ Thanks goes to these wonderful people (`emoji key`_):
π
|
+
+
@@ -1681,6 +1775,28 @@ Thanks goes to these wonderful people (`emoji key`_):
π
|
+
+
+
+
+
+ Samuel Gaist
+
+
+
+ π»
+ |
+
+
+
+
+
+ Sarah
+
+
+
+ π
+ |
@@ -1692,8 +1808,6 @@ Thanks goes to these wonderful people (`emoji key`_):
π
|
-
-
@@ -1716,6 +1830,8 @@ Thanks goes to these wonderful people (`emoji key`_):
π
|
+
+
@@ -1760,8 +1876,6 @@ Thanks goes to these wonderful people (`emoji key`_):
π»
|
-
-
@@ -1783,6 +1897,8 @@ Thanks goes to these wonderful people (`emoji key`_):
|
+
+
@@ -1828,8 +1944,6 @@ Thanks goes to these wonderful people (`emoji key`_):
π
π
|
-
-
@@ -1853,6 +1967,8 @@ Thanks goes to these wonderful people (`emoji key`_):
π
π
|
+
+
@@ -1875,6 +1991,17 @@ Thanks goes to these wonderful people (`emoji key`_):
π
|
+
+
+
+
+
+ csteiner
+
+
+
+ π
+ |
@@ -1897,8 +2024,6 @@ Thanks goes to these wonderful people (`emoji key`_):
π
|
-
-
@@ -1910,6 +2035,8 @@ Thanks goes to these wonderful people (`emoji key`_):
π
|
+
+
@@ -1966,8 +2093,6 @@ Thanks goes to these wonderful people (`emoji key`_):
π
|
-
-
@@ -1979,6 +2104,8 @@ Thanks goes to these wonderful people (`emoji key`_):
π
|
+
+
diff --git a/contributors.yaml b/contributors.yaml
index 310149376..cb2c0f28d 100644
--- a/contributors.yaml
+++ b/contributors.yaml
@@ -1,6 +1,8 @@
---
AckslD:
- {link_type: issues, type: Bug reports}
+Ashblaze:
+ - {link_type: search-discussions, type: Bug reports}
Asuskf:
- {link_type: search-discussions, type: Bug reports}
Carreau:
@@ -15,6 +17,8 @@ DavidCDreher:
- {link_type: issues, type: Bug reports}
DylanYoung:
- {link_type: issues, type: Bug reports}
+Eyobkibret15:
+ - {link_type: search-discussions, type: Bug reports}
Hainguyen1210:
- {link_type: issues, type: Bug reports}
KangOl:
@@ -44,6 +48,8 @@ akaihola:
- {link_type: commits, type: Maintenance}
aljazerzen:
- {link_type: commits, type: Code}
+baod-rate:
+ - {link_type: pulls-author, type: Code}
bdperkin:
- {link_type: issues, type: Bug reports}
brtknr:
@@ -58,17 +64,24 @@ chmouel:
chrisdecker1201:
- {link_type: pulls-author, type: Code}
- {link_type: issues, type: Bug reports}
+clintonsteiner:
+ - {link_type: issues, type: Bug reports}
deadkex:
- {link_type: search-discussions, type: Bug reports}
dhrvjha:
- {link_type: search-comments, type: Bug reports}
- {link_type: pulls-author, type: Code}
+dkeraudren:
+ - {link_type: search-comments, type: Bug reports}
+dshemetov:
+ - {link_type: issues, type: Bug reports}
dsmanl:
- {link_type: issues, type: Bug reports}
dwt:
- {link_type: issues, type: Bug reports}
falkben:
- {link_type: pulls-author, type: Documentation}
+ - {link_type: search-discussions, type: Bug reports}
fizbin:
- {link_type: issues, type: Bug reports}
flying-sheep:
@@ -77,6 +90,8 @@ foxwhite25:
- {link_type: search, type: Bug reports}
gdiscry:
- {link_type: pulls-author, type: Code}
+gergelypolonkai:
+ - {link_type: issues, type: Bug reports}
gesslerpd:
- {link_type: issues, type: Bug reports}
guettli:
@@ -107,6 +122,9 @@ jsuit:
- {link_type: search-discussions, type: Bug reports}
k-dominik:
- {link_type: search-comments, type: Bug reports}
+kedhammar:
+ - {link_type: search-discussions, type: Bug reports}
+ - {link_type: issues, type: Bug reports}
leej3:
- {link_type: search-comments, type: Bug reports}
leotrs:
@@ -127,6 +145,8 @@ mayk0gan:
- {link_type: issues, type: Bug reports}
minrk:
- {link_type: darker-feedstock-issues, type: Code}
+mrfroggg:
+ - {link_type: search-comments, type: Bug reports}
muggenhor:
- {link_type: commits, type: Code}
my-tien:
@@ -153,6 +173,10 @@ rossbar:
- {link_type: issues, type: Bug reports}
samoylovfp:
- {link_type: pulls-reviewed, type: Reviewed Pull Requests}
+seweissman:
+ - {link_type: issues, type: Bug reports}
+sgaist:
+ - {link_type: pulls-author, type: Code}
shangxiao:
- {link_type: pulls-author, type: Code}
- {link_type: issues, type: Bug reports}
diff --git a/release_tools/update_contributors.py b/release_tools/update_contributors.py
index c5812b72b..74d144230 100644
--- a/release_tools/update_contributors.py
+++ b/release_tools/update_contributors.py
@@ -167,6 +167,10 @@ def verify() -> None:
}
+class NotFoundError(Exception):
+ """Raised when a GitHub API resource is not found"""
+
+
class GitHubSession(CachedSession):
"""Caching HTTP request session with useful defaults
@@ -203,6 +207,8 @@ def request( # type: ignore[override] # pylint: disable=arguments-differ
if url.startswith("/"):
url = f"https://api.github.com{url}"
response = super().request(method, url, headers=hdrs, **kwargs)
+ if response.status_code == 404 and response.json()["message"] == "Not Found":
+ raise NotFoundError()
if response.status_code != 200:
raise RuntimeError(
f"{response.status_code} {response.text} when requesting {url}"
@@ -333,6 +339,11 @@ def _normalize_rtl_override(text: str) -> str:
return text[-2:0:-1]
+DELETED_USERS = {
+ "qubidt": {"id": 6306455, "name": "Bao", "login": "qubidt"},
+}
+
+
def join_github_users_with_contributions(
users_and_contributions: Dict[str, List[Contribution]],
session: GitHubSession,
@@ -346,7 +357,10 @@ def join_github_users_with_contributions(
"""
users: List[Contributor] = []
for username, contributions in users_and_contributions.items():
- gh_user = cast(GitHubUser, session.get(f"/users/{username}").json())
+ try:
+ gh_user = cast(GitHubUser, session.get(f"/users/{username}").json())
+ except NotFoundError:
+ gh_user = DELETED_USERS[username]
name = _normalize_rtl_override(gh_user["name"])
try:
contributor = Contributor(
|