[issue32466] Fix missing test coverage for fractions.Fraction.__new__

2021-04-11 Thread Mark Dickinson


Mark Dickinson  added the comment:

Thanks, Sergey! Agreed that this can be closed.

--
resolution:  -> out of date
stage:  -> resolved
status: open -> closed

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue43776] Popen with shell=True yield mangled repr output

2021-04-11 Thread Raymond Hettinger


Change by Raymond Hettinger :


--
nosy: +rhettinger

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue43002] Exception chaining accepts exception classes

2021-04-11 Thread miss-islington


Change by miss-islington :


--
nosy: +miss-islington
nosy_count: 3.0 -> 4.0
pull_requests: +24075
pull_request: https://github.com/python/cpython/pull/25341

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue43002] Exception chaining accepts exception classes

2021-04-11 Thread miss-islington


Change by miss-islington :


--
pull_requests: +24076
pull_request: https://github.com/python/cpython/pull/25342

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue43804] Add more info about building C/C++ Extensions on Windows using MSVC

2021-04-11 Thread Shreyan Avigyan


New submission from Shreyan Avigyan :

In the context of Docs/extending/windows.rst, the command provided, for 
compiling the source code and linking the libraries to create a DLL, only works 
for Python 32-bit versions. But the documentation doesn't inform anything about 
that. The PR linked with this issue adds a note section with the text :-

"""

The above commands are only applicable for Python 32-bit versions.

"""

This PR is against the master branch and if accepted, it needs to be backported 
to all the previous supported versions.

Kindly have a review of my PR.

Thanking you,

With Regards

--
assignee: docs@python
components: Documentation
messages: 390773
nosy: docs@python, shreyanavigyan
priority: normal
severity: normal
status: open
title: Add more info about building C/C++ Extensions on Windows using MSVC
versions: Python 3.10, Python 3.6, Python 3.7, Python 3.8, Python 3.9

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue43804] Add more info about building C/C++ Extensions on Windows using MSVC

2021-04-11 Thread Shreyan Avigyan


Change by Shreyan Avigyan :


--
keywords: +patch
pull_requests: +24077
stage:  -> patch review
pull_request: https://github.com/python/cpython/pull/25343

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue43805] multiprocessing.Queue hangs when process on other side dies

2021-04-11 Thread Marko


New submission from Marko :

When child process dies unexpectedly Queue.get waits indefinitely.

Here is example:

import os
import signal
import multiprocessing

def child_func(qa, qb):
input = qa.get()
print('Child received: ', input)
os.kill(os.getpid(), signal.SIGTERM)
qb.put('B')
exit(0)

qa = multiprocessing.Queue()
qb = multiprocessing.Queue()
process = multiprocessing.Process(target=child_func, args=(qa, qb))
process.start()

qa.put('A')
try:
input = qb.get()
print('Parent received: ', input)
except Exception as ex:
print(ex)
process.join()
exit(0)

--
components: Library (Lib)
messages: 390774
nosy: kormang
priority: normal
severity: normal
status: open
title: multiprocessing.Queue hangs when process on other side dies
versions: Python 3.8

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22393] multiprocessing.Pool shouldn't hang forever if a worker process dies unexpectedly

2021-04-11 Thread Marko


Marko  added the comment:

I've created issue43805. I think it would be better to have universal solution. 
And not specific ones, like in issue9205.

Haven't checked the PRs, though.

--
nosy: +kormang

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue43751] await anext() returns None when default is given

2021-04-11 Thread PEW's Corner


PEW's Corner  added the comment:

Thanks!

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue43805] multiprocessing.Queue hangs when process on other side dies

2021-04-11 Thread Marko


Marko  added the comment:

Possible duplicate of issue22393

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue43806] asyncio.StreamReader hangs when reading from pipe and other process exits unexpectedly

2021-04-11 Thread Marko


New submission from Marko :

When using asyncio to read from pipe, if process on the other side of pipe 
crashes read operation hangs indefinitely.

Example:


import asyncio
import contextlib
import os
import signal
import time

prx, ctx = os.pipe()

read_transport = None
read_stream = None

async def _connect_read(loop):
global read_transport
global read_stream
stream_reader = asyncio.StreamReader()
def protocol_factory():
return asyncio.StreamReaderProtocol(stream_reader)
rpipe = os.fdopen(prx, mode='r')

transport, _ = await loop.connect_read_pipe(protocol_factory, rpipe)
read_transport = transport
read_stream = stream_reader

def close():
read_transport.close()

@contextlib.asynccontextmanager
async def connect():
try:
loop = asyncio.get_event_loop()
await _connect_read(loop)
yield
finally:
close()

