[Python-Dev] Currently working on the release of Python 3.8.0rc1

2019-09-30 Thread Łukasz Langa
Team, amazing job on getting us back on track over the weekend. Thank you All release blockers and deferred release blockers solved. And there was relatively little additional activity on the branch -- as expected at this point! Thank you for this, it will help get the release candidate out on t

[Python-Dev] Re: PEP 587 (Python Initialization Configuration) updated to be future proof again

2019-09-30 Thread Petr Viktorin
On 2019-09-30 00:33, Nick Coghlan wrote: [...] We'll never change the size of the config structs (or any other public struct) in a maintenance branch But we *will* change it in alphas/betas, and then we will ask people to try their software out with these. Of course, there are no actual API/AB

[Python-Dev] Re: PEP 587 (Python Initialization Configuration) updated to be future proof again

2019-09-30 Thread Nick Coghlan
On Mon, 30 Sep 2019 at 09:37, Victor Stinner wrote: > > Le lun. 30 sept. 2019 à 00:33, Nick Coghlan a écrit : > > As noted above, despite what I wrote on BPO, you no longer need to persuade > > me that the version check is desirable, only that a narrow check on > > specific struct sizes is pref

[Python-Dev] Re: PEP 587 (Python Initialization Configuration) updated to be future proof again

2019-09-30 Thread Victor Stinner
Le lun. 30 sept. 2019 à 13:45, Nick Coghlan a écrit : > > I understand that your main motivation to use the Python version > > number rather than sizeof(PyConfig) is the error message. > > No, my main motivation is to create an API that can emit a useful > error message on *ALL* version conflicts

[Python-Dev] Re: [python-committers] Currently working on the release of Python 3.8.0rc1

2019-09-30 Thread Nick Coghlan
On Mon, 30 Sep 2019 at 17:48, Łukasz Langa wrote: > > Team, > amazing job on getting us back on track over the weekend. > > Thank you > All release blockers and deferred release blockers solved. And there was > relatively little additional activity on the branch -- as expected at this > point! T

[Python-Dev] Re: [python-committers] Currently working on the release of Python 3.8.0rc1

2019-09-30 Thread Łukasz Langa
> On 30 Sep 2019, at 16:09, Nick Coghlan wrote: > > I've filed https://bugs.python.org/issue38326 as a release blocker, as > I don't think we should be cutting RCs when changes have been made to > a PEP-approved API without any pre-merge design discussion. Nick, Victor, as co-authors of said PE

[Python-Dev] Re: PEP 587 (Python Initialization Configuration) updated to be future proof again

2019-09-30 Thread Antoine Pitrou
I agree that passing a struct size as struct member values sounds a bit unidiomatic. Also, it doesn't achieve ABI stability, just allows erroring out in case the user links with the wrong Python version. Regards Antoine. On Sun, 29 Sep 2019 16:47:41 +1000 Nick Coghlan wrote: > On Sat, 28 Se

[Python-Dev] Re: PEP 587 (Python Initialization Configuration) updated to be future proof again

2019-09-30 Thread Nick Coghlan
On Mon, 30 Sep 2019 at 23:50, Victor Stinner wrote: > > Le lun. 30 sept. 2019 à 13:45, Nick Coghlan a écrit : > > > I understand that your main motivation to use the Python version > > > number rather than sizeof(PyConfig) is the error message. > > > > No, my main motivation is to create an API t

[Python-Dev] Re: PEP 587 (Python Initialization Configuration) updated to be future proof again

2019-09-30 Thread Nick Coghlan
On Tue., 1 Oct. 2019, 3:05 am Nick Coghlan, wrote: > > The only outcome I'd consider undesirable is shipping a public API > that's more awkward to use than it needs to be, doesn't conform to the > accepted version of the PEP, and doesn't protect against most of the > potential sources of segfault

[Python-Dev] Re: PEP 587 (Python Initialization Configuration) updated to be future proof again

