Re: Why does IDLE use a subprocess?

2023-05-30 Thread Chris Angelico
On Wed, 31 May 2023 at 12:03, James Schaffler via Python-list
 wrote:
>
> On Tuesday, May 30th, 2023 at 9:14 PM, Greg Ewing wrote:
> > Globals you create by executing code in the REPL have their own
> > namespace. But everything else is shared -- builtins, imported
> > Python modules, imported C extension modules, etc. etc.
>
> Thanks for the explanation. Could you elaborate on precisely how "everything 
> else is shared"? As far as I understand, if you run the following code:
>
> from code import InteractiveInterpreter
> interp = InteractiveInterpreter()
> import numpy as np
> interp.runcode("np.__name__")
>
> this will result in the error
> Traceback (most recent call last):
>   File "", line 1, in 
> NameError: name 'np' is not defined
>
> which seems to imply that imports in the parent shell are not shared with 
> interpreters and vice versa (if you swap the places of the import and the 
> __name__ call).
>

Yep, what you're seeing there is the namespace and nothing else. But
if you mess with an actual builtin object, it'll be changed for the
other interpreter too.

>>> import ctypes
>>> ctypes.cast(id(42), ctypes.POINTER(ctypes.c_int))[6] = 43
>>> 41+1
43
>>> from code import InteractiveInterpreter
>>> interp = InteractiveInterpreter()
>>> interp.runcode("print(41+1)")
43

(Note that this only works in CPython and only with integers small
enough to be in the cache, meaning that there is only one such object
representing that integer.)

The same is true of C extensions, which often have their own internal
state, and that state isn't isolated to a single interpreter.

Better isolation is coming with PEP 554
https://peps.python.org/pep-0554/ which also has some great
information about what currently is NOT isolated. (Also, even then,
some things won't be fully isolated; I think that the ctypes trick
above might still affect a subinterpreter even in a post-PEP554
world.)

ChrisA
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Why does IDLE use a subprocess?

2023-05-30 Thread James Schaffler via Python-list
On Tuesday, May 30th, 2023 at 9:14 PM, Greg Ewing wrote:
> Globals you create by executing code in the REPL have their own
> namespace. But everything else is shared -- builtins, imported
> Python modules, imported C extension modules, etc. etc.

Thanks for the explanation. Could you elaborate on precisely how "everything 
else is shared"? As far as I understand, if you run the following code:

from code import InteractiveInterpreter
interp = InteractiveInterpreter()
import numpy as np
interp.runcode("np.__name__")

this will result in the error
Traceback (most recent call last):
  File "", line 1, in 
NameError: name 'np' is not defined

which seems to imply that imports in the parent shell are not shared with 
interpreters and vice versa (if you swap the places of the import and the 
__name__ call).

Thanks,
Jim
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Why does IDLE use a subprocess?

2023-05-30 Thread Greg Ewing via Python-list

On 29/05/23 8:10 am, James Schaffler wrote:

However, some minimal testing of InteractiveInterpreter leads me to believe 
that the Interpreter object has its own view of local/global variables and 
therefore shouldn't be able to affect the calling interpreter


Globals you create by executing code in the REPL have their own
namespace. But everything else is shared -- builtins, imported
Python modules, imported C extension modules, etc. etc.

There's a long-running project to make it possible to have
multiple fully-isolated Python interpreters in one process, but
the way CPython is structured makes that very difficult to achieve,
and as far as I know it's not there yet.

In the case of IDLE, there's really no reason not to use a
subprocess[1]. It's easy and guarantees 100% isolation.

[1] Well, mostly. There used to be a small hitch on Windows with
the default firewall settings not letting you connect to a local
socket (nice one, Microsoft). I don't know whether that's still
an issue.

--
Greg
--
https://mail.python.org/mailman/listinfo/python-list


Re: What to use instead of nntplib?

2023-05-30 Thread Greg Ewing via Python-list

On 31/05/23 8:44 am, aapost wrote:
Even if I did partake in the modern github style of code distribution, 
how many packages have issues where the "maintainers" inherited the 
package and really haven't dug deep enough in to the code to see how it 
really works. They have issues that sit around for YEARS, and when 
someone says "this sucks, this is broken and could be better", and the 
githubian response is typically a dismissive "Nothing is stopping you 
from making a PR".