cpid = os.fork()
if cpid == 0:
os.kill(os.getpid(), signal.SIGKILL)
os.write(ctx, b'A')
time.sleep(10.0)
else:
async def read_from_child():
async with connect():
input = await read_stream.read(1)
print('Parent received: ', input)

asyncio.run(read_from_child())

--
components: Library (Lib)
messages: 390778
nosy: kormang
priority: normal
severity: normal
status: open
title: asyncio.StreamReader hangs when reading from pipe and other process 
exits unexpectedly
versions: Python 3.8

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue43805] multiprocessing.Queue hangs when process on other side dies

2021-04-11 Thread Marko


Marko  added the comment:

Somewhat related issue43806 with asyncio.StreamReader

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22393] multiprocessing.Pool shouldn't hang forever if a worker process dies unexpectedly

2021-04-11 Thread Marko


Marko  added the comment:

Somewhat related issue43806 with asyncio.StreamReader

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue43807] JSONDecodeError: Extra Data Raised on Long Valid JSON

2021-04-11 Thread Unknown Retired Guy


New submission from Unknown Retired Guy :

https://i.ibb.co/tYqBsQ8/pico-hard.png

That JSONDecodeError: Extra Data is raised when the Valid JSON is too long or 
over than 25000 bytes, I don't know what caused this, can you fix it?

The code and the traceback is in that picture/link above in this comment and 
the long valid JSON is provided here.

The Below picture/link proof that it's a valid JSON:
https://i.ibb.co/fGytRFC/946.png

--
components: Library (Lib)
files: pico-hard.json
messages: 390781
nosy: filipetaleshipolitosoares73
priority: normal
severity: normal
status: open
title: JSONDecodeError: Extra Data Raised on Long Valid JSON
type: behavior
versions: Python 3.7
Added file: https://bugs.python.org/file49953/pico-hard.json

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue42967] [CVE-2021-23336] urllib.parse.parse_qsl(): Web cache poisoning - `; ` as a query args separator

2021-04-11 Thread Senthil Kumaran


Senthil Kumaran  added the comment:


New changeset b38601d49675d90e1ee6faa47f7adaeca992d02d by Ken Jin in branch 
'master':
bpo-42967: coerce bytes separator to string in urllib.parse_qs(l) (#24818)
https://github.com/python/cpython/commit/b38601d49675d90e1ee6faa47f7adaeca992d02d


--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue42967] [CVE-2021-23336] urllib.parse.parse_qsl(): Web cache poisoning - `; ` as a query args separator

2021-04-11 Thread miss-islington


Change by miss-islington :


--
nosy: +miss-islington
nosy_count: 13.0 -> 14.0
pull_requests: +24078
pull_request: https://github.com/python/cpython/pull/25344

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue42967] [CVE-2021-23336] urllib.parse.parse_qsl(): Web cache poisoning - `; ` as a query args separator

2021-04-11 Thread miss-islington


Change by miss-islington :


--
pull_requests: +24079
pull_request: https://github.com/python/cpython/pull/25345

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue43807] JSONDecodeError: Extra Data Raised on Long Valid JSON

2021-04-11 Thread Ronald Oussoren


Ronald Oussoren  added the comment:

There is a block of NUL bytes at the end of the JSON data structure

The output of "od -c pico-hard.json" ends with:

0046340s   e   c   t   i   o   n   N   o   t   e   s   "   :   [   ]
0046360,   "   t   y   p   e   O   f   S   e   c   t   i   o   n   "
0046400:   0   }   ]   }  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0
0046420   \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0
*
0071600   \0  \0  \0  \0  \0  \0  \0  \0  \0
0071611


Note that there is a block of "\0" entries after the closing "}". 

The file can be parsed correctly after stripping these NUL bytes.

--
nosy: +ronaldoussoren

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue42967] [CVE-2021-23336] urllib.parse.parse_qsl(): Web cache poisoning - `; ` as a query args separator

2021-04-11 Thread miss-islington


miss-islington  added the comment:


New changeset 6ec2fb42f93660810952388e5c4018c197c17c8c by Miss Islington (bot) 
in branch '3.9':
bpo-42967: coerce bytes separator to string in urllib.parse_qs(l) (GH-24818)
https://github.com/python/cpython/commit/6ec2fb42f93660810952388e5c4018c197c17c8c


--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue41661] os.path.relpath does not document ValueError on Windows with different drives

2021-04-11 Thread Zackery Spytz


Change by Zackery Spytz :


--
keywords: +patch
nosy: +ZackerySpytz
nosy_count: 7.0 -> 8.0
pull_requests: +24080
stage:  -> patch review
pull_request: https://github.com/python/cpython/pull/25346

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue43808] Add .isfloat() method to str

2021-04-11 Thread JimmyCarlos


New submission from JimmyCarlos :

Hello Python Community!

