Skip to content

Commit e8bb747

Browse files
authored
Merge branch 'main' into br-pt-name
2 parents c33254d + 02f5b33 commit e8bb747

File tree

17 files changed

+259
-91
lines changed

17 files changed

+259
-91
lines changed

.github/CONTRIBUTING.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ Due to the fact that this project is entirely volunteer-run (that is, no one is
3333
to work on Python full-time), we unfortunately can make no guarantees as to if
3434
or when a core developer will get around to reviewing your pull request.
3535
If no core developer has done a review or responded to changes made because of a
36-
"changes requested" review, please feel free to email [python-dev](https://mail.python.org/mailman3/lists/python-dev.python.org/) to ask if
37-
someone could take a look at your pull request.
36+
"changes requested" review, please consider seeking assistance through the
37+
[Core Development Discourse category](https://discuss.python.org/c/core-dev/23).
3838

3939

4040
## Code of Conduct

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ ensure-venv:
5959
@if [ ! -d $(VENVDIR) ] ; then \
6060
echo "Creating venv in $(VENVDIR)"; \
6161
if $(UV) --version >/dev/null 2>&1; then \
62-
$(UV) venv $(VENVDIR); \
62+
$(UV) venv --python=$(PYTHON) $(VENVDIR); \
6363
VIRTUAL_ENV=$(VENVDIR) $(UV) pip install -r $(REQUIREMENTS); \
6464
else \
6565
$(PYTHON) -m venv $(VENVDIR); \

core-developers/become-core-developer.rst

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,14 @@ are granted through these steps:
6060
were in the form of a separate post on the already open topic with
6161
the poll.
6262

63+
Getting a python.org email address
64+
----------------------------------
65+
66+
Members of the core team can get an email address on the python.org domain.
67+
For more details refer to the `python.org email policy
68+
<https://www.python.org/psf/records/board/policies/email/>`_.
69+
70+
6371
Poll template
6472
=============
6573

core-developers/developers.csv

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ Kyle Stanley,aeros,2020-04-14,,
3131
Donghee Na,corona10,2020-04-08,,
3232
Karthikeyan Singaravelan,tirkarthi,2019-12-31,,
3333
Joannah Nanjekye,nanjekyejoannah,2019-09-23,,
34-
Abhilash Raj,maxking,2019-08-06,,
34+
Abhilash Raj,maxking,2019-08-06,2022-11-30,"Privileges relinquished on 2022-11-30"
3535
Paul Ganssle,pganssle,2019-06-15,,
3636
Stéphane Wirtel,matrixise,2019-04-08,,
3737
Stefan Behnel,scoder,2019-04-08,,
@@ -52,7 +52,7 @@ Xavier de Gaye,xdegaye,2016-06-03,2018-01-25,Privileges relinquished on 2018-01-
5252
Davin Potts,applio,2016-03-06,,
5353
Martin Panter,vadmium,2015-08-10,2020-11-26,
5454
Paul Moore,pfmoore,2015-03-15,,
55-
Robert Collins,rbtcollins,2014-10-16,,To work on unittest
55+
Robert Collins,rbtcollins,2014-10-16,2021-11-30,To work on unittest; privileges relinquished on 2021-11-30
5656
Berker Peksağ,berkerpeksag,2014-06-26,,
5757
Steve Dower,zooba,2014-05-10,,
5858
Kushal Das,kushaldas,2014-04-14,,
@@ -69,7 +69,7 @@ Hynek Schlawack,hynek,2012-05-14,,
6969
Richard Oudkerk,,2012-04-29,2017-02-10,For multiprocessing module; did not make GitHub transition
7070
Andrew Svetlov,asvetlov,2012-03-13,,At PyCon sprint
7171
Petri Lehtinen,akheron,2011-10-22,2020-11-12,
72-
Meador Inge,meadori,2011-09-19,2020-11-26,
72+
Meador Inge,meadori,2011-09-19,,
7373
Jeremy Kloth,jkloth,2011-09-12,,
7474
Sandro Tosi,sandrotosi,2011-08-01,,
7575
Alex Gaynor,alex,2011-07-18,,For PyPy compatibility (since expanded scope)
@@ -78,7 +78,7 @@ Nadeem Vawda,,2011-04-10,2017-02-10,Did not make GitHub transition
7878
Carl Friedrich Bolz-Tereick,cfbolz,2011-03-21,,for stdlib compatibility work for PyPy
7979
Jason R. Coombs,jaraco,2011-03-14,,For sprinting on distutils2
8080
Ross Lagerwall,,2011-03-13,2017-02-10,Did not make GitHub transition
81-
Eli Bendersky,eliben,2011-01-11,2020-11-26,
81+
Eli Bendersky,eliben,2011-01-11,2020-11-26,Relinquished privileges on 2020-11-26
8282
Ned Deily,ned-deily,2011-01-09,,
8383
David Malcolm,davidmalcolm,2010-10-27,2020-11-12,relinquished privileges on 2020-11-12
8484
Tal Einat,taleinat,2010-10-04,,Initially for IDLE
@@ -100,12 +100,12 @@ Doug Hellmann,dhellmann,2009-09-20,2020-11-11,For documentation; relinquished pr
100100
Frank Wierzbicki,,2009-08-02,2017-02-10,For Jython compatibility; did not make GitHub transition
101101
Ezio Melotti,ezio-melotti,2009-06-07,,For documentation
102102
Philip Jenvey,pjenvey,2009-05-07,2020-11-26,For Jython compatibility
103-
Michael Foord,voidspace,2009-04-01,,For IronPython compatibility
103+
Michael Foord,voidspace,2009-04-01,2025-01-24,For IronPython compatibility; deceased
104104
R\. David Murray,bitdancer,2009-03-30,,
105105
Chris Withers,cjw296,2009-03-08,,
106106
Tarek Ziadé,tarekziade,2008-12-21,2017-02-10,For distutils module
107107
Hirokazu Yamamoto,,2008-08-12,2017-02-10,For Windows build; did not make GitHub transition
108-
Armin Ronacher,mitsuhiko,2008-07-23,2020-11-26,For documentation toolset and ast module
108+
Armin Ronacher,mitsuhiko,2008-07-23,,For documentation toolset and ast module
109109
Antoine Pitrou,pitrou,2008-07-16,,
110110
Senthil Kumaran,orsenthil,2008-06-16,,
111111
Jesse Noller,,2008-06-16,2017-02-10,For multiprocessing module; did not make GitHub transition
@@ -114,9 +114,9 @@ Guilherme Polo,,2008-04-24,2017-02-10,Did not make GitHub transition
114114
Jeroen Ruigrok van der Werven,,2008-04-12,2017-02-10,For documentation; did not make GitHub transition
115115
Benjamin Peterson,benjaminp,2008-03-25,,For bug triage
116116
David Wolever,wolever,2008-03-17,2020-11-21,For 2to3 module
117-
Trent Nelson,tpn,2008-03-17,2020-11-26,
117+
Trent Nelson,tpn,2008-03-17,,
118118
Mark Dickinson,mdickinson,2008-01-06,2024-08-13,For maths-related work
119-
Amaury Forgeot d'Arc,amauryfa,2007-11-09,2020-11-26,
119+
Amaury Forgeot d'Arc,amauryfa,2007-11-09,2020-11-26,"Relinquished privileges on 2020-11-26"
120120
Christian Heimes,tiran,2007-10-31,,
121121
Bill Janssen,,2007-08-28,2017-02-10,For ssl module; did not make GitHub transition
122122
Jeffrey Yasskin,,2007-08-09,2017-02-10,Did not make GitHub transition
@@ -142,9 +142,9 @@ Facundo Batista,facundobatista,2004-10-16,,
142142
Sean Reifschneider,,2004-09-17,2017-02-10,Did not make GitHub transition
143143
Johannes Gijsbers,,2004-08-14,2005-07-27,Privileges relinquished on 2005-07-27
144144
Matthias Klose,doko42,2004-08-04,,
145-
PJ Eby,pjeby,2004-03-24,2020-11-26,
145+
PJ Eby,pjeby,2004-03-24,2020-11-26,"Relinquished privileges on 2020-11-26"
146146
Vinay Sajip,vsajip,2004-02-20,,
147-
Hye-Shik Chang,hyeshik,2003-12-10,,
147+
Hye-Shik Chang,hyeshik,2003-12-10,2025-02-28,"Relinquished privileges on 2025-02-28"
148148
Armin Rigo,,2003-10-24,2012-06-01,Privileges relinquished in 2012
149149
Andrew McNamara,,2003-06-09,2017-02-10,Did not make GitHub transition
150150
Samuele Pedroni,,2003-05-16,2017-02-10,Did not make GitHub transition
@@ -157,7 +157,7 @@ Steve Holden,holdenweb,2002-06-14,2017-02-10,"Relinquished privileges on 2005-04
157157
but granted again for Need for Speed sprint; did not make GitHub transition"
158158
Christian Tismer,ctismer,2002-05-17,,For Need for Speed sprint
159159
Jason Tishler,,2002-05-15,2017-02-10,Did not make GitHub transition
160-
Walter Dörwald,doerwalter,2002-03-21,,
160+
Walter Dörwald,doerwalter,2002-03-21,2021-11-16,"Relinquished privileges on 2021-11-16"
161161
Andrew MacIntyre,,2002-02-17,2016-01-02,Privileges relinquished 2016-01-02
162162
Gregory P. Smith,gpshead,2002-01-08,,
163163
Anthony Baxter,,2001-12-21,2017-02-10,Did not make GitHub transition
@@ -190,7 +190,7 @@ Eric S. Raymond,,2000-06-02,2017-02-10,Did not make GitHub transition
190190
Greg Stein,,1999-11-07,2017-02-10,Did not make GitHub transition
191191
Just van Rossum,,1999-01-22,2017-02-10,Did not make GitHub transition
192192
Greg Ward,,1998-12-18,2017-02-10,Did not make GitHub transition
193-
Andrew Kuchling,akuchling,1998-04-09,,
193+
Andrew Kuchling,akuchling,1998-04-09,2022-11-09,Privileges relinquished 2022-11-09
194194
Ken Manheimer,,1998-03-03,2005-04-08,Privileges relinquished on 2005-04-08
195195
Jeremy Hylton,jeremyhylton,1997-08-13,,
196196
Roger E. Masse,,1996-12-09,2017-02-10,Did not make GitHub transition

core-developers/experts.rst

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -230,8 +230,8 @@ turtledemo terryjreedy*
230230
types 1st1
231231
typing gvanrossum, JelleZijlstra*, AlexWaygood*, carljm, sobolevn*
232232
unicodedata malemburg, ezio-melotti
233-
unittest voidspace*, ezio-melotti, rbtcollins, gpshead
234-
unittest.mock voidspace*
233+
unittest ezio-melotti, rbtcollins, gpshead
234+
unittest.mock
235235
urllib orsenthil
236236
uu
237237
uuid
@@ -298,7 +298,7 @@ Linux
298298
macOS ronaldoussoren, ned-deily, freakboy3742
299299
NetBSD1
300300
OS2/EMX aimacintyre^
301-
Solaris/OpenIndiana jcea
301+
Solaris/OpenIndiana jcea, kulikjak
302302
Windows tjguk, zware, zooba, pfmoore
303303
JVM/Java frank.wierzbicki^
304304
=================== ===========
@@ -358,7 +358,7 @@ runtime lifecycle ericsnowcurrently, kumaraditya303, zooba
358358
str.format ericvsmith*
359359
subinterpreters ericsnowcurrently, kumaraditya303
360360
symbol table JelleZijlstra, carljm
361-
testing voidspace, ezio-melotti
361+
testing ezio-melotti
362362
test coverage
363363
threads gpshead
364364
time and dates malemburg, abalkin, pganssle

core-developers/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,4 @@ Core developers
1313
developer-log
1414
motivations
1515
become-core-developer
16+
memorialization
Lines changed: 154 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,154 @@
1+
.. _memorialize-core-developer:
2+
3+
===============
4+
Memorialization
5+
===============
6+
7+
Rationale
8+
=========
9+
10+
When a core developer passes away, memorializing accounts helps create
11+
a space for remembering the contributor and protects against attempted
12+
logins and fraudulent activity.
13+
14+
The process
15+
===========
16+
17+
The memorialization process is performed by a member of the PSF staff
18+
with administrative access to current and historical systems where
19+
core developers have access.
20+
21+
After the status of the core developer in question is confirmed,
22+
access to the systems listed below is revoked and some changes are
23+
made to how the user displays to others.
24+
25+
To respect the choices that someone made while alive, we aim to preserve
26+
content of their accounts without changes after they've passed away.
27+
To support the bereaved, in some instances, we may remove or change
28+
certain content when the legacy contact or family members request it.
29+
30+
GitHub
31+
------
32+
33+
* The user is removed from the `python/ <https://github.com/orgs/python/>`_
34+
organization on GitHub;
35+
* The user is removed from the `psf/ <https://github.com/orgs/psf/>`_
36+
organization on GitHub;
37+
* The user is removed from the `pypa/ <https://github.com/orgs/pypa/>`_
38+
organization on GitHub.
39+
40+
The PSF staff does not follow up with GitHub with regards to GitHub account
41+
cancellation as this action is reserved for next-of-kin or designated by
42+
the deceased GitHub user to act as an account successor.
43+
44+
The general policy regarding deceased users on GitHub is described
45+
`here <https://docs.github.com/en/site-policy/other-site-policies/github-deceased-user-policy>`_.
46+
47+
Repositories in the organization
48+
--------------------------------
49+
50+
* The user's GitHub handle is removed from ``/.github/CODEOWNERS``.
51+
To see all that need action, perform
52+
`this query <https://github.com/search?q=org%3Apython+path%3A**%2F.github%2FCODEOWNERS+USERNAME&type=code>`_.
53+
* The user is marked as deceased in the private
54+
`voters/python-core.toml <https://github.com/python/voters/blob/main/python-core.toml>`_
55+
file with the ``left=`` field set to the day of passing, if known.
56+
57+
discuss.python.org
58+
------------------
59+
60+
* The user's "custom status" is set to 🕊 ``in memoriam``;
61+
* The user's "about me" is amended with ``$firstname passed away on $date. [In memoriam.]($in_memoriam_post_url)``;
62+
* In the user's security "recently used devices" the staff member
63+
chooses "Log out all";
64+
* In the user's permissions the staff member chooses "Deactivate account";
65+
* The user's trust level is reset to ``1: basic user`` (trust level 0
66+
doesn't allow links in "About Me");
67+
* The user's "associated accounts" (like GitHub) that provide an
68+
alternative login method, are all disconnected;
69+
* The user's API keys are revoked;
70+
* The user's admin or moderator right is revoked;
71+
* The user's primary email address is reset to
72+
``USERNAME@in-memoriam.invalid`` and secondary email addresses are
73+
removed (this step requires the administrator to contact Discourse.org
74+
staff via ``team@discourse.org``).
75+
76+
The "in memoriam" Discourse topic mentioned above is best created by
77+
a community member close to the deceased.
78+
79+
The general best practice for deceased community members on
80+
Discourse-powered forums is described `here <https://meta.discourse.org/t/best-practices-for-deceased-community-members/146210>`_.
81+
82+
python.org email account
83+
------------------------
84+
85+
The PSF staff member emails ``postmaster@python.org`` to ask the email
86+
administrator to:
87+
88+
* remove SMTP access from ``USERNAME@python.org``;
89+
* reset the password to POP3/IMAP for ``USERNAME@python.org``;
90+
* disable email forwarding, if set up, for ``USERNAME@python.org`` and
91+
leave a record permanently as "in memoriam" to avoid future account
92+
name reuse;
93+
* remove this email from all mailing lists under ``@python.org``;
94+
* remove any known alternate emails for the same user from all mailing
95+
lists under ``@python.org``.
96+
97+
In case the email shutdown causes issues for the estate executors, the
98+
PSF will reasonably try to help if contacted directly.
99+
100+
python.org admin
101+
----------------
102+
103+
* The user's account (``/admin/users/user``) is deactivated (NOT deleted)
104+
and their staff and superuser status is unchecked;
105+
* The user's password is reset to a long random string;
106+
* The user's primary email address is set to
107+
``USERNAME@in-memoriam.invalid`` and set as unverified;
108+
* The user's secondary email addresses are deleted;
109+
* The user's API keys (both on the account and ``tastypie``) are deleted;
110+
* The user's "I would like to be a PSF Voting Member" field is cleared.
111+
112+
devguide.python.org
113+
-------------------
114+
115+
* The user is marked as deceased in `developers.csv <https://github.com/python/devguide/blob/main/core-developers/developers.csv>`_;
116+
* The user is removed from the `Experts Index <https://github.com/python/devguide/blob/main/core-developers/experts.rst>`_.
117+
118+
bugs.python.org
119+
---------------
120+
121+
While the issue tracker was migrated to GitHub, the Roundup instance
122+
is still up for historical purposes.
123+
124+
* the PSF staff member logs into ``bugs.nyc1.psf.io``;
125+
* the PSF staff member runs ``roundup-admin`` to set the user's email
126+
address to ``USERNAME@in-memoriam.invalid``;
127+
* the user's alternate emails are removed;
128+
* the user's password is reset to a long random string;
129+
* the PSF staff member removes any active login sessions from Postgres.
130+
131+
Other PSF-related infrastructure
132+
--------------------------------
133+
134+
* The PSF staff member notifies administrators of the Python Core Devs
135+
Discord server to remove the user from the server. The PSF staff
136+
does not follow up with Discord with regards to Discord account
137+
cancellation. The general policy regarding deceased users on Discord
138+
is available `here <https://support.discord.com/hc/en-us/articles/19872987802263--Deceased-or-Incapacitated-Users>`_.
139+
140+
* The user is removed from Salt configuration for the PSF infrastructure
141+
in `/pillar/base/users <https://github.com/python/psf-salt/tree/main/pillar/base/users>`_
142+
that allows SSH access to PSF-controlled servers.
143+
144+
* The user might have ran a buildbot worker. The PSF staff member will
145+
look for that in the
146+
`buildmaster-config <https://github.com/search?q=repo%3Apython%2Fbuildmaster-config%20USERNAME&type=code>`_
147+
repository.
148+
149+
PyPI
150+
----
151+
152+
* The PSF staff member notifies PyPI admins by emailing them at
153+
``admin@pypi.org`` to mark the user as inactive, remove their email
154+
addresses, prohibit their password resets, and revoke all API keys.

core-developers/motivations.rst

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ participating in the CPython core development process:
188188
.. topic:: Antoine Pitrou (France)
189189

190190
* LinkedIn: `<https://www.linkedin.com/in/pitrou/>`_ (Senior Software Engineer)
191-
* Voltron Data
191+
* QuantStack
192192
* Python Software Foundation (Fellow)
193193
* Email address: antoine@python.org
194194

@@ -199,12 +199,12 @@ participating in the CPython core development process:
199199
world, and by the concrete roadblocks he was hitting in professional
200200
settings. Topics of choice have included interpreter optimizations,
201201
garbage collection, network programming, system programming and
202-
concurrent programming (such as maintaining ``multiprocessing``).
202+
concurrent programming.
203203

204204
As a professional, Antoine has been first specializing in network
205205
programming, and more lately in open source data science infrastructure.
206-
He is currently working full time on Apache Arrow as a technical leader
207-
for Voltron Data.
206+
He has made numerous contributions to Numba, Dask and is currently working
207+
full time on Apache Arrow as a technical leader at QuantStack.
208208

209209
.. topic:: Victor Stinner (France)
210210

developer-workflow/c-api.rst

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,13 @@ The C API is divided into these tiers:
1919
Each tier has different stability and maintenance requirements to consider
2020
when you add or change definitions in it.
2121

22-
The compatibility guarantees for public C API are explained in the
23-
user documentation, ``Doc/c-api/stable.rst`` (:ref:`python:stable`).
22+
The public backwards compatibility guarantees for public C API are explained
23+
in the user documentation, ``Doc/c-api/stable.rst`` (:ref:`python:stable`).
24+
C language compatibility guarantees are in ``Doc/c-api/intro.rst``
25+
(:ref:`python:api-intro`).
26+
27+
As core developers, we need to be more careful about compatibility than what
28+
we promise publicly. See :ref:`public-capi` for details.
2429

2530

2631
The internal API
@@ -93,6 +98,17 @@ CPython's public C API is available when ``Python.h`` is included normally
9398
It should be defined in ``Include/cpython/`` (unless part of the Limited API,
9499
see below).
95100

101+
Before adding new public API, please ask in the `decisions repo`_ of
102+
the :pep:`C API workgroup <731>`.
103+
This helps us ensure *newly added* API is consistent and maintainable.
104+
105+
Also check with the C API WG before requiring a C feature not present in C99.
106+
While the *public* docs only promise compatibility with C11, in practice
107+
we only intruduce C11 features individually as needed.
108+
109+
.. _decisions repo: https://github.com/capi-workgroup/decisions/issues
110+
111+
96112
.. _public-api-guidelines:
97113

98114
Guidelines for expanding/changing the public API

0 commit comments

Comments
 (0)