[Python-Dev] [RELEASE] Python 3.9.1rc1 is now ready for testing

2020-11-26 Thread Łukasz Langa
Python 3.9.1rc1 is the release candidate of the first maintenance release of 
Python 3.9. Go get it here:
https://www.python.org/downloads/release/python-391rc1/ 

Assuming no critical problems are found prior to 2020-12-11, the currently 
scheduled release date for 3.9.1, no code changes are planned between this 
release candidate and the final release. That being said, please keep in mind 
that this is a pre-release of 3.9.1 and as such its main purpose is testing.

Maintenance releases for the 3.9 series will continue at regular bi-monthly 
intervals, with 3.9.2 planned for end of January 2021.

Installer news

3.9.1rc1 is the first version of Python to support macOS 11 Big Sur. With Xcode 
11 and later it is now possible to build “Universal 2” binaries which work on 
Apple Silicon. We are providing such an installer as the macosx11.0 variant. 
This installer can be deployed back to older versions, tested down to OS X 
10.9. As we are waiting for an updated version of pip, please consider the 
macosx11.0 installer experimental.

This work would not have been possible without the effort of Ronald Oussoren, 
Ned Deily, and Lawrence D’Anna from Apple. Thank you!

In other news, this is the first version of Python to default to the 64-bit 
installer on Windows. The installer now also actively disallows installation on 
Windows 7. Python 3.9 is incompatible with this unsupported version of Windows.

What’s new in Python 3.9.1rc1?

We’ve made 240 changes since v3.9.0 which is a significant amount. To compare, 
3.8.1rc1 only saw 168 commits since 3.8.0. See the full change log at

https://docs.python.org/release/3.9.1rc1/whatsnew/changelog.html 
.

For more information about features included in the 3.9 series, see the “What’s 
New in Python 3.9 ” 
document.

What about Python 3.8.7rc1?

There’s additional work needed to make this release support macOS 11 Big Sur. 
This should be ready next week, stay tuned.

We hope you enjoy the new releases!

Thanks to all of the many volunteers who help make Python Development and these 
releases possible! Please consider supporting our efforts by volunteering 
yourself or through organization contributions to the Python Software 
Foundation.

https://www.python.org/psf/ 
More resources

Online Documentation 
PEP 596 , 3.9 Release Schedule
PEP 619 , 3.10 Release Schedule
Report bugs at https://bugs.python.org .
Help fund Python and its community .
Your friendly release team,
Ned Deily @nad 
Steve Dower @steve.dower 
Łukasz Langa @ambv ___
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/OD2JED7GACLTK7ETE2D27OGERKMWSCEV/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] Re: Thanks for the Dev Guide

2020-11-26 Thread Brett Cannon
The first versions of the devguide and the CLA bot are me, but tons of
people have helped out over the years with both of these things and our dev
process overall who share in the thanks. 😊

And glad the process went well for you, Richard!

On Thu, Nov 26, 2020 at 11:54 AM Larry Hastings  wrote:

>
> The dev guide is a community project, like all of Python.  But IIRC the
> person who drove it and did I think most of the heavy lifting on it was
> Brett Cannon.
>
> And yes, it *is* excellent, isn't it :D
>
>
> */arry*
>
> On 11/26/20 11:28 AM, Richard Levasseur wrote:
>
> Hi everyone,
>
> I just wanted to express some appreciation for the excellent Dev Guide.
>
> I don't use git or github much, but the dev guide got me from not knowing
> where to start, to having a PR out for review in a couple hours. It walked
> me through...pretty much perfectly.
>
> Getting a CLA signed was also simple and nice. When the bot brought that
> up, I thought it'd be a headache big enough to keep the PR from
> ever getting back to the top of my todo list. But the help text and links
> from the bot, the integration of BPO with Google sign in, linking BPO to a
> github name, digitally signing the CLA, the little heroku thing -- all just
> self serve, and easy, and obvious, and really just didn't get in the way.
>
> I don't know which person(s) are the best to thank for all that, but
> thanks for making it easy for a newbie to get started and contribute.
>
>
>
> ___
> Python-Dev mailing list -- python-dev@python.org
> To unsubscribe send an email to 
> python-dev-leave@python.orghttps://mail.python.org/mailman3/lists/python-dev.python.org/
> Message archived at 
> https://mail.python.org/archives/list/python-dev@python.org/message/RHMLET7NUCSWRDMZYDTUD637G6HAME3J/
> Code of Conduct: http://python.org/psf/codeofconduct/
>
>
> ___
> 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/RGJQHNKXRCMVQI6FBE7LDWRCJOM5YUGO/
> Code of Conduct: http://python.org/psf/codeofconduct/
>
___
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/UCXT46VB2FTUI2G5CFJOTZ24MTQOIOAL/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] Re: Thanks for the Dev Guide

2020-11-26 Thread Larry Hastings


The dev guide is a community project, like all of Python.  But IIRC the 
person who drove it and did I think most of the heavy lifting on it was 
Brett Cannon.


And yes, it /is/ excellent, isn't it :D


