[Python-Dev] Acceptance of Pattern Matching PEPs 634, 635, 636, Rejection of PEPs 640 and 642

2021-02-08 Thread Python Steering Council
After much deliberation, the Python Steering Council is happy to announce that 
we have chosen to accept PEP 634, and its companion PEPs 635 and 636, 
collectively known as the Pattern Matching PEPs. We acknowledge that Pattern 
Matching is an extensive change to Python and that reaching consensus across 
the entire community is close to impossible.  Different people have 
reservations or concerns around different aspects of the semantics and the 
syntax (as does the Steering Council). In spite of this, after much 
deliberation, reviewing all conversations around these PEPs, as well as 
competing proposals and existing poll results, and after several in-person 
discussions with the PEP authors, we are confident that Pattern Matching as 
specified in PEP 634, et al, will be a great addition to the Python language.

We also recognize that such a large new feature needs to be accompanied by 
comprehensive documentation and specification, both in the tutorial section of 
the documentation and in the language reference. We consider that the presence 
of such high-quality documentation must be present on the first release of 
Python 3.10, and therefore its absence should be considered a release blocker.  
We do not consider the PEPs or any possible external documentation to be 
sufficient.

At the same time, we’re rejecting PEPs 640 and 642. Both PEPs have received 
little support from core developers. PEP 642’s proposed syntax does not seem 
like the right way to solve the jagged edges in PEP 634’s syntax, although the 
SC understands the desire to improve those aspects of the Pattern Matching 
proposal.

Regarding that, we would also like to mention that changes building on top of 
PEP 634 (even PEPs 640 and 642 if they now gain support) can still be submitted 
via the PEP process for review using the regular channels (discussions in 
python-dev or the https://discuss.python.org/ server), followed by a formal 
submission to the Steering Council for consideration, taking into account that 
backwards-incompatible changes can only be made before the feature freeze point 
of Python 3.10.  See PEP 619 (https://www.python.org/dev/peps/pep-0619/) for 
details on the release schedule for Python 3.10.

We know that Pattern Matching has been a challenging feature that has sparked 
considerable discussions and design conversations,  leading to several 
revisions from feedback stemming from the community, core devs, and the 
Steering Council. We are very happy to see that the Python developer community 
remains passionate and respectful, and we are sure that the result has 
benefited a lot because of it.

Congratulations to the PEP(s) authors: Guido, Brandt, Tobias, Daniel, Talin, 
and everyone that participated in the discussion and implementation of this 
important new feature!

-The Python Steering Council


___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/SQC2FTLFV5A7DV7RCEAR2I2IKJKGK7W3/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] PEP 651, Robust Stack Overflow Handling, Rejection notice

2021-03-03 Thread Python Steering Council
Hi Mark,

Thank you for submitting PEP 651. The Steering Council has spent the past two 
weeks reviewing PEP 651. After careful consideration, we have decided to reject 
the PEP. The following were the key points that led us to this decision:

* The benefits are not compelling enough. Deep recursion is not a common tool 
in  
  Python, and even with PEP 651 it would not be efficient enough to make it a 
common 
  tool.

* The benefit of PEP 651 is negated as soon as a non-Python function is 
involved in the 
  recursion, making the likelihood of it being useful even smaller. It also 
creates 
  easy pitfalls for users who do end up relying on recursion.

* We believe the PEP understates the disruption created by the technical 
solution of 
  multiple Python stack frames per C call. Although this may be solvable, it 
will 
  certainly cause substantial disruption to existing debuggers, tracers, and 
state 
  inspection tools as they need to adapt to this change (which may not be 
trivial).

* As the way to approach this will be platform-specific (as some parts of the 
proposal 
  are not portable), this can cause generic Python code to behave differently 
on   
  different platforms, making this kind of code less portable and less 
predictable.

In the end, the benefit of the PEP does not outweigh the cost of the potential 
breakage, confusion, and unpredictability of the feature.

With our appreciation,
The Python Steering Council
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/75BFSBM5AJWXOF5OSPLMJQSTP3TDOKRP/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] Steering Council reply regarding conduct (was Re: Steering Council update for February)

2021-03-23 Thread Python Steering Council
From Thomas Wouters, on behalf of and with full support of the Python Steering 
Council:

I’ll post a separate reply about the merits of the decision, but we have to 
talk about this post from Steven D’Aprano in particular.

Steven, this reply -- its tone and its message -- are completely unacceptable. 
It is offensive, dismissive and insulting. It’s a bad faith argument ridiculing 
a good faith effort. It is particularly insulting that you take the time to 
draw false equivalences to arguments that weren’t made on this list, and that 
you’re assuming motivation and ridiculing it, without taking the time to engage 
in the actual arguments. There are plenty of sources online that you could’ve 
used to learn more, or you could have just asked in this thread. Instead, you 
posted this sarcastic, denigrating, mocking reply.

Yours isn’t the only post that crosses the line in this thread, but it is the 
worst. It is an example of the kind of discourse that is too common and that 
reflects very badly on python-dev. It creates an atmosphere of disrespect and 
abuse, and actively scares away both experienced contributors and new ones. 
This is not conjecture; I and others on the SC have heard from more than a 
dozen people that this is exactly the case.

This is not acceptable. It has to stop.

The PSF Code of Conduct WG has sent the SC a recommendation on this issue. It 
recommended a temporary ban from python-dev for Steven, and a warning for 
someone else. While the SC believes a temporary ban would certainly be a 
reasonable action, we decided to instead make this public statement, as a 
warning to everyone. The SC wants to be clear that this statement applies to 
everyone who has made uncivil and inflammatory posts.