One feature I think would be helpful would be a method to see if a str can be 
safely converted into a float. Currently, this is not doable without a long 
regex or a try-except block, as numbers like "-3.52" contain non-numeric 
symbols.

My suggestion is to make a new boolean method on the str class. Code-wise, it 
would behave quite similarly to this code:

def isfloat(s:str) -> bool:
try:
float(s)
return True
except:
return False


I appreciate your feedback, so what do you all think?

--
messages: 390785
nosy: JimmyCarlos
priority: normal
severity: normal
status: open
title: Add .isfloat() method to str
type: enhancement

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue43430] Exception raised when attempting to create Enum via functional API

2021-04-11 Thread Ethan Furman


Ethan Furman  added the comment:

Looking at your example I see that you are using an enum as the `type` 
parameter -- the purpose of `type` is to provide a mixin data type, such as 
`int` or `str`, not another enum.

What is your use-case?  Typically, subclassing EnumMeta is not needed.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue43792] Cython is not compatible with Python 3.10 yet: "SystemError: bad argument to internal function"

2021-04-11 Thread Dmitry Marakasov


Dmitry Marakasov  added the comment:

> This issue is a bug in Cython, not in Python. I close it.

This is correct, thanks! The problem is gone with git master version of cython.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue39102] Increase Enum performance

2021-04-11 Thread Ethan Furman


Change by Ethan Furman :


--
stage: patch review -> needs patch
versions: +Python 3.10 -Python 3.9

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue42737] PEP 563: drop annotations for complex assign targets

2021-04-11 Thread Batuhan Taskaya


Batuhan Taskaya  added the comment:

> I think I'd be okay if `foo[bar]: baz` and `foo.bar: baz` (etc.) didn't 
> generate any bytecode at all. Is that what you're proposing here? If so, and 
> assuming the code is reasonably straightforward, I'd say go ahead and make a 
> PR (and close the old OR).

The thread raised some concerns regarding the verification of the lhs (the 
target), so the PR 23952 generates code for the lhs but omits the annotation 
part.

> And FWIW changing how annotations are represented in the AST is out of scope 
> for this issue. (There are tricky edge cases there too.)

Agreed, it already has a separate issue.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue37251] Mocking a MagicMock with a function spec results in an AsyncMock

2021-04-11 Thread Matthew Suozzo


Change by Matthew Suozzo :


--
pull_requests: +24081
stage: needs patch -> patch review
pull_request: https://github.com/python/cpython/pull/25347

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue43808] Add .isfloat() method to str

2021-04-11 Thread Eric V. Smith


Eric V. Smith  added the comment:

Wouldn't the next thing you do be to convert it to a float, so you'd call 
float() twice? I think you'd be better off just catching the exception 
yourself, and using the result of float().

I'm opposed to such a simple function being a member of str or in the stdlib. 
In all of my years using Python with plenty of floats, I've never needed this 
function.

The usual suggestion with such short functions it to just add them to your own 
utility library.

--
components: +Interpreter Core
nosy: +eric.smith
versions: +Python 3.10

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue43808] Add .isfloat() method to str

2021-04-11 Thread Gregory P. Smith


Change by Gregory P. Smith :


--
resolution:  -> rejected
stage:  -> resolved
status: open -> closed

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue42967] [CVE-2021-23336] urllib.parse.parse_qsl(): Web cache poisoning - `; ` as a query args separator

2021-04-11 Thread Matej Cepl


Matej Cepl  added the comment:

> Did you upstream fixes for those packages?

Of course we did. Upstream first!

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue43803] ctypes string_at/wstring_at - bad argument name used in docs and in docstring

2021-04-11 Thread Shreyan Avigyan


Shreyan Avigyan  added the comment:

> I'd favor updating them all to say "ptr", because changing the name of the 
> runtime parameter would risk breaking users' code.

I also certainly agree with that. Moreover, the documentation and docstring 
uses the name "address" and "addr" respectively which are misleading because it 
is asking for ctypes.c_char_p or ctypes.c_wchar_p which are C pointer types, it 
is not asking for the address of instances of ctypes.c_char_p or 
ctypes.c_wchar_p. Therefore a change in the documentation and docstring is 
required.

Note - If this issue is confirmed then I'll submit a PR to apply the change as 
described in this issue.

--
assignee:  -> docs@python
components: +Documentation
nosy: +docs@python, shreyanavigyan
title: ctypes string_at/wstring_at bad argument name -> ctypes 
string_at/wstring_at - bad argument name used in docs and in docstring

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue42916] Support for DICOM image file format in imghdr module

2021-04-11 Thread Pierre-Alain Moret


Pierre-Alain Moret  added the comment:

The DICOM format is indeed very widely used in the medical field and for me it 
deserves to be added in stdlib. I do not see why it is more specific than rast 
format which is included. Moreover it should be easy to add because even if the 
complete format is very complex with all the medical modalities, its enough to 
test the first 132 bytes of image that should be:
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00DICM'
 
Of course, its not enough to test that we have a valid DICOM image, but it is 
also not the case with other formats.

For example, with this simple corrupted jpeg image :
imghdr.what('dummy', h= 
b'\xff\xd8\xff\xe0\x00\x10JFIF\x00\x01\x01\x00\x00\x01\xff\xd9')
'jpeg' is returned.

That is why I strongly advocate in favor of adding DICOM format in imghdr.

Pierre-Alain Moret

--
nosy: +pam

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue41486] Add _BlocksOutputBuffer for bz2/lzma/zlib module

2021-04-11 Thread Gregory P. Smith


Gregory P. Smith  added the comment:

I left some review comments on the PR.  I like the algorithm being used.  

I don't really _like_ that this is a .h file acting as a C template to inject 
effectively the same static code into each module that wants to use it...  
Which I think is the concern Victor is expressing in a comment above.

I could live with this PR as is because it is at least easy to maintain.  But I 
anticipate we'll want to refactor it in the future to be shared code instead of 
a copy compiled per module.

This is the kind of thing that also makes sense to be usable outside of just 
these modules.  Compression modules for the other popular compression 
algorithms currently not in the stdlib but available on PyPI shouldn't need to 
reinvent this wheel on their own without reason. (lzo, brotli, zstandard, no 
doubt others...)

It is also worth looking at those to see if they've already implemented 
something like this and how it differs.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue41486] Add _BlocksOutputBuffer for bz2/lzma/zlib module

2021-04-11 Thread Gregory P. Smith


Gregory P. Smith  added the comment:

looking around it appears you've proposed an independent implementation of this 
for the thir party brotli module?  https://github.com/google/brotli/pull/856

that is what i mean about making this reusable :)

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue43803] ctypes string_at/wstring_at - bad argument name used in docs and in docstring

2021-04-11 Thread Eryk Sun


Eryk Sun  added the comment:

> the name "address" and "addr" respectively which are misleading 
> because it is asking for ctypes.c_char_p or ctypes.c_wchar_p which 
> are C pointer types

string_at() and wstring_at() take a c_void_p value. This can be initialized by 
an integer (i.e. an address), bytes, str, or any ctypes pointer, array, or 
byref() reference. 

Additionally it works with an object that has a compatible _as_parameter_ 
attribute, e.g.:

>>> class A:
..._as_parameter_ = b'spam'
... 
>>> ctypes.string_at(A)
b'spam'

If the docstring is change to use "ptr", for string_at() it can succinctly say 
the following: "Return the byte string at void *ptr." 

For wstring_at(), replace "byte string" with "wide-character string" or 
"wchar_t string". Specifying the type matters because it depends on the 
platform. Windows uses a 16-bit wchar_t, and the memory will be interpreted as 
UTF-16 (e.g. surrogate pairs), whereas other platforms use a 32-bit wchar_t, 
and the memory will be interpreted as UTF-32. For example:

Windows:

>>> ascii(ctypes.wstring_at(b'\x00\xd8\x00\xdc'))
"'\\U0001'"

Linux:

>>> try: ctypes.wstring_at(b'\x00\xd8\x00\xdc')
... except Exception as e: print(e)
... 
character U+dc00d800 is not in range [U+; U+10]

--
nosy: +eryksun

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue43785] Remove RLock from BZ2File

2021-04-11 Thread Gregory P. Smith


Gregory P. Smith  added the comment:

I'm not worried about compatibility on this for 3.10.  Nobody realistically 
expects to be able to have multiple readers from a single BZ2File stream.  They 
don't for the gzip or lzma equivalents.  That isn't even a normal thing to do 
on an actual file.  Lets go forward with this for 3.10betas and see if anyone 
even notices.  I doubt they will.

But the addition of __iter__ deferring to iter(self._buffer) belongs in its own 
PR and issue and should be done for all of bz2, gzip, and lzma all at once.

I've edited the PR branch to remove __iter__ and cleanup a couple of minor nits.

--
assignee:  -> gregory.p.smith
nosy: +gregory.p.smith

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue43785] Remove RLock from BZ2File

2021-04-11 Thread Gregory P. Smith


Gregory P. Smith  added the comment:

I see you're already tracking __iter__ in https://bugs.python.org/issue43787, 
perfect! :)

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue43787] Optimize BZ2File, GzipFile, and LZMAFile __iter__ method.

2021-04-11 Thread Gregory P. Smith


Change by Gregory P. Smith :


--
nosy: +gregory.p.smith

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue43787] Optimize BZ2File, GzipFile, and LZMAFile __iter__ method.

2021-04-11 Thread Gregory P. Smith