2019-09-30 Thread Nick Coghlan
On Mon., 30 Sep. 2019, 7:43 pm Petr Viktorin, wrote: > On 2019-09-30 00:33, Nick Coghlan wrote: > [...] > > We'll never change the size of the config structs (or any other public > > struct) in a maintenance branch > > But we *will* change it in alphas/betas, and then we will ask people to > try

[Python-Dev] Re: PEP 587 (Python Initialization Configuration) updated to be future proof again

2019-09-30 Thread Victor Stinner
Hi back, It seems like "config.struct_size = sizeof(PyConfig);" syntax is "not really liked". I don't see any traction to provide a stable ABI for embedded Python. The consensus is more towards: "it doesn't work and we don't want to bother with false promises" (nor add code for that). Since Luka

[Python-Dev] Re: PEP 587 (Python Initialization Configuration) updated to be future proof again

2019-09-30 Thread Brett Cannon
Victor Stinner wrote: > Hi Nick, > Le dim. 29 sept. 2019 à 08:47, Nick Coghlan ncogh...@gmail.com a écrit : > > I don't quite understand the purpose of this change, > > as there's no > > stable ABI for applications embedding CPython. > > Well, I would like to prepare Python to provide a stable ABI

[Python-Dev] Re: PEP 587 (Python Initialization Configuration) updated to be future proof again

2019-09-30 Thread Antoine Pitrou
On Mon, 30 Sep 2019 22:43:40 +0200 Victor Stinner wrote: > Hi back, > > It seems like "config.struct_size = sizeof(PyConfig);" syntax is "not > really liked". > > I don't see any traction to provide a stable ABI for embedded Python. Not at the last minute in a rc1, I'd say :-) I think if you w

[Python-Dev] Re: PEP 587 (Python Initialization Configuration) updated to be future proof again

2019-09-30 Thread Victor Stinner
Le lun. 30 sept. 2019 à 23:26, Antoine Pitrou a écrit : > I think if you wanted to make the PyConfig apt at providing > ABI-stability, you should have designed it differently. > `PyType_FromSpec` provides a useful model (pass an arbitrary-sized > static array of field initializers). PyConfig is e

[Python-Dev] Re: PEP 587 (Python Initialization Configuration) updated to be future proof again

2019-09-30 Thread Nick Coghlan
On Tue., 1 Oct. 2019, 6:47 am Victor Stinner, wrote: > Hi back, > > It seems like "config.struct_size = sizeof(PyConfig);" syntax is "not > really liked". > > I don't see any traction to provide a stable ABI for embedded Python. > The consensus is more towards: "it doesn't work and we don't want

[Python-Dev] Re: PEP 587 (Python Initialization Configuration) updated to be future proof again

2019-09-30 Thread Nick Coghlan
On Tue., 1 Oct. 2019, 8:38 am Nick Coghlan, wrote: > Later, if we decide to start proving a stable ABI for embedded Python, >> we can still add a "version" or "struct_size" field to PyConfig later >> (for example in Python 3.9). >> > > Thanks Victor, I think this is the right way for us to go, gi

[Python-Dev] Re: PEP 587 (Python Initialization Configuration) updated to be future proof again

2019-09-30 Thread Steve Dower
On 30Sep2019 1625, Nick Coghlan wrote: After merging your PR and closing mine, I had an idea for Python 3.9: what if we offered a separate public "int Py_CheckVersionCompatibility(uint64_t header_version)" call? (64 bit input rather than 32 to allow for possible future changes to the version n

[Python-Dev] Re: [python-committers] Currently working on the release of Python 3.8.0rc1

2019-09-30 Thread Giampaolo Rodola'
Hello Łukasz, I consider this one critical enough to get into 3.8: https://bugs.python.org/issue38319 Long story short: shutil.copyfile() and socket.sendfile() are broken on 32-bit platforms for files >= 2GiB. shutil.copyfile() was modified by me in the 3.8 cycle so the bug only affects 3.8 and 3.9