//arry/

On 11/26/20 11:28 AM, Richard Levasseur wrote:

Hi everyone,

I just wanted to express some appreciation for the excellent Dev Guide.

I don't use git or github much, but the dev guide got me from not 
knowing where to start, to having a PR out for review in a couple 
hours. It walked me through...pretty much perfectly.


Getting a CLA signed was also simple and nice. When the bot brought 
that up, I thought it'd be a headache big enough to keep the PR from 
ever getting back to the top of my todo list. But the help text and 
links from the bot, the integration of BPO with Google sign in, 
linking BPO to a github name, digitally signing the CLA, the little 
heroku thing -- all just self serve, and easy, and obvious, and really 
just didn't get in the way.


I don't know which person(s) are the best to thank for all that, but 
thanks for making it easy for a newbie to get started and contribute.




___
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/RHMLET7NUCSWRDMZYDTUD637G6HAME3J/
Code of Conduct: http://python.org/psf/codeofconduct/



___
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/RGJQHNKXRCMVQI6FBE7LDWRCJOM5YUGO/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] Thanks for the Dev Guide

2020-11-26 Thread Richard Levasseur
Hi everyone,

I just wanted to express some appreciation for the excellent Dev Guide.

I don't use git or github much, but the dev guide got me from not knowing
where to start, to having a PR out for review in a couple hours. It walked
me through...pretty much perfectly.

Getting a CLA signed was also simple and nice. When the bot brought that
up, I thought it'd be a headache big enough to keep the PR from
ever getting back to the top of my todo list. But the help text and links
from the bot, the integration of BPO with Google sign in, linking BPO to a
github name, digitally signing the CLA, the little heroku thing -- all just
self serve, and easy, and obvious, and really just didn't get in the way.

I don't know which person(s) are the best to thank for all that, but thanks
for making it easy for a newbie to get started and contribute.
___
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/RHMLET7NUCSWRDMZYDTUD637G6HAME3J/
Code of Conduct: http://python.org/psf/codeofconduct/


[Python-Dev] Re: Questions about about the DLS 2020

2020-11-26 Thread Tobias Kohn

 Hi Koos,

Yes, our three PEPs (634/635/636) are up to date.  PEP 634 is the  
technical specification, so you probably want to start with the  
tutorial (PEP 636) or the rationale (PEP 635).


https://www.python.org/dev/peps/pep-0636/
https://www.python.org/dev/peps/pep-0635/

Perhaps the following link to a discussion and vote might be a good  
starting point to get an overview of the other proposals that are  
around:


https://discuss.python.org/t/gauging-sentiment-on-pattern-matching/5770

Kind regards,
Tobias

Quoting Koos Zevenhoven :

I've had some things going on, and I'm still trying to catch up with  
the discussions here. Can someone tell me what would be the best  
place to look at the most recent proposal? Is one of the PEPs up to  
date?


   On Mon, Nov 16, 2020 at 7:02 PM Tobias Kohn  
 wrote:



_Hi Mark,

Thank you for your interest and the questions.

1.  This really comes down to how you look at it, or how you define  
pattern matching.  The issue here is that the concept of pattern  
matching has grown into a large and somewhat diverse flock of  
interpretations and implementations (as a side note: interestingly  
enough, some of the only universally agreed-upon standards are to  
use `_` as a wildcard and not to mark names that capture/bind  
values---which are quite exactly the points most fiercely debatted  
here).


Anyway, the paper presents the pattern matching structure we are  
proposing as one of three major variants of pattern matching:

(a)  Matching arguments to parameters in a function call,
(b)  Matching elements to elements in iterable unpacking,
(c)  Matching tree-like data to general patterns in a conditional  
pattern matching structure.


The last one is the subject of the PEP and the paper.  Nonetheless,  
in the first two cases (a) and (b), we find that indeed the  
computer will validate that the data matched the pattern and raise  
an exception if this fails.  This is where this way of looking at  
it comes from.


2.  Yes, that is indeed a deliberate simplification.  The idea is  
to abstract away from the details of how exactly Python implements  
abstract syntax trees (which I honestly believe are irrelevant for  
the sake of the entire narrative).  Moreover, using strings here  
allows us to exemplify the literal patterns, rather only showcasing  
only the constructor/class pattern.


Essentially, this is a question of making the most out of the  
little space available.


Since you have addressed this email to me directly, I would like to  
take this opportunity and briefly stress that this paper really  
grew out of a team effort.  While I might have been the one pushing  
for an academic publication, the DLS'20 paper represents the input  
and ideas of all the authors, as well as the long discussions we  
had.  Of course, I am happy to answer any questions about the  
paper, but it would be wrong to see me as the one person behind it.


Cheers,
Tobias

Quoting Mark Shannon :_


_Hi Tobias,

A couple of questions about the DLS 2020 paper.

1. Why do you use the term "validate" rather than "test" for the  
process of selecting a match?


It seems to me, that this is a test, not a validation, as no  
exception is raised if a case doesn't match.


2. Is the error in the ast matching example, an intentional  
"simplification" or just an oversight?