Change by Gregory P. Smith :


--
stage:  -> needs patch

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue43574] Regression in overallocation for literal list initialization in v3.9+

2021-04-11 Thread Gregory P. Smith


Change by Gregory P. Smith :


--
nosy: +gregory.p.smith

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue43809] Improve mismatching parentheses error

2021-04-11 Thread Pablo Galindo Salgado


New submission from Pablo Galindo Salgado :

Consider the following program:

( a + b + c ] )

The current error is:

>>> ( a + b + c ] )
  File "", line 1
( a + b + c ] )
^
SyntaxError: closing parenthesis ']' does not match opening parenthesis '('

Which is not bad, but the problem is not that the "(" is not closed (it is) but 
that the "]" was never opened. An improvement would be:

>>> ( a + b + c ] )
  File "", line 1
( a + b + c ] )
^
SyntaxError: closing parenthesis ']' was never opened

--
messages: 390798
nosy: pablogsal
priority: normal
severity: normal
status: open
title: Improve mismatching parentheses error

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue43809] Improve mismatching parentheses error

2021-04-11 Thread Pablo Galindo Salgado


Change by Pablo Galindo Salgado :


--
keywords: +patch
pull_requests: +24082
stage:  -> patch review
pull_request: https://github.com/python/cpython/pull/25348

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue43770] Rework C types initialization

2021-04-11 Thread STINNER Victor


STINNER Victor  added the comment:


New changeset 53114ffef1d4facf9aa5545e711abbbda66f672a by Victor Stinner in 
branch 'master':
bpo-43770: Refactor PyType_Ready() function (GH-25336)
https://github.com/python/cpython/commit/53114ffef1d4facf9aa5545e711abbbda66f672a


--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue43798] Add position metadata to alias AST type

2021-04-11 Thread Shantanu


Shantanu  added the comment:

FYI, probably unavoidable, but this appears to have broken pytest 
https://github.com/pytest-dev/pytest/issues/8539

--
nosy: +hauntsaninja

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue43282] Add split install targets to install tests separately from lib

2021-04-11 Thread Eli Schwartz


Eli Schwartz  added the comment:

I started to look into this, but it seems like I'd need a bit of duplication to 
handle byte compiling the installed files in two different Makefile targets.

The alternatives are templating, automake style, or GNU make'isms like the 
$(call) function, or possibly running `$(MAKE) bytecompile` to do all 
byte-compilation in a shareable submake. Do any of these sound good? Any other 
thoughts?

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue43682] Make static methods created by @staticmethod callable

2021-04-11 Thread STINNER Victor


STINNER Victor  added the comment:


New changeset 553ee2781a37ac9d2068da3e1325a780ca79e21e by Victor Stinner in 
branch 'master':
bpo-43682: Make staticmethod objects callable (GH-25117)
https://github.com/python/cpython/commit/553ee2781a37ac9d2068da3e1325a780ca79e21e


--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue43617] Missing definition in configure.ac causing autoreconf to create damaged configure script

2021-04-11 Thread Eli Schwartz


Eli Schwartz  added the comment:

Hmm, I've seen this accomplished elsewhere using m4_pattern_forbid, which would 
make autoreconf fail with the following message:

```
configure.ac:17: error: possibly undefined macro: AX_C_FLOAT_WORDS_BIGENDIAN
  If this token and others are legitimate, please use m4_pattern_allow.
  See the Autoconf documentation.
configure.ac:5586: error: possibly undefined macro: AX_CHECK_OPENSSL
autoreconf: error: /usr/bin/autoconf failed with exit status: 1
```

Example patch attached.

--
nosy: +eschwartz
Added file: 
https://bugs.python.org/file49954/0001-configure-use-m4-forbidden-patterns-to-ensure-autore.patch

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue14243] tempfile.NamedTemporaryFile not particularly useful on Windows

2021-04-11 Thread Evgeny


Evgeny  added the comment:

Dear all, how can we realistically move this forward?

This issue is 9 years old by now.
Everybody from the discussion agrees, this is an issue.


There were several proposals made, all of them slightly different.

7 months ago I have implemented solution, pretty much similar to the one, 
proposed by eryksun is the https://bugs.python.org/msg376656

https://github.com/python/cpython/pull/22431

So far I received no comments. 
I am not quite familiar with the decision making in Python development. Who can 
take a decision which way to go?

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue14243] tempfile.NamedTemporaryFile not particularly useful on Windows

2021-04-11 Thread Jason R. Coombs


Jason R. Coombs  added the comment:

At least I and Ethan and Martin have expressed a desire for the default, 
preferred usage work well in a portable environment. Requiring 
`delete_on_close=False` violates that expectation.

How about something like this instead:

- Add an `delete_when=None`, also accepting "close" and "exit".
- "close" means delete on close.
- "exit" means delete when the context manager exits.
- When `delete_when` is None, the default behavior is selected (currently 
`close`).
- At some point (now or in the future), raise a deprecation warning if 
`delete_when=None` is passed (require it to be explicit) and explain that the 
default in the future will be `delete_when="exit"`.
- Document that passing an explicit `None` for `delete_when` is not supported 
(don't do it).
- In a release after the deprecation has been released, change the default to 
`delete_when="exit"` and drop support for `None`.


Note, this deprecation approach could be enacted with "delete_on_close" and 
boolean values, but I prefer more explicit values for shorter-named variables.


This approach would allow a user to opt in to the future behavior which has the 
desired effect of preferring the default behavior (in as little as two 
releases).

I might be tempted to create a `backports` package for users of earlier Python 
versions to get the future behavior sooner.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue43798] Add position metadata to alias AST type

2021-04-11 Thread Pablo Galindo Salgado


Pablo Galindo Salgado  added the comment:

> FYI, probably unavoidable, but this appears to have broken pytest 
> https://github.com/pytest-dev/pytest/issues/8539

What's the problem? alias objects *have* lineno argument:

>>> print(ast.dump(ast.parse("from x import y"), include_attributes=True, 
>>> indent=4))
Module(
body=[
ImportFrom(
module='x',
names=[
alias(
name='y',
lineno=1,
col_offset=14,
end_lineno=1,
end_col_offset=15)],
level=0,
lineno=1,
col_offset=0,
end_lineno=1,
end_col_offset=15)],
type_ignores=[])

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue22282] ipaddress module accepts octal formatted IPv4 addresses in IPv6 addresses

2021-04-11 Thread Julian Berman


Change by Julian Berman :


--
nosy: +Julian

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue36384] ipaddress Should not reject IPv4 addresses with leading zeroes as ambiguously octal

2021-04-11 Thread Julian Berman


Change by Julian Berman :


--
nosy: +Julian

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue1662581] the re module can perform poorly: O(2**n) versus O(n**2)

2021-04-11 Thread Gregory P. Smith


Gregory P. Smith  added the comment:

https://pypi.org/project/pyre2/ seems to be a maintained version of that for 
use on modern Python interpreters.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue43686] re.match appears to hang with certain combinations of pattern and string

2021-04-11 Thread Gregory P. Smith


Gregory P. Smith  added the comment:

Try something like https://pypi.org/project/pyre2/ or _maybe_ 
https://pypi.org/project/regex/ (I didn't think that one tried to do a breadth 
first approach though so maybe not)

I'm marking this a duplicate of the age old issue around degenerate patterns in 
re.

--
nosy: +gregory.p.smith
resolution:  -> duplicate
stage:  -> resolved
status: open -> closed
superseder:  -> the re module can perform poorly: O(2**n) versus O(n**2)

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue14243] tempfile.NamedTemporaryFile not particularly useful on Windows

2021-04-11 Thread Ethan Furman


Ethan Furman  added the comment:

On 4/11/2021 3:51 PM, Jason R. Coombs wrote:
 > Jason R. Coombs  added the comment:
 >
 > At least I and Ethan and Martin have expressed a desire for the 
default, preferred usage work well in a portable environment. Requiring 
`delete_on_close=False` violates that expectation.

My opinion is that no extra flags are necessary.  The default of 
deleting on close is fine, unless a context manager is active -- in 
which case delete on CM exit.  Note that an internal flag will be needed 
to track the status of being in a context manager, but nothing besides 
behavior in that edge case would change.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue34309] Trouble when reloading extension modules.

2021-04-11 Thread Shakeeb Alireza


Shakeeb Alireza  added the comment:

In my project (https://github.com/shakfu/py-js), which provides an embedded 
python3 interpreter to Max/MSP in the form of an 'external' plugin, I have 
faced similar issues of being unable to reload extension modules, namely numpy, 
without reliably crashing the host application, in this case Max. 

Being able to reload extension modules cleanly is absolutely critical 
especially in case when python is embedded. Since Numpy is one of the key 
reasons why people would want to use Python, such a constraint, in this 
embedded context, becomes a sufficient reason not to use Python at all.

For example, I have recently taken note of similar frustration with this exact 
same issue from the VCV project 
(https://community.vcvrack.com/t/blowing-the-dust-off-python-in-prototype/12909).
 I quote: "I should add that CPython and more notably numpy do not support nor 
advise a complete restart of the interpreter in embedded scenarios without 
restarting the host process which kind of defeats our purpose in Prototype.
At that point I think I can safely take a step back and turn to the dev 
community looking for suggestions. Should we throw away numpy, or even python, 
altogether?"

--
nosy: +shakfu
versions: +Python 3.9 -Python 3.8

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue41486] Add _BlocksOutputBuffer for bz2/lzma/zlib module

2021-04-11 Thread Ma Lin


Ma Lin  added the comment:

> I don't really _like_ that this is a .h file acting as a C template to inject
> effectively the same static code into each module that wants to use it...
> Which I think is the concern Victor is expressing in a comment above.

I think so too.

The defines of BOB_BUFFER_TYPE/BOB_SIZE_TYPE/BOB_SIZE_MAX are ugly. If put the 
core code together, these defines can be put in a thin wrapper in 
_bz2module.c/_lzmamodule.c/zlibmodule.c files. This can be done now, but it's 
ideal to improve it more thoroughly in 3.11.

_PyBytesWriter has different behavior, user may access existing data as plain 
data, which is impossible for _BlocksOutputBuffer. An API/code can be carefully 
designed, efficient/flexible/elegant, then the code may be used in some sites 
in CPython.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue28708] Low FD_SETSIZE limit on Windows