Also, "nothing is stopping you from making a fork." Which is what
you would have to do in the face of inactive maintainers regardless
of where or how the project was hosted. This is not a github problem
or a big-corporation problem, it's a people problem.

--
Greg
--
https://mail.python.org/mailman/listinfo/python-list


[Python-announce] PyCA cryptography 41.0.0 released

2023-05-30 Thread Paul Kehrer
PyCA cryptography 41.0.0 has been released to PyPI. cryptography
includes both high level recipes and low level interfaces to common
cryptographic algorithms such as symmetric ciphers, asymmetric
algorithms, message digests, X509, key derivation functions, and much
more. We support Python 3.7+, and PyPy3 7.3.10+.

Changelog (https://cryptography.io/en/latest/changelog/#v41-0-0):
* BACKWARDS INCOMPATIBLE: Support for OpenSSL less than 1.1.1d has
been removed. Users on older version of OpenSSL will need to upgrade.
* BACKWARDS INCOMPATIBLE: Support for Python 3.6 has been removed.
* BACKWARDS INCOMPATIBLE: Dropped support for LibreSSL < 3.6.
* Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.1.1.
* Updated the minimum supported Rust version (MSRV) to 1.56.0, from 1.48.0.
* Added support for the OCSPAcceptableResponses OCSP extension.
* Added support for the MSCertificateTemplate proprietary Microsoft
certificate extension.
* Implemented support for equality checks on all asymmetric public key types.
* Added support for aes256-...@openssh.com encrypted keys in
load_ssh_private_key().
* Added support for obtaining X.509 certificate signature algorithm
parameters (including PSS) via signature_algorithm_parameters().
* Support signing PSS X.509 certificates via the new keyword-only
argument rsa_padding on sign().
* Added support for ChaCha20Poly1305 on BoringSSL.

-Paul Kehrer (reaperhulk)
___
Python-announce-list mailing list -- python-announce-list@python.org
To unsubscribe send an email to python-announce-list-le...@python.org
https://mail.python.org/mailman3/lists/python-announce-list.python.org/
Member address: arch...@mail-archive.com


Re: Why does IDLE use a subprocess?

2023-05-30 Thread Chris Angelico
On Wed, 31 May 2023 at 08:16, Barry  wrote:
> I don’t think it security but robustness that needs the subprocess.
>
> Also if your code use tk then it would conflict with idle’s use of tk.
>

From my memory, it's precisely this - it's much MUCH easier to allow
you to use Tk in your own program without conflicting with Idle's own
use of it. I'm sure it would be possible to make everything work in
one process, but the cost of doing so would be greater than the costs
of juggling two processes.

ChrisA
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: complaint

2023-05-30 Thread Barry


> On 30 May 2023, at 21:10, Daniel Ifechukwude Dibie  
> wrote:
> 
> i tried to uninstall the python 3.11.3 program from my machine so that i
> can re-install it is showing successful but it is ligerning on the program
> and features

Maybe what you are seeing is the microsoft app store stubs for python?
The python.org uninstall always works in my experience, but is not related to 
the app store stubs.

Also why do you think you need to reinstall python?
It would be very unusual that that would be necessary.

Barry
> -- 
> https://mail.python.org/mailman/listinfo/python-list
> 

-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Why does IDLE use a subprocess?

2023-05-30 Thread Barry


> On 30 May 2023, at 21:10, James Schaffler via Python-list 
>  wrote:
> 
> Originally posted to idle-dev, but thought this might be a better place. Let 
> me know if it isn't.
> 
> Hi,
> 
> I was curious about the internals of IDLE, and noticed that IDLE uses 
> executes user code in a "subprocess" that's separate from the Python 
> interpreter that is running IDLE itself (which does tasks such as making the 
> window and coloring the text).
> 
> As far as I understand, IDLE runs a modified version of 
> code.InteractiveInterpreter by sending user code through a socket. Even the 
> IDLE documentation says that without a subprocess, "user code is not isolated 
> from IDLE itself." However, some minimal testing of InteractiveInterpreter 
> leads me to believe that the Interpreter object has its own view of 
> local/global variables and therefore shouldn't be able to affect the calling 
> interpreter (please correct me if I'm wrong).
> 
> So my question is a combination of "Why does IDLE use a subprocess?" and "Why 
> is InteractiveInterpreter not secureuldenough?" What possible security 
> vulnerabilities exist if one uses IDLE without the subprocess? If anyone 
> knows (or could point me to information on) why IDLE is designed this way, 
> I'd really appreciate it. Thank you!

I don’t think it security but robustness that needs the subprocess.

You can crash idle with bugs in the code that you are developing.
By running your code in a subprocess idle protects itself, and your edits from 
bugs in your code.

Also if your code use tk then it would conflict with idle’s use of tk.

That is my assumption on why the subprocess is required.

Barry

> 
> Jim
> -- 
> https://mail.python.org/mailman/listinfo/python-list
> 

-- 
https://mail.python.org/mailman/listinfo/python-list


Re: What to use instead of nntplib?

2023-05-30 Thread aapost





I used to run my own mail server.

Now I don't.

Practicality beats purity.

To be quite frank, the moralistic approach of complaining about the
way other people are too happy to give control to big companies is
NEVER going to achieve anything. You're welcome to be a little island,
that one Gaulish village that still holds out against the invaders,
but all you'll actually be doing is sidelining yourself.

I'm not saying that this is a GOOD situation, but facts are facts, and
I use Chrome and GitHub and a wide variety of other tools that aren't
free.

ChrisA



Don't get me wrong, I know I have lost the battle in this age, lol. The 
opening statement probably came off way less pragmatic than I intended 
before writing it. The attempt to steer the ol' "bitching just to bitch" 
toward more if a statement as to the fundamentals of why there is a 
bitch and frustration with how things are didn't quite make it there.


But regardless my positions are correct, lol, you know the situation is 
"NOT" GOOD, and you justify your compromises, as we tend to do to 
whatever extent we decide that we can live with, and time tells how 
those things play out.


For there to have been an elicited reaction to my statements sort of 
goes against the statement "NEVER going to achieve anything".


I am fine in my cave, a lot of things seen as "facts are facts" tend to 
change over time, and I don't see anyone else going anywhere that I need 
to go.


--
https://mail.python.org/mailman/listinfo/python-list


Re: What to use instead of nntplib?

2023-05-30 Thread Mats Wichmann

On 5/22/23 17:59, Grant Edwards wrote:

On 2023-05-22, Keith Thompson  wrote:


My understanding is that nntplib isn't being erased from reality,
it's merely being removed from the set of modules that are provided
by default.

I presume that once it's removed from the core, it will still be
possible to install it via pip or some other mechanism.


If somebody rescues the code and puts it in Pypi (assuming the
copyright owner allows that). IIRC, somebody is trying to do that, but
there some contention because Pypi won't allow the use of the name
"nntplib" for the package because it conflicts with a library builtin.



well, it turns out that while there was a long debate about the merits, 
the actual request to free up the previously blocked name on PyPI was 
granted rather quickly, and it's there:


https://pypi.org/project/nntplib/



--
https://mail.python.org/mailman/listinfo/python-list


Re: What to use instead of nntplib?

2023-05-30 Thread aapost

On 5/22/23 12:10, Grant Edwards wrote:

On 2023-05-21, Retrograde  wrote:


Who ever came up with "Removing dead batteries" as a slogan, when
some of those batteries still work perfectly well, needs to rethink
it. Go ahead and remove code that no longer works, OK.  But removing
unpopular modules?  That undercuts the entire philosophy of the
platform, in my opinion.


And one of the metrics of "popularity" seems to be "activity"
(e.g. changes committed).  For things that have been around for 20+
years and have all the features they need and all of the bugs fixed
(and are now very stable) that lack of "activity" is interpreted as
"unpopular" regardless of how many people are using the module.

--
Grant




To add an additional bitching, I don't really ever see anyone discussing 
the dynamics and downsides of github (and things like it). Or how things 
like mozilla killing off usenet and mailing lists changes the entire 
dynamic of who manages and gets a say in how technology gets to move 
forward.


As someone who sees software independence and using free software as 
moral imperatives, signing up for github and agreeing to yet another 
terms of service is a no go for me, so moving to these platforms locks 
me out from contributing. (and a lot of python packages have code that 
also works with proprietary operating systems, so non-gnu/gnu hosting 
isn't a solution either)


And as someone who uses usenet to post to this list (I object to the 
google captcha on the mailing list sign up, and captchas in general), I 
imagine eventually a discussion will take place in a place like github 
that will do away with this avenue as well.


As far as modern commit dynamics,
Even if I did partake in the modern github style of code distribution, 
how many packages have issues where the "maintainers" inherited the 
package and really haven't dug deep enough in to the code to see how it 
really works. They have issues that sit around for YEARS, and when 
someone says "this sucks, this is broken and could be better", and the 
githubian response is typically a dismissive "Nothing is stopping you 
from making a PR".
Then when you get down to dedicating a month to polishing a PR to extend 
or redesign something with the features you need, it just sits there, 
for YEARS, because again, the authority that went in to the package in 
the first place is often gone, and there is no one with that knowledge 
to give the PR the review it deserves.
You end up with your fork, but it is lost, indistinguished from all the 
other forks of nothing.


There are now probably dozens of nntplib preservation implementations 
floating around, but how do you even consider which one to use? Without 
some energy behind it, to be certain in what you are doing, each person 
will practically have to download Python3.11 and extract it themselves,
and then either add it in to the latest version themselves, or 
comparitively study it vs a collection of new implementations to see 
which one feels most like a correct updated standard.
You also have to consider, is this a one off update? At 3.13 will I have 
to do it all over again? (at that point, doing it yourself really does 
become the only solution).


At the end of the day, what is there boils down to the influence of who 
is offering the resources.. And I would say most of that today comes 
from the microsofts and googles of the world that have no interest in 
preserving the independent ethos of the early web..


I personally am partial to autonomous website distribution, and 
mailmanv2 dev collaborations, so you can independently share modified 
versions of packages or tutorials you've written for your own purposes, 
and if they help others, great.. But I personally haven't found a place 
that accepts small cash payments and feels neutral enough to fit my 
needs and limited resources.


--
https://mail.python.org/mailman/listinfo/python-list


Re: complaint

2023-05-30 Thread dn via Python-list

Hi Daniel,

On 31/05/2023 02.40, Daniel Ifechukwude Dibie wrote:

i tried to uninstall the python 3.11.3 program from my machine so that i
can re-install it is showing successful but it is ligerning on the program
and features


Is that word "lingering". If so, do you mean that Python did not 
uninstall properly - or do you mean that the reinstalled version is slow 
to operate?


Not understanding the question, I threw it into ChatGPT:-


User
i tried to uninstall the python 3.11.3 program from my machine so that i
can re-install it is showing successful but it is ligerning on the 
program and features


ChatGPT
If you are experiencing issues uninstalling Python 3.11.3 from your 
machine, here are a few steps you can try to resolve the problem:


Restart your computer: Sometimes, a simple restart can help resolve 
issues related to the uninstallation process.


Use an uninstaller tool: You can try using a third-party 
uninstaller tool to remove Python 3.11.3 from your system. These tools 
are designed to thoroughly remove programs, including any leftover files 
or registry entries. Some popular uninstaller tools include Revo 
Uninstaller, IObit Uninstaller, and Geek Uninstaller.


Manual uninstallation: If the above steps don't work, you can try 
manually uninstalling Python 3.11.3. Here's how you can do it:
Open the "Programs and Features" or "Apps & Features" section 
in your computer's control panel.

Locate Python 3.11.3 in the list of installed programs.
Click on Python 3.11.3 and select the "Uninstall" or "Remove" 
option.
Follow the on-screen instructions to complete the 
uninstallation process.
After the uninstallation is complete, you may also want to 
delete any remaining Python-related folders or files from your system. 
These are typically located in the "C:\Python3.11" directory.


Please note that manually deleting files from your system can be risky 
if you're not familiar with the process. Be cautious and ensure that 
you're deleting the correct files associated with Python 3.11.3.


Once you have successfully uninstalled Python 3.11.3, you can proceed 
with reinstalling it on your machine. Make sure to download the 
installer from the official Python website (https://www.python.org) and 
follow the installation instructions provided.



User
i tried to uninstall the python 3.11.3 program from my machine so that i
can re-install it is showing successful but it is slow to load the 
program and features


ChatGPT

If the uninstallation process appears to be successful, but you are 
experiencing slow loading of the "Programs and Features" section in the 
control panel, there might be a few possible reasons for this issue. 
Here are some steps you can take to troubleshoot the problem:


Wait for a while: Sometimes, the uninstallation process might take 
some time to complete all the necessary tasks, especially if it's a 
large program like Python. It's possible that the program is still 
finalizing its uninstallation in the background. Give it some time and 
see if the "Programs and Features" section starts responding normally 
after a few minutes.


Restart your computer: Restarting your computer can help resolve 
any lingering processes or system issues that may be causing the slow 
loading of the "Programs and Features" section. After restarting, try 
accessing the control panel again and see if the problem persists.


Check for other processes or services: It's possible that other 
processes or services running on your computer are causing a slowdown. 
Close any unnecessary applications and check if there are any 
resource-intensive processes running in the background. You can open the 
Task Manager (Ctrl+Shift+Esc) to check for any unusually high CPU or 
memory usage.


Check for system errors: Run a scan for system errors using the 
built-in Windows System File Checker (SFC) tool. Open a Command Prompt 
as an administrator and run the command: sfc /scannow. This will scan 
your system for any corrupted or missing system files and attempt to 
repair them.


Reinstall Python: If the issue persists, you can try reinstalling 
Python 3.11.3 again after performing the above steps. Make sure to 
follow the official installation instructions and download the installer 
from the official Python website (https://www.python.org).


If none of the above steps resolve the slow loading issue, there might 
be underlying system issues causing the problem. You may consider 
seeking further assistance from a technical expert or your system 
administrator to diagnose and resolve the issue.



NB I do not use MS-Windows (which is an assumption - not stated in OP), 
and thus cannot vouch for the veracity of this advice, nor for its 
accuracy - caveat emptor!


Hope one of those sets of ideas will help...
- will be interested to hear how you get on...
--
Regards,
=dn
--
https://mail.python.org/mailman/listinfo/python-list


Re: Tkinter docs?

2023-05-30 Thread Grant Edwards
On 2023-05-26, Rob Cliffe via Python-list  wrote:

> Grant, I may well buy one of the books you suggested.

I haven't had look at either of the newer books, but I got a lot of
good out of the Grayson book (20 years ago).  I also had a Tcl/Tk book
that I found useful even when usng tkinter, but it's even older than
the Grayson one...
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: wordplay

2023-05-30 Thread Chris M. Thomasson

On 5/26/2023 12:13 AM, David Dalton wrote:

cODINg  :-)



Play with the Chaos PP lib... ;^)
--
https://mail.python.org/mailman/listinfo/python-list


Tkinter Redo's

2023-05-30 Thread Dan Kolis
On Tuesday, May 30, 2023 at 1:28:04 PM UTC-4, Rob Cliffe wrote:
> Thanks to everyone who replied.  All replies were constructive, none 
> were telling me to stop belly-aching. 

Hi, Dan says:
When you get your style ideas sort of frozen, maybe you can poke up a sample 
here.

Aworked example for yourself is useful anyway.

My stuffs all in Ubuntu so seeing what works and doesn't in MS products 
interests me a lot.

I usually avoid the tkk variations almost completely. I have all the things I 
use each wrapped in a call that does what I want both aesthetically and so on. 
My app is only medium sensitive to art look and feel, productivity to maintain 
it is more important then super fancy looking.

Regards,
Dan


-- 
https://mail.python.org/mailman/listinfo/python-list


Re: wordplay

2023-05-30 Thread David Dalton
In article ,
 David Dalton  wrote:

> cODINg  :-)

Since Odin is described as the Sky Father, I think he
is the one I call Cosma, not the one I call Gwydion
or the avatar type who was the author of Havamal 138--141.

c I take to represent light.

g I take to represent gravity.

-- 
https://www.nfld.com/~dalton/dtales.html Salmon on the Thorns (mystic page)
"This could be the final breath; This is life and death;
This is hard rock and water; Out here between wind and flame;
Between tears and elation; Lies a secret nation" (Ron Hynes) 
-- 
https://mail.python.org/mailman/listinfo/python-list


Why does IDLE use a subprocess?

2023-05-30 Thread James Schaffler via Python-list
Originally posted to idle-dev, but thought this might be a better place. Let me 
know if it isn't.

Hi,

I was curious about the internals of IDLE, and noticed that IDLE uses executes 
user code in a "subprocess" that's separate from the Python interpreter that is 
running IDLE itself (which does tasks such as making the window and coloring 
the text).

As far as I understand, IDLE runs a modified version of 
code.InteractiveInterpreter by sending user code through a socket. Even the 
IDLE documentation says that without a subprocess, "user code is not isolated 
from IDLE itself." However, some minimal testing of InteractiveInterpreter 
leads me to believe that the Interpreter object has its own view of 
local/global variables and therefore shouldn't be able to affect the calling 
interpreter (please correct me if I'm wrong).

So my question is a combination of "Why does IDLE use a subprocess?" and "Why 
is InteractiveInterpreter not secure enough?" What possible security 
vulnerabilities exist if one uses IDLE without the subprocess? If anyone knows 
(or could point me to information on) why IDLE is designed this way, I'd really 
appreciate it. Thank you!

Jim
-- 
https://mail.python.org/mailman/listinfo/python-list


complaint

2023-05-30 Thread Daniel Ifechukwude Dibie
i tried to uninstall the python 3.11.3 program from my machine so that i
can re-install it is showing successful but it is ligerning on the program
and features
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Tkinter docs?

2023-05-30 Thread Rob Cliffe via Python-list
Thanks to everyone who replied.  All replies were constructive, none 
were telling me to stop belly-aching.
I forgot/omitted to state that it was I who wrote the original project 
(in a completely different language), making the task of re-writing it 
much less formidable.  And meaning that I am familiar with the general 
concepts of building a GUI.  Still, it will be a lot of work.


Grant, I may well buy one of the books you suggested.
I find the topic of themes and styles the hardest one to get my head 
around (if anyone knows a good introduction that would be fantastic).  
All the other stuff is OK provided I can find something on the net to 
give me the necessary information, which so far I usually can.


Christian, I am adopting your suggestion of using ttk widgets, except 
for Button objects, because

    The colour of tk.Button objects can be set directly (bg=... fg=...)
    On my platform (Windows10) the shadowing of tk.Button objects is 
more conspicuous (without using styles or whatever).


Best wishes
Rob Cliffe

--
https://mail.python.org/mailman/listinfo/python-list


[Python-announce] NumPy 1.25.0rc1 released

2023-05-30 Thread Charles R Harris
Hi All,

The NumPy 1.25.0 release continues the ongoing work to improve the handling
and promotion of dtypes, increase the execution speed, and clarify the
documentation. There has also been work to prepare for the future NumPy
2.0.0
release, resulting in a large number of new and expired deprecation.
Highlights are:

   - Support for MUSL, there are now MUSL wheels.
   - Support the Fujitsu C/C++ compiler.
   - Object arrays are now supported in einsum
   - Support for inplace matrix multiplication (@=).

We will release NumPy 1.26 on top of the 1.25 code when Python 12 reaches
the rc stage. That is needed because distutils has been dropped by Python
12 and we will be switching to using meson for future builds. The next
mainline release will be NumPy 2.0.0. We plan that the 2.0 series will
still support downstream projects built against earlier
versions of NumPy.

The Python versions supported in this release are 3.9-3.11. Wheels can be
downloaded from PyPI ; source
archives, release notes, and wheel hashes are available on Github
.

*Contributors*

A total of 145 people contributed to this release.  People with a "+" by
their names contributed a patch for the first time.

   - @DWesl
   - @partev +
   - @pierreloicq +
   - @pkubaj +
   - @pmvz +
   - @tajbinjohn +
   - A Chethan Reddy +
   - Aaron Meurer
   - Aleksei Nikiforov +
   - Alex Rogozhnikov
   - Alexander Heger
   - Alexander Neumann +
   - Andrew Nelson
   - Arun Kota +
   - Bas van Beek
   - Ben Greiner +
   - Berke Kocaoğlu +
   - Bob Eldering
   - Brian Soto
   - Brock Mendel
   - Charles Harris
   - Charles Young +
   - Chris Brown
   - Chris Sidebottom +
   - Christian Lorentzen +
   - Christian Veenhuis +
   - Christopher Sidebottom +
   - Chun-Wei Chen +
   - Clément Robert
   - Cédric Hannotier +
   - Daiki Shintani +
   - Daniel McCloy +
   - Derek Homeier
   - Developer-Ecosystem-Engineering
   - DhavalParmar61 +
   - Dimitri Papadopoulos Orfanos
   - Dmitry Belov +
   - Dominic Davis-Foster +
   - Eddie Darling +
   - Edward E +
   - Eero Vaher
   - Eric Wieser
   - Eugene Kim +
   - Evgeni Burovski
   - Facundo Batista +
   - Francesc Elies +
   - Ganesh Kathiresan
   - Hongyang Peng +
   - Hood Chatham
   - Ikko Ashimine
   - Ikko Eltociear Ashimine +
   - Inessa Pawson
   - Irit Katriel
   - Ivan Gonzalez
   - JP Ungaretti +
   - Jarrod Millman
   - Jean-François B +
   - Johana De La Rosa +
   - Johnson Sun +
   - Jonathan Kohler +
   - Jory Klaverstijn +
   - Joyce Brum +
   - Jules Kouatchou +
   - Kentaro Kawakami +
   - Khem Raj +
   - Kyle Sunden
   - Larry Bradley
   - Lars Grüter
   - Laurenz Kremeyer +
   - Lee Johnston +
   - Lefteris Loukas +
   - Leona Taric
   - Lillian Zha
   - Lu Yun Chi +
   - Malte Londschien +
   - Manuchehr Aminian +
   - Mariusz Felisiak
   - Mark Harfouche
   - Mark J. Olson +
   - Marko Pacak +
   - Marten van Kerkwijk
   - Matteo Raso
   - Matthew Muresan +
   - Matti Picus
   - Meekail Zain
   - Melissa Weber Mendonça
   - Michael Kiffer +
   - Michael Lamparski
   - Michael Siebert
   - Michail Gaganis +
   - Mike Toews
   - Mike-gag +
   - Miki Watanabe
   - Miki Watanabe (渡邉 美希)
   - Miles Cranmer
   - Muhammad Ishaque Nizamani +
   - Mukulika Pahari
   - Nathan Goldbaum
   - Nico Schlömer
   - Norwid Behrnd +
   - Noé Rubinstein +
   - Oleksandr Pavlyk
   - Oscar Gustafsson
   - Pamphile Roy
   - Panagiotis Zestanakis +
   - Paul Romano +
   - Paulo Almeida +
   - Pedro Lameiras +
   - Peter Hawkins
   - Peyton Murray +
   - Philip Holzmann +
   - Pierre Blanchard +
   - Pieter Eendebak
   - Pradipta Ghosh
   - Pratyay Banerjee +
   - Prithvi Singh +
   - Raghuveer Devulapalli
   - Ralf Gommers
   - Richie Cotton +
   - Robert Kern
   - Rohit Goswami
   - Ross Barnowski
   - Roy Smart +
   - Rustam Uzdenov +
   - Sadi Gulcelik +
   - Sarah Kaiser +
   - Sayed Adel
   - Sebastian Berg
   - Simon Altrogge +
   - Somasree Majumder
   - Stefan Behnel
   - Stefan van der Walt
   - Stefanie Molin
   - StepSecurity Bot +
   - Syam Gadde +
   - Sylvain Ferriol +
   - Talha Mohsin +
   - Taras Tsugrii +
   - Thomas A Caswell
   - Tyler Reddy
   - Warren Weckesser
   - Will Tirone +
   - Yamada Fuyuka +
   - Younes Sandi +
   - Yuki K +

Cheers,

Charles Harris
___
Python-announce-list mailing list -- python-announce-list@python.org
To unsubscribe send an email to python-announce-list-le...@python.org
https://mail.python.org/mailman3/lists/python-announce-list.python.org/
Member address: arch...@mail-archive.com