This tone is not acceptable from anyone. The SC wants to make this very clear: 
this is a final warning to remind everyone that this behaviour will result in 
strong measures, including bans and ejections. If you want to argue something, 
do so on the merits, in good faith, and with empathy and consideration. If you 
can only ridicule someone, their motivation or their lived experience, please 
keep it to yourself.


> On Tue, Mar 09, 2021 at 08:27:19PM +, Pablo Galindo Salgado wrote:
> 
> >The Steering Council discussed renaming the master branch to main and
> >the consensus was that we should do that. 
> 
> And about time too. Can we now tackle some of the equally pressing use 
> of offensive terms that are common in the Python community, starting 
> with the name of the language itself?
> 
> Pythons are snakes, which is triggering to people with a phobia of 
> snakes. About one third of all people, or more than two *billion* 
> people, suffer from some level of phobia towards snakes.
> 
> The popular "nose" testing framework is a blatant antisemetic and 
> neo-nazi dog whistle.
> 
> "bool" is named after George Boole, a problematic white man who 
> appropriated the culture of both the Middle East and East Asia.
> 
> "dict" is confusable with, and is often abbreviated to, an offensive 
> word. And don't even get me started with the obvious sexism of "tty".
> 
> Unicode is racist because it has unified Chinese, Japanese and Korean 
> characters as if they were the same thing, and relegates non-Western 
> languages to second class status:
> 
> https://modelviewculture.com/pieces/i-can-text-you-a-pile-of-poo-but-i-cant-write-my-name
> 
> It also includes a teddy bear symbol, which is named after notorious 
> racist and imperialist Theodore Roosevelt, and no less than *six* 
> swastika symbols. Also the Cross of Jerusalem, the symbol of such openly 
> fascist groups as the Federal State of Austria during the 1930s and the 
> Russian far-right extremist organisation the People's National Party.
> 
> It even has a symbol for chains, which is associated even more closely 
> with slavery than "master".
> 
> Speaking of slavery, in the standard library we have ChainMap and 
> itertools.chain.
> 
> We have the ableist "runpy", and in the random module a function named 
> after Vilfredo Pareto, who supported the rule of fascist dictator Benito 
> Mussolini. There are the token and tokenize modules, which are offensive 
> for their association with both sexist and racist views.
> 
> The tarfile module is associated with the racist Uncle Remus stories, 
> and a derogatory term for US Blacks.
> 
> https://www.washingtonpost.com/blogs/compost/post/doug-lamborns-tar-baby-quagmire/2011/08/03/gIQAKmXnsI_blog.html
> 
> The textwrap module uses a derogatory racist and fatphobic term dozens 
> of times.
> 
> http://rsdb.org/slur/chunk
> 
> Each of these issues are just as important as the "master" issue.
> 
> 
> -- 
> Steve

___

[Python-Dev] On the migration from master to main

2021-03-23 Thread Python Steering Council
From Thomas Wouters, on behalf of and with full support of the Python Steering 
Council:

This discussion seems to have died down a little, but I still want to make a 
few things clear:

Yes, this is a political decision. Very many decisions are political. The 
existence of an open-source project is inherently political. The decision to 
try and make python-dev more welcoming, more open, more helpful is also a 
political decision -- one that the SC feels is absolutely necessary for the 
long-term health of the Python language. Not wanting to be bothered by 
political decisions is a political decision; it’s a decision that you’re happy 
with politics as they are. I’m afraid you can’t avoid politics.

This isn’t just about ‘master’ being rooted in slavery. This is about what the 
community sees and does. As I mentioned before, we’re not leading the pack in 
this, we’re merely following along with others (like, say, Django). There are 
undoubtedly other terms and practices that are genuinely offensive, and the 
decision on how to handle them will be taken on a case-by-case basis, weighing 
the cost and the benefit in each case.

While you may feel the benefit of this change is small and that it has no real 
impact, we believe that there is little cost to making this change. We believe 
this change, while a minor inconvenience to some, helps demonstrate our 
commitment to acting in the best interests of Python's future. Failure to make 
a small sacrifice, such as this, signals that the Python core development 
community would be unlikely to undertake real change for greater benefits.

This isn’t happening because GitHub/Microsoft made a political decision. It’s 
happening because it is incredibly easy to make this move, many projects have 
already done this, and it reflects badly on any project not making this change.

Speaking for the whole SC in this,
Thomas.

___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/J5GR6YVIVWQ2VPLISAGBQH3UQN4YWAXS/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] Official joint communication from the Python Steering Council, PSF Board of Directors, and PSF Conduct WG

2020-07-20 Thread Python Steering Council
Recently, a series of discussions on this mailing list resulted in behavior 
that did not live up to the standards of the Python Community. The PSF Board of 
Directors, Python Steering Council, and the PSF Conduct Working Group would 
like to remind this community that our shared goal is to advance the Python 
language while simultaneously building a diverse, inclusive, and welcoming 
Python community. While the community has made progress in recent years, this 
discussion made it clear to many of us that we still have room to grow.

At the request of the PSF Board, the Steering Council, and members of the 
community, the PSF Conduct WG met to discuss these recent events and recommend 
action. As a result, warnings will be given to several members of the Python 
Community, and the Steering Council will be taking further action.

Especially during passionate discussions like these, we'd like to ask that all 
Pythonistas focus on being welcoming and respectful, and that we all try to act 
in the best spirit of the Python Community.

Thank you,
Python Steering Council
PSF Board of Directors
PSF Conduct WG
___
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/5NMO2XKYLCNUT7BTMIFQOPF57FDXLHTQ/
Code of Conduct: http://python.org/psf/codeofconduct/