2021-04-11 Thread Alan


Alan  added the comment:

The big innovation with poll() is that it takes an array of descriptors like a 
normal function.
https://www.geometrydash.me/

--
nosy: +alanpreston

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue14243] tempfile.NamedTemporaryFile not particularly useful on Windows

2021-04-11 Thread Eryk Sun


Eryk Sun  added the comment:

> My opinion is that no extra flags are necessary.  The default of 
> deleting on close is fine, unless a context manager is active -- in 
> which case delete on CM exit.

There is a use case of needing to let another thread or process open the 
temporary file while in a given context, but ensure that the file is deleted 
when the context exits. The O_TEMPORARY flag is not generally compatible with 
this use case, since very few programs in Windows share delete access. Python's 
open() doesn't, not without an opener. So this case needs to omit the 
O_TEMPORARY flag and rely on the context manager to delete the file.

If there's no need to reopen the file in another thread or process, then using 
O_TEMPORARY is preferred. In this case, the file will deleted even if the 
current process crashes or gets terminated (e.g. by a job object).

NamedTemporaryFile() in Windows could switch to relying on the context manager 
to delete the file. But also add an implementation of TemporaryFile() in 
Windows that uses O_TEMPORARY. Surely if a script has no need to reopen a 
temporary file, then it shouldn't care what the file's name is. 

For example:

def TemporaryFile(mode='w+b', buffering=-1, encoding=None,
  newline=None, suffix=None, prefix=None,
  dir=None, *, errors=None):
if "b" not in mode:
encoding = _io.text_encoding(encoding)

prefix, suffix, dir, output_type = _sanitize_params(prefix, suffix, dir)
flags = _bin_openflags | _os.O_TEMPORARY

(fd, name) = _mkstemp_inner(dir, prefix, suffix, flags, output_type)
try:
_os.unlink(name)
return _io.open(fd, mode, buffering=buffering,
newline=newline, encoding=encoding, errors=errors)
except:
_os.close(fd)
raise

Prior to Windows 10 (tested back to Python 3.2 in Windows 2000), the 
unlink(name) call will leave the file linked in `dir`, but trying to access it 
with a new open will fail with an access-denied error. A file that's in a 
deleted state is only accessible by existing opens. The downside is that the 
temporary file can't be moved to another directory except by an existing open 
(e.g. via SetFileInformationByHandle: FileRenameInfo). Another process that 
wants to delete `dir` won't be able to move the file out of the way. It 
shouldn't be an issue, however, if the file is created in the user's temp 
directory.

In Windows 10, NTFS implements a POSIX delete that also moves the file into a 
reserved system directory, so it doesn't remain linked in `dir` and thus 
doesn't prevent deleting `dir`.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue43744] enum: Adding a member named _classname__ raises IndexError

2021-04-11 Thread Ethan Furman


Change by Ethan Furman :


--
keywords: +patch
pull_requests: +24084
stage:  -> patch review
pull_request: https://github.com/python/cpython/pull/25349

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue43744] enum: Adding a member named _classname__ raises IndexError

2021-04-11 Thread Ethan Furman


Ethan Furman  added the comment:

It should not be an error at all, but a False result.  PR created.

--
assignee:  -> ethan.furman

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue42454] Move slice creation to the compiler for constants

2021-04-11 Thread Andrei Kulakov


Andrei Kulakov  added the comment:

One possibility for this being a breaking change is this scenario: some 
codebase may have logic that takes a list and uses a slice operation on it; in 
a rare circumstance the list is really a dict and a TypeError is caught 
upstream and dealt with; with this change it will no longer be caught/logged 
and the dict will be unexpectedly modified. It might also be hard to debug. 

I don't remember seeing such code but it's conceivable.

The change might still be worth it for performance improvement though - I'm not 
sure.