The example:

```
def simplify(node):
   match node:
       case BinOp(Num(left), '+', Num(right)):
           return Num(left + right)
       case BinOp(left, '+' | '-', Num(0)):
           return simplify(left)
       case UnaryOp('-', UnaryOp('-', item)):
           return simplify(item)
       case _:
           return node

```

is wrong.

The correct version is

```
def simplify(node):
   match node:
       case BinOp(Num(left), Add(), Num(right)):
           return Num(left + right)
       case BinOp(left, Add() | Sub(), Num(0)):
           return simplify(left)
       case UnaryOp(USub(), UnaryOp(USub(), item)):
           return simplify(item)
       case _:
           return node
```

Cheers,
Mark.
___
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/ETZGYRCF4DR6RJXTHGXIRZXINXJ76J2D/Code of Conduct:  
http://python.org/psf/codeofconduct/_



 


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/CUNO57W7KSIM2WRROC5R43ZT7HUQZCZ6/

Code of Conduct: http://python.org/psf/codeofconduct/_


    
___
Python-Dev mailing list -- python-dev@python.org
To unsubsc

[Python-Dev] Re: Questions about about the DLS 2020

2020-11-26 Thread Koos Zevenhoven
I've had some things going on, and I'm still trying to catch up with the
discussions here. Can someone tell me what would be the best place to look
at the most recent proposal? Is one of the PEPs up to date?

On Mon, Nov 16, 2020 at 7:02 PM Tobias Kohn  wrote:

> Hi Mark,
>
> Thank you for your interest and the questions.
>
>
> 1.  This really comes down to how you look at it, or how you define
> pattern matching.  The issue here is that the concept of pattern matching
> has grown into a large and somewhat diverse flock of interpretations and
> implementations (as a side note: interestingly enough, some of the only
> universally agreed-upon standards are to use `_` as a wildcard and not to
> mark names that capture/bind values---which are quite exactly the points
> most fiercely debatted here).
>
> Anyway, the paper presents the pattern matching structure we are proposing
> as one of three major variants of pattern matching:
> (a)  Matching arguments to parameters in a function call,
> (b)  Matching elements to elements in iterable unpacking,
> (c)  Matching tree-like data to general patterns in a conditional pattern
> matching structure.
>
> The last one is the subject of the PEP and the paper.  Nonetheless, in the
> first two cases (a) and (b), we find that indeed the computer will validate
> that the data matched the pattern and raise an exception if this fails.
> This is where this way of looking at it comes from.
>
>
> 2.  Yes, that is indeed a deliberate simplification.  The idea is to
> abstract away from the details of how exactly Python implements abstract
> syntax trees (which I honestly believe are irrelevant for the sake of the
> entire narrative).  Moreover, using strings here allows us to exemplify the
> literal patterns, rather only showcasing only the constructor/class pattern.
>
> Essentially, this is a question of making the most out of the little space
> available.
>
>
> Since you have addressed this email to me directly, I would like to take
> this opportunity and briefly stress that this paper really grew out of a
> team effort.  While I might have been the one pushing for an academic
> publication, the DLS'20 paper represents the input and ideas of all the
> authors, as well as the long discussions we had.  Of course, I am happy to
> answer any questions about the paper, but it would be wrong to see me as
> the one person behind it.
>
> Cheers,
> Tobias
>
>
>
> Quoting Mark Shannon :
>
> Hi Tobias,
>
> A couple of questions about the DLS 2020 paper.
>
> 1. Why do you use the term "validate" rather than "test" for the process
> of selecting a match?
>
> It seems to me, that this is a test, not a validation, as no exception is
> raised if a case doesn't match.
>
>
> 2. Is the error in the ast matching example, an intentional
> "simplification" or just an oversight?
>
> The example:
>
> ```
> def simplify(node):
>match node:
>case BinOp(Num(left), '+', Num(right)):
>return Num(left + right)
>case BinOp(left, '+' | '-', Num(0)):
>return simplify(left)
>case UnaryOp('-', UnaryOp('-', item)):
>return simplify(item)
>case _:
>return node
>
> ```
>
> is wrong.
>
> The correct version is
>
> ```
> def simplify(node):
>match node:
>case BinOp(Num(left), Add(), Num(right)):
>return Num(left + right)
>case BinOp(left, Add() | Sub(), Num(0)):
>return simplify(left)
>case UnaryOp(USub(), UnaryOp(USub(), item)):
>return simplify(item)
>case _:
>return node
> ```
>
> Cheers,
> Mark.
> ___
> 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/ETZGYRCF4DR6RJXTHGXIRZXINXJ76J2D/Code
> of Conduct: http://python.org/psf/codeofconduct/
>
>
>
> ___
> 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/CUNO57W7KSIM2WRROC5R43ZT7HUQZCZ6/
> Code of Conduct: http://python.org/psf/codeofconduct/
>
___
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/FDP476BPKG55W2OP66VPMMGV5OBP67U3/
Code of Conduct: http://python.org/psf/codeofconduct/