--
nosy: +andrei.avk

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue42248] Raised exception in Enum keeping user objects alive unnecessarily

2021-04-11 Thread Ethan Furman


Change by Ethan Furman :


--
keywords: +patch
pull_requests: +24085
stage:  -> patch review
pull_request: https://github.com/python/cpython/pull/25350

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue37788] fix for bpo-36402 (threading._shutdown() race condition) causes reference leak

2021-04-11 Thread hai shi


hai shi  added the comment:

I created PR 25226. It's a another way to solve this problem.
Compared to PR 15175, `_set_sentinel()` don't need to receive any params :)

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue43810] os.path.abspath returns invalid path (resolves symbolic link)

2021-04-11 Thread Rene Visser


New submission from Rene Visser :

According to the python documentation os.path.abspath() does *not* resolve 
symbolic links. This however does not always seem to be true causing an invalid 
path return by abspath. This could potentially be exploited to crash python 
applications.

Example for bug reproduction on a linux terminal:
1. create a sub-directory "bug_abspath"
2. enter the sub-dir "bug_abspath"
3. create a symbolic link "local_link" onto the current dir using: "ln -s . 
local_link"
4. open python session and import os and enter the following:
5. path_correct = os.path.abspath('./../bug_abspath')  # returns correct path
6. path_invalid = os.path.abspath('local_link/../bug_abspath')  # returns 
invalid path with wrongly resolved "local_link"

>From step 5 the correct/valid path is returned, from step 6 abspath returns an 
>invalid path that is non-existing (contains non-existing 
>"bug_abspath/bug_abspath" string. 
I consider this behavior incorrect and interpret it as a bug in the abspath 
routine which is not allowed to resolve the symbolic link "local_link".
(Note os.path.realpath works as expected but is unwanted by me).

Tested on
OS: linux ubuntu 20.04, CentOS 7.8
PY: python 3.7 and 3.8

Thanks for any help, best wishes, Rene

--
components: IO
messages: 390818
nosy: rvisser
priority: normal
severity: normal
status: open
title: os.path.abspath returns invalid path (resolves symbolic link)
type: behavior
versions: Python 3.7, Python 3.8

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue41515] typing.get_type_hints generates KeyError

2021-04-11 Thread Karthikeyan Singaravelan


Karthikeyan Singaravelan  added the comment:

I guess more libraries will experience this with `from __future__ import 
annotations` becoming default in Python 3.10 and they switch to get_type_hints.

https://github.com/sphinx-doc/sphinx/issues/8084
https://github.com/facebook/TestSlide/issues/296

--
nosy: +xtreak

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue43810] os.path.abspath returns invalid path (resolves symbolic link)

2021-04-11 Thread Eryk Sun


Eryk Sun  added the comment:

In POSIX, os.path.abspath(p) is normpath(join(os.getcwd(), p)). normpath() 
doesn't touch the filesystem, and it's documented that its "string manipulation 
may change the meaning of a path that contains symbolic links". You can use 
os.path.realpath() to resolve symbolic links in a path.

--
nosy: +eryksun
resolution:  -> not a bug
stage:  -> resolved
status: open -> closed

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue43785] Remove RLock from BZ2File

2021-04-11 Thread Inada Naoki


Inada Naoki  added the comment:


New changeset cc2ffcdfd78df3a18edae60df81b2f1b044b1634 by Inada Naoki in branch 
'master':
bpo-43785: Improve BZ2File performance by removing RLock (GH-25299)
https://github.com/python/cpython/commit/cc2ffcdfd78df3a18edae60df81b2f1b044b1634


--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue43785] Remove RLock from BZ2File

2021-04-11 Thread Inada Naoki


Change by Inada Naoki :


--
pull_requests: +24086
pull_request: https://github.com/python/cpython/pull/25351

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue41515] typing.get_type_hints generates KeyError

2021-04-11 Thread Karthikeyan Singaravelan


Change by Karthikeyan Singaravelan :


--
pull_requests: +24087
pull_request: https://github.com/python/cpython/pull/25352

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue42059] TypedDict(...) as function does not respect "total" when setting __required_keys__ and __optional_keys__

2021-04-11 Thread Dominic Davis-Foster


Dominic Davis-Foster  added the comment:

I have backported this to typing_extensions in 
https://github.com/python/typing/pull/778

On Python 3.9.2 and above typing.TypedDict is used, otherwise it's 
typing_extensions.TypedDict.

--
nosy: +domdfcoding

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue43787] Optimize BZ2File, GzipFile, and LZMAFile __iter__ method.

2021-04-11 Thread Inada Naoki


Change by Inada Naoki :


--
keywords: +patch
pull_requests: +24088
stage: needs patch -> patch review
pull_request: https://github.com/python/cpython/pull/25353

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com