[issue47168] Improvements for stable ABI definition files
Petr Viktorin added the comment: Thinking more about Doc/data/stable_abi.dat, I don't think the rename is worth it. The file is not meant to be used/edited by humans. If someone needs the data for something other than running the Sphinx extension, let me know. We should provide a proper data source for their use case. -- ___ Python tracker <https://bugs.python.org/issue47168> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue47168] Improvements for stable ABI definition files
Change by Petr Viktorin : -- pull_requests: +30441 pull_request: https://github.com/python/cpython/pull/32415 ___ Python tracker <https://bugs.python.org/issue47168> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue47169] Stable ABI: Some optional (#ifdef'd) functions aren't handled correctly
Change by Petr Viktorin : -- pull_requests: +30440 pull_request: https://github.com/python/cpython/pull/32414 ___ Python tracker <https://bugs.python.org/issue47169> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue23312] google thinks the docs are mobile unfriendly
Change by Petr Viktorin : -- resolution: -> fixed stage: needs patch -> resolved status: open -> closed ___ Python tracker <https://bugs.python.org/issue23312> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue23312] google thinks the docs are mobile unfriendly
Petr Viktorin added the comment: This has been solved by the new theme. The Goolgle report linked above shows “Passed” and “96” (out of 100). It does show a few opportunities to improve, but many seem to indirectly complain that the page is big. I'm closing the issue. -- nosy: +petr.viktorin ___ Python tracker <https://bugs.python.org/issue23312> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue47169] Stable ABI: Some optional (#ifdef'd) functions aren't handled correctly
Change by Petr Viktorin : -- keywords: +patch pull_requests: +30414 stage: -> patch review pull_request: https://github.com/python/cpython/pull/32365 ___ Python tracker <https://bugs.python.org/issue47169> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue47115] Documentation inconsistency with the stable ABI
Petr Viktorin added the comment: New changeset d79f118d044e9b4244b5dfda35448d39202d7f56 by Petr Viktorin in branch 'main': bpo-47115: Document which parts of structs are in limited API/stable ABI (GH-32196) https://github.com/python/cpython/commit/d79f118d044e9b4244b5dfda35448d39202d7f56 -- ___ Python tracker <https://bugs.python.org/issue47115> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue47168] Improvements for stable ABI definition files
Change by Petr Viktorin : -- pull_requests: +30412 pull_request: https://github.com/python/cpython/pull/32365 ___ Python tracker <https://bugs.python.org/issue47168> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue21314] Document '/' in signatures
Petr Viktorin added the comment: - PEP 570 (Python Positional-Only Parameters) is final - The language spec was updated to mention it - the FAQ entry was revised to not link to the PEP and be a self-contained explanation IMO the only thing left is to make searching for `/` yield the right results, but that is bpo-15871. Closing this issue. -- nosy: +petr.viktorin resolution: -> fixed stage: commit review -> resolved status: open -> closed ___ Python tracker <https://bugs.python.org/issue21314> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue47168] Improvements for stable ABI definition files
Petr Viktorin added the comment: New changeset 079143df7e40c4d336cb5c385b166aa91058d050 by Petr Viktorin in branch 'main': bpo-47168: Mark files generated by `make regen-limited-abi` as generated (GH-32195) https://github.com/python/cpython/commit/079143df7e40c4d336cb5c385b166aa91058d050 -- ___ Python tracker <https://bugs.python.org/issue47168> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue47179] pymalloc should align to max_align_t
New submission from Petr Viktorin : malloc() returns memory that's "suitably aligned for any built-in type". All of Python's allocation functions should do the same. In bpo-27987 (PR-12850, PR-13336), the alignment was raised* to 16 bytes and `long double`. This is OK for current architectures, so there is no practical issue right now. But, C11 defines a [max_align_t] type which sounds like the *correct* thing to use for determining pymalloc/PyGC_Head alignment. At least we should assert that obmalloc's ALIGNMENT is a multiple of `alignof(max_align_t)`, and use max_align_t rather than `long double` in PyGC_Head. See also this python-cffi issue: https://foss.heptapod.net/pypy/cffi/-/issues/531#note_181779 [max_align_t]: https://en.cppreference.com/w/c/types/max_align_t * (on 64-bit arches) -- components: C API messages: 416421 nosy: methane, petr.viktorin, pitrou, vstinner priority: normal severity: normal status: open title: pymalloc should align to max_align_t ___ Python tracker <https://bugs.python.org/issue47179> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue44133] Some C-API symbols (e.g. Py_FrozenMain) are not always exported on Unix
Petr Viktorin added the comment: > Ah, sorry, I could have described the issue better. It's not a problem with > exporting, PyThread_get_thread_native_id() isn't available on Solaris (and > possibly other platforms) at all. Jakub, does this mean test_stable_abi_ctypes fails on Solaris? Are there any other missing functions? I opened bpo-47169 to improve the situation. -- ___ Python tracker <https://bugs.python.org/issue44133> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue47169] Stable ABI: Some optional (#ifdef'd) functions aren't handled correctly
New submission from Petr Viktorin : - PyThread_get_thread_native_id is only available when PY_HAVE_THREAD_NATIVE_ID is defined. The test currently always expects it to be available. - PyOS_CheckStack is only available when USE_STACKCHECK is defined (i.e. on Windows). It should be exported from the DLL. I plan to: - add the appropriate metadata - improve handling & testing of such optional functions in general -- components: C API messages: 416377 nosy: petr.viktorin priority: normal severity: normal status: open title: Stable ABI: Some optional (#ifdef'd) functions aren't handled correctly ___ Python tracker <https://bugs.python.org/issue47169> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue47168] Improvements for stable ABI definition files
New submission from Petr Viktorin : This issue groups together a few changes I'd like to make: - Rename Doc/data/stable_abi.dat to *.csv, so it gets syntax highlighting. (The only user of that file should be the Sphinx extension) - Mark autogenerated files as such in .gitattributes - Convert Misc/stable_abi.txt to TOML, and change the parser to match (this will need a heads-up on python-dev) -- messages: 416376 nosy: petr.viktorin priority: normal severity: normal status: open title: Improvements for stable ABI definition files ___ Python tracker <https://bugs.python.org/issue47168> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue47168] Improvements for stable ABI definition files
Change by Petr Viktorin : -- keywords: +patch pull_requests: +30274 stage: -> patch review pull_request: https://github.com/python/cpython/pull/32195 ___ Python tracker <https://bugs.python.org/issue47168> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue47115] Documentation inconsistency with the stable ABI
Change by Petr Viktorin : -- keywords: +patch pull_requests: +30272 stage: -> patch review pull_request: https://github.com/python/cpython/pull/32196 ___ Python tracker <https://bugs.python.org/issue47115> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue47115] Documentation inconsistency with the stable ABI
Petr Viktorin added the comment: So. According to PEP 384 (which added all structs in the stable ABI, except Py_buffer), some structs are opaque and others have a few members exposed: https://peps.python.org/pep-0384/#structures I will split the latter into 1) structs that have a few fields exposed mainly for backwards compatibility (which, of course, is very important here). Best practice is to treat them as opaque (use getters/setters): - PyObject (ob_refcnt, ob_type) - PyVarObject (ob_base, ob_size) ... and 2) structs for which all fields are part of the ABI (and the struct's size as well: for most of these as users are expected to provide arrays): - PyMethodDef - PyMemberDef - PyGetSetDef - PyModuleDefBase - PyModuleDef - PyStructSequence_Field - PyStructSequence_Desc - PyType_Slot - PyType_Spec - Py_buffer (new in 3.11) The opaque structs continue to be: - PyThreadState - PyInterpreterState - PyFrameObject - symtable - PyWeakReference - PyLongObject - PyTypeObject -- nosy: +vstinner ___ Python tracker <https://bugs.python.org/issue47115> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue47142] Document importlib.resources.abc.Traversable
New submission from Petr Viktorin : importlib.resources.files is documented [0] as returning importlib.resources.abc.Traversable, which is an undocumented class (dead link) now. It should be documented. The [source] has helpful docstrings, but is missing some details. I'd like to know these before writing some docs: - Can the argument to `joinpath` contain path separators? - Are the methods expected to raise specific exception types (e.g. if a resource is missing, or you call iterdir on a “file”)? This seems quite important for people who implement the protocol. [0]: https://docs.python.org/dev/library/importlib.resources.html#importlib.resources.files [source]: https://github.com/python/cpython/blob/main/Lib/importlib/resources/abc.py#L49 -- assignee: docs@python components: Documentation messages: 416164 nosy: docs@python, jaraco, petr.viktorin priority: normal severity: normal status: open title: Document importlib.resources.abc.Traversable ___ Python tracker <https://bugs.python.org/issue47142> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue47115] Documentation inconsistency with the stable ABI
Petr Viktorin added the comment: Thanks for the report! You're right that this is misleading. I'll clarify the docs for this and other structs. - struct PyTypeObject is part if the limited API. - its fields and size are not part of the API or stable ABI. -- ___ Python tracker <https://bugs.python.org/issue47115> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue45413] Add install scheme for virtual environments
Petr Viktorin added the comment: New changeset 48d926269963cfe7a49c0a4f34af4fe9b832399b by Miro Hrončok in branch 'main': bpo-45413: Define "posix_venv", "nt_venv" and "venv" sysconfig installation schemes (GH-31034) https://github.com/python/cpython/commit/48d926269963cfe7a49c0a4f34af4fe9b832399b -- ___ Python tracker <https://bugs.python.org/issue45413> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue45149] Cover directory and zipfile execution in __main__ module docs
Change by Petr Viktorin : -- assignee: -> docs@python components: +Documentation nosy: +docs@python ___ Python tracker <https://bugs.python.org/issue45149> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue40059] Provide a toml module in the standard library
Petr Viktorin added the comment: The PR is merged and buildbots are green. Thank you to everyone who helped! Now would be a good time to bikeshed wording in the documentation. >From the PR: > Would it be good to mention in the docs why load() takes only binary files? > The encoding requirement probably isn't obvious for first-time users. -- ___ Python tracker <https://bugs.python.org/issue40059> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue40059] Provide a toml module in the standard library
Petr Viktorin added the comment: New changeset 591f6754b56cb7f6c31fce8c22528bdf0a99556c by Taneli Hukkinen in branch 'main': bpo-40059: Add tomllib (PEP-680) (GH-31498) https://github.com/python/cpython/commit/591f6754b56cb7f6c31fce8c22528bdf0a99556c -- nosy: +petr.viktorin ___ Python tracker <https://bugs.python.org/issue40059> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue45413] Add install scheme for virtual environments
Petr Viktorin added the comment: Steve, could you take a look at the PR discussion and chime in about how this should be done? -- ___ Python tracker <https://bugs.python.org/issue45413> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue46623] test_zlib: test_pair() and test_speech128() fail with s390x hardware accelerator
Petr Viktorin added the comment: The current fix skips all of the tests, rather than just the parts that fail. -- nosy: +petr.viktorin resolution: fixed -> status: closed -> open ___ Python tracker <https://bugs.python.org/issue46623> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue46748] Python.h includes stdbool.h
Petr Viktorin added the comment: Thank you, Kumar & Victor, for fixing up the issue! I meant to check the buildbots before closing the issue, but got side-tracked. -- stage: patch review -> resolved status: pending -> closed ___ Python tracker <https://bugs.python.org/issue46748> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue46748] Python.h includes stdbool.h
Petr Viktorin added the comment: New changeset 2c228a7b8f89e9ed8d390370abd771d4993b79d8 by Petr Viktorin in branch 'main': bpo-46748: Don't import in public headers (GH-31553) https://github.com/python/cpython/commit/2c228a7b8f89e9ed8d390370abd771d4993b79d8 -- ___ Python tracker <https://bugs.python.org/issue46748> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue46836] [C API] Move PyFrameObject to the internal C API
Petr Viktorin added the comment: OK, looking at it more carefully, it makes sense to do the change. -- ___ Python tracker <https://bugs.python.org/issue46836> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue46748] Python.h includes stdbool.h
Change by Petr Viktorin : -- keywords: +patch pull_requests: +29674 stage: -> patch review pull_request: https://github.com/python/cpython/pull/31553 ___ Python tracker <https://bugs.python.org/issue46748> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue46836] [C API] Move PyFrameObject to the internal C API
Petr Viktorin added the comment: So, this will break Cython and gevent, but (unlike the optimization work that broke f_code/f_frame) it won't provide any value to users? I don't see how that's a good idea. -- ___ Python tracker <https://bugs.python.org/issue46836> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue46835] ImportError: bad magic number in ... does not indicate where is that file located
Petr Viktorin added the comment: I assume a PR review should be enough. -- components: +Library (Lib) -Interpreter Core ___ Python tracker <https://bugs.python.org/issue46835> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue46748] Python.h includes stdbool.h
Petr Viktorin added the comment: It is in C99, but in an optional header. IMO, including the header in the internals is perfectly OK, but opting everyone else in isn't very nice. i.e. it would probably be OK to use `_Bool`, the actual C99 keyword that `bool` is defined as. But that's ugly enough to prefer `int`... -- ___ Python tracker <https://bugs.python.org/issue46748> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue46748] Python.h includes stdbool.h
Petr Viktorin added the comment: Yes, stdbool.h is essentially a backport of C++'s bool type to C. -- ___ Python tracker <https://bugs.python.org/issue46748> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue46748] Python.h includes stdbool.h
New submission from Petr Viktorin : In main, cpython/pystate.h newly includes stdbool.h, providing a definition for `bool` that might be incompatible with other software. See here: https://github.com/cmusphinx/sphinxbase/pull/90 Eric, is this necessary? Would an old-school `int` do? Or should we say it's 2022 already and everyone needs to use stdbool.hfore bools? -- messages: 413216 nosy: eric.snow, petr.viktorin priority: normal severity: normal status: open title: Python.h includes stdbool.h versions: Python 3.11 ___ Python tracker <https://bugs.python.org/issue46748> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue46613] Add PyType_GetModuleByDef to the public & limited API
Petr Viktorin added the comment: It's in public API, adding it to limited is still pending. -- ___ Python tracker <https://bugs.python.org/issue46613> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue46613] Add PyType_GetModuleByDef to the public & limited API
Petr Viktorin added the comment: New changeset 204946986feee7bc80b233350377d24d20fcb1b8 by Petr Viktorin in branch 'main': bpo-46613: Add PyType_GetModuleByDef to the public API (GH-31081) https://github.com/python/cpython/commit/204946986feee7bc80b233350377d24d20fcb1b8 -- ___ Python tracker <https://bugs.python.org/issue46613> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue46433] _PyType_GetModuleByDef optimization is incorrect
Change by Petr Viktorin : -- resolution: -> fixed stage: patch review -> resolved status: open -> closed ___ Python tracker <https://bugs.python.org/issue46433> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue46433] _PyType_GetModuleByDef optimization is incorrect
Petr Viktorin added the comment: New changeset 8b8673fe940c4ebc4512bff5af180b66def3d1ae by Petr Viktorin in branch '3.10': [3.10] bpo-46433: _PyType_GetModuleByDef: handle static types in MRO (GH-30696) (GH-31262) https://github.com/python/cpython/commit/8b8673fe940c4ebc4512bff5af180b66def3d1ae -- ___ Python tracker <https://bugs.python.org/issue46433> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue46433] _PyType_GetModuleByDef optimization is incorrect
Petr Viktorin added the comment: Just 3.10, after all. 3.9 doesn't have the function yet. I did the backport, but I'd welcome a review by a fresh set of eyes! -- versions: -Python 3.9 ___ Python tracker <https://bugs.python.org/issue46433> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue46433] _PyType_GetModuleByDef optimization is incorrect
Change by Petr Viktorin : -- pull_requests: +29429 stage: backport needed -> patch review pull_request: https://github.com/python/cpython/pull/31262 ___ Python tracker <https://bugs.python.org/issue46433> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue45413] Add install scheme for virtual environments
Petr Viktorin added the comment: > I think we want the scheme to be static and accessible on all platforms, like > the others. So it probably should be 'nt_venv' and 'posix_venv' with > additional/improved logic to help apps determine when they need each. Why? (This is a real question, I genuinely don't know.) To put this in context, this has been discussed since October, and there was agreement on how to change it. Now a PR exists. It is tested. Also, since this fixes urgent breaking changes, patches for "venv" is already in Fedora and Ubuntu deadsnakes PPA, and virtualenv also supports it. Changing direction now will mean lots of work changing and re-testing anything. That's definitely possible, just frustrating, but if someone calls to change something again, we risk not making it in 3.11. How can we ensure the decision won't change again? How can these discussions be made more effective? -- ___ Python tracker <https://bugs.python.org/issue45413> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue46640] Python can now use the C99 NAN constant or __builtin_nan()
Petr Viktorin added the comment: > IMO this PEP is outdated for a long time. It is not. Even if it is, it should be marked as such, and that is not a decision that should be done in this issue. Please, don't break the rules because you think they're outdated. > Well, if you ask me, I would simply require a C99 compiler. That's all :-) Please propose that change. Perhaps it would be a good change to make, but I don't even know how to determine that. Nor can I list the places where the change should be made -- at least there should be a What's New entry like https://docs.python.org/3.10/whatsnew/3.6.html#build-and-c-api-changes > Note: Python uses C11 , but it remains an optional requirement. That's fine. You can still build with an older compiler. -- ___ Python tracker <https://bugs.python.org/issue46640> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue46640] Python can now use the C99 NAN constant or __builtin_nan()
Petr Viktorin added the comment: Adding new C99 features needs a change in PEP 7 (https://www.python.org/dev/peps/pep-0007/#c-dialect) -- nosy: +petr.viktorin status: closed -> open ___ Python tracker <https://bugs.python.org/issue46640> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue46433] _PyType_GetModuleByDef optimization is incorrect
Petr Viktorin added the comment: Almost. It's a bugfix so it needs backports to 3.10 & 3.9. Thanks for the reminder! I should get to them next week. -- status: pending -> open ___ Python tracker <https://bugs.python.org/issue46433> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue42222] Modernize integer test/conversion in randrange()
Petr Viktorin added the comment: Since this is a user-visible change in 3.11, could you add a What's New entry? -- nosy: +petr.viktorin ___ Python tracker <https://bugs.python.org/issue4> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue46613] Add PyType_GetModuleByDef to the public & limited API
Change by Petr Viktorin : -- keywords: +patch pull_requests: +29264 stage: -> patch review pull_request: https://github.com/python/cpython/pull/31081 ___ Python tracker <https://bugs.python.org/issue46613> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue46613] Add PyType_GetModuleByDef to the public & limited API
New submission from Petr Viktorin : _PyType_GetModuleByDef (added in bpo-42100)allows module state access from slot methods (like tp_init or nb_add), the main thing missing from PEP 573 (Module State Access from C Extension Methods). It's time to make it public. The function itself can be implemented using only limited API, though it's a bit tricky to do so correctly (and our implementation uses private speedups), so it's better if extension authors can use it as a pre-made building block. Discussed in: https://mail.python.org/archives/list/capi-...@python.org/thread/WMSDNMQ7A6LE6X4MQW4QAQUKDDL7MJ72/ Note that a bug was found in the CPython optimization recently: bpo-46433 -- components: C API messages: 412378 nosy: petr.viktorin priority: normal severity: normal status: open title: Add PyType_GetModuleByDef to the public & limited API versions: Python 3.11 ___ Python tracker <https://bugs.python.org/issue46613> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue45703] importlib.invalidate_caches() does not invalidate _NamespacePath's _last_parent_path-based cache
Change by Petr Viktorin : -- resolution: -> fixed stage: patch review -> resolved status: open -> closed ___ Python tracker <https://bugs.python.org/issue45703> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue45703] importlib.invalidate_caches() does not invalidate _NamespacePath's _last_parent_path-based cache
Change by Petr Viktorin : -- pull_requests: +29260 pull_request: https://github.com/python/cpython/pull/31076 ___ Python tracker <https://bugs.python.org/issue45703> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue46355] [C API] Document PyFrameObject and PyThreadState changes and explain how to port code to Python 3.11
Petr Viktorin added the comment: > I would hope that competent C programmers would know not to read or write to > undocumented fields. But if they come from a Python background, that might > not be obvious. Tread carefully when changing decades-old API, documented or not. The docs weren't always as useful and complete as they are now. > If the advice for something is "use Python", we should probably add an API > function. Not really. If PyObject_GetAttrString doesn't add too much overhead, IMO it's fine to use it. -- ___ Python tracker <https://bugs.python.org/issue46355> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue46355] [C API] Document PyFrameObject and PyThreadState changes and explain how to port code to Python 3.11
Change by Petr Viktorin : -- nosy: +petr.viktorin nosy_count: 2.0 -> 3.0 pull_requests: +29215 pull_request: https://github.com/python/cpython/pull/31032 ___ Python tracker <https://bugs.python.org/issue46355> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue44734] turtle: tests for Vec2D.__abs__ are too strict
Change by Petr Viktorin : -- stage: patch review -> resolved status: open -> closed ___ Python tracker <https://bugs.python.org/issue44734> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue44734] turtle: tests for Vec2D.__abs__ are too strict
Petr Viktorin added the comment: New changeset aa78287bc6d1c4fc07ee134642eb72db67b771a0 by Karolina Surma in branch 'main': bpo-44734: Fix floating point precision in test_turtle (GH-30910) https://github.com/python/cpython/commit/aa78287bc6d1c4fc07ee134642eb72db67b771a0 -- ___ Python tracker <https://bugs.python.org/issue44734> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue44734] turtle: tests for Vec2D.__abs__ are too strict
Petr Viktorin added the comment: > The first and last test should use assertAlmostEqual with a suitable > tolerance (the default tolerance is probably fine). The merged PR only added tolerance to the last test. On some architectures, the first test still fails. (No one is to blame -- this comment should apply to one line but GitHub shows two lines as context: https://github.com/python/cpython/pull/27343#pullrequestreview-714345826 ) Karolina's new PR is waiting for CLA confirmation. -- nosy: +petr.viktorin status: closed -> open ___ Python tracker <https://bugs.python.org/issue44734> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue45703] importlib.invalidate_caches() does not invalidate _NamespacePath's _last_parent_path-based cache
Petr Viktorin added the comment: Embarassingly, it seems it bust needs regen-importlib, at least for 3.10 -- ___ Python tracker <https://bugs.python.org/issue45703> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue45703] importlib.invalidate_caches() does not invalidate _NamespacePath's _last_parent_path-based cache
Change by Petr Viktorin : -- pull_requests: +29101 pull_request: https://github.com/python/cpython/pull/30922 ___ Python tracker <https://bugs.python.org/issue45703> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue46513] AC_C_CHAR_UNSIGNED from configure.ac confuses GCC 12+ by defining __CHAR_UNSIGNED__
Petr Viktorin added the comment: Yeah, that looks like it's for some long-forgotten compiler that didn't implement `signed char` at all. 1994 was a fun time, apparently. -- nosy: -miss-islington ___ Python tracker <https://bugs.python.org/issue46513> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue22079] Ensure in PyType_Ready() that base class of static type is static
Petr Viktorin added the comment: > Is there a reason to not add these fields to PyTypeObject? Can't say I haven't thought of that, but AFAIK it would mean breaking the C API substantially. Even if not it'd be a PEP-sized change, IMO. -- nosy: +petr.viktorin ___ Python tracker <https://bugs.python.org/issue22079> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue46404] 3.11a4: a small attrs regression
Petr Viktorin added the comment: I guess at least there should be a warning about this in dataclasses docs? The reproducer with dataclasses (which exhibits the same error on 3.10 and 3.11): import dataclasses @dataclasses.dataclass(slots=True) class A: pass @dataclasses.dataclass(slots=True) class B(A): def test(self): super() B().test() -- nosy: +petr.viktorin ___ Python tracker <https://bugs.python.org/issue46404> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue46417] Clear static types in Py_Finalize() for embedded Python
Petr Viktorin added the comment: > Sharing objects between interpreters is bad That's your opinion, I don't necessarily share it. > and is causing complex bugs. But converting static things (types, small ints) to heap is also causing bugs :( Anyway, for this issue: is there a way to test if the types are correctly reinitialized if there are multiple finalize/init cycles? I worry about introducing more unexpected issues here. -- ___ Python tracker <https://bugs.python.org/issue46417> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue46433] _PyType_GetModuleByDef optimization is incorrect
Change by Petr Viktorin : -- keywords: +patch pull_requests: +28894 stage: -> patch review pull_request: https://github.com/python/cpython/pull/30696 ___ Python tracker <https://bugs.python.org/issue46433> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue46433] _PyType_GetModuleByDef optimization is incorrect
New submission from Petr Viktorin : I'm looking at the _PyType_GetModuleByDef optimization in https://github.com/python/cpython/pull/25504/files -- previously I assumed it's OK since it passed review. But it doesn't look correct: - in the `_PyType_HasFeature` assert, we should be looking at `super` rather than `type` - it's definitely possible that a hear type has a static type in the MRO -- `object`, at least. The `(PyHeapTypeObject*)super` cast is invalid in the case when the module is not found. And it's *also* incorrect in some cases of diamond inheritance, when a static type comes before the type we're looking for in `bases`. It also adds a precondition that's not feasible public API, which this was meant to become: it should be callable with any type object. That's possible to do by keeping faster internal API and adding a public version with checks, but the diamond inheritance problem remains. Py_TPFLAGS_HEAPTYPE needs to be checked at runtime (except for the first iteration, if we're sure we're handling a static type). Does that analysis sound right? -- messages: 410962 nosy: petr.viktorin, vstinner priority: normal severity: normal status: open title: _PyType_GetModuleByDef optimization is incorrect versions: Python 3.11 ___ Python tracker <https://bugs.python.org/issue46433> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue46376] PyMapping_Check returns 1 for list
Petr Viktorin added the comment: I'd post it to capi-sig, or to the existing thread on python-dev. But here's a good place too, especially if you want feedback from a smaller group of people first. -- ___ Python tracker <https://bugs.python.org/issue46376> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue46431] Trouble subclassing ExceptionGroup
Petr Viktorin added the comment: > can you just assign the task to a field on the exception other than __note__? That might work, but I'm afraid of touching namespaces I don't own. If the subclass is feasible, I'd rather go with that. -- ___ Python tracker <https://bugs.python.org/issue46431> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue46431] Trouble subclassing ExceptionGroup
Petr Viktorin added the comment: Thanks for looking into it! > If you don't define derive the superclass constructor is used, which means > you get something of type ExceptionGroup, not your subclass. That might be fine in my case (for a MVP at least). Is there any other danger in not overriding it? I see the docs say "A subclass needs to override it", but it might be better to enumerate the perils, or if such a class is unusable, not allow creating it. -- ___ Python tracker <https://bugs.python.org/issue46431> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue46376] PyMapping_Check returns 1 for list
Petr Viktorin added the comment: Changing the existing functions is a no-go for backwards compatibility reasons. I think the best way forward would be to add a new function, and then possibly deprecate the old one if it's deemed dangerous. If you want to push this forward, could you summarize the use case(s) and expected behavior (docs) for such a function? It probably doesn't need a PEP, but it's worth looking here for what to think about when making a proposal: https://www.python.org/dev/peps/pep-0001/#what-belongs-in-a-successful-pep -- nosy: +petr.viktorin ___ Python tracker <https://bugs.python.org/issue46376> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue46431] Trouble subclassing ExceptionGroup
New submission from Petr Viktorin : I want to test a web application by crawling every reachable page. If an error occurs, I need to keep track of the page the error occured at (and additional info like what links were followed to get to the page, so a `__note__` string isn't enough). This info is in an object I'll call Task. To use the improvements from PEP 654 but also keep extra info, I tried to make a subclass of ExceptionGroup: ```python class MultiError(ExceptionGroup): def __init__(self, failed_tasks): super.__init__( f"{len(tasks)} tasks failed", [t.exception for t in failed_tasks], ) self.tasks = tasks # ... and set __note__ on each exception for nice tracebacks ``` but this fails with a rather opaque message: ```python >>> class Task: exception = AssertionError() # enough of a Task for this >>> example ... >>> MultiError([Task(), Task()]) Traceback (most recent call last): File "", line 1, in TypeError: function takes exactly 2 arguments (1 given) ``` Knowing about `__new__` and following a note in the docs, I'm able to fix this, but It's not obvious. Before suggesting stuff, I'll ask: Am I doing something weird, or should this be made easier/more obvious? Another issue I ran into: the list of exceptions is stored in the publicly-named but undocumented attribute `exceptions`. Am I allowed to use it? -- messages: 410942 nosy: iritkatriel, petr.viktorin priority: normal severity: normal status: open title: Trouble subclassing ExceptionGroup versions: Python 3.11 ___ Python tracker <https://bugs.python.org/issue46431> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue46417] [subinterpreters] Clear static types in Py_Finalize()
Petr Viktorin added the comment: If we have static types, that means there is a mechanism to share some objects across interpreters. And if that's the case, why can't small ints (like sys.float_info.n_unnamed_fields) be static & shared as well? -- nosy: +petr.viktorin ___ Python tracker <https://bugs.python.org/issue46417> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue22039] PyObject_SetAttr doesn't mention value = NULL
Petr Viktorin added the comment: This cannot be changed in 3.x, since the PyObject_DelAttr macro calls PyObject_SetAttr(..., NULL), and the macro is expanded in all extensions that use the stable ABI. (Technically, it would be possible to add a PyObject_SetAttr *macro* that would warn/fail, while keeping the PyObject_SetAttr *function* untouched, but that would be a pain to test/maintain.) The wording could be clarified to something like: "This behaviour is deprecated in favour of using PyObject_DelAttr(), but there are currently no plans to remove it." -- ___ Python tracker <https://bugs.python.org/issue22039> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue46283] [subinterpreters] Unicode interned strings must not be shared between interpreters
Petr Viktorin added the comment: Another proposed alternative is to make these immortal, and share them. There were some discussions about this, but no PEP to capture the pros/cons of the alternatives and the decision. -- nosy: +petr.viktorin ___ Python tracker <https://bugs.python.org/issue46283> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue46070] [subinterpreters] asyncio crash when importing _asyncio in subinterpreter (Python 3.8 regression)
Petr Viktorin added the comment: > The problem is that this change fixed another bug, well, see: bpo-44050. > While a revert should fix win_py399_crash_reproducer.py, it will reintroduce > bpo-44050 bug. bpo-44050 is an attempt to fix a regression introduced in bpo-38858, perhaps that regression should be reverted as well? -- ___ Python tracker <https://bugs.python.org/issue46070> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue38735] PYTHONPYCACHEPREFIX fails when importing a module from the root ("/")
Petr Viktorin added the comment: Here's a patch, but testing it would require putting a file in the root directory. I don't dare do that from the test suite. Is one-time manual testing OK here? -- ___ Python tracker <https://bugs.python.org/issue38735> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue38735] PYTHONPYCACHEPREFIX fails when importing a module from the root ("/")
Change by Petr Viktorin : -- keywords: +patch nosy: +petr.viktorin nosy_count: 2.0 -> 3.0 pull_requests: +28660 stage: -> patch review pull_request: https://github.com/python/cpython/pull/30456 ___ Python tracker <https://bugs.python.org/issue38735> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue42032] Setting PYTHONPYCACHEPREFIX using ~ (tilde) creates a "~" folder
Petr Viktorin added the comment: > It would perhaps be useful if the os.path.expanduser call was added in the > cache_from_source() function in importlib? No: that would mean Python would be doing work that the shell should do. Possibly it would be duplicating the work. Possibly it would be doing it wrong. What if your shell uses ⌂ rather than ~? What if the shell has a different idea of what the home directory is? Remember, you can use Python with any shell, not just Unix/POSIX command-line ones (which is what os.path.expanduser emulates). Thanks for reporting the issue, though! The separation of concerns definitely isn't obvious at first. -- nosy: +petr.viktorin resolution: -> not a bug stage: -> resolved status: open -> closed ___ Python tracker <https://bugs.python.org/issue42032> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue46006] [subinterpreter] _PyUnicode_EqualToASCIIId() issue with subinterpreters
Petr Viktorin added the comment: > Personally, I'd rather we not revert the original change. Even in 3.10? Your PR looks pretty heavy for a bugfix release, and won't apply cleanly to 3.10. > Moving the data to _PyRuntimeState would save me some effort with related > work I'm doing right now. I guess that's what makes the PR hard to review. What's the plan (or are there more conflicting plans), and what's the state in 3.10 vs. main? -- nosy: +petr.viktorin ___ Python tracker <https://bugs.python.org/issue46006> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue40421] [C API] Add getter functions for PyFrameObject and maybe move PyFrameObject to the internal C API
Petr Viktorin added the comment: The docs for PyFrame_GetCode say it's returning an "int". https://docs.python.org/3/c-api/reflection.html#c.PyFrame_GetCode Same for PyFrame_GetBack. Are there more? "Get the frame code." is not very clear. Could this link to https://docs.python.org/3/c-api/code.html ? -- nosy: +petr.viktorin ___ Python tracker <https://bugs.python.org/issue40421> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue45383] PyType_FromSpec API fails to use metaclass of bases
Petr Viktorin added the comment: Nice! It's starting to look reasonable, I'll try an implementation when I get some focus time. (Sadly I can't promise it'll be this year.) Just one detail: > A flag probably can do the same. I have no preference, `ApplySpec` seems > great to me. I didn't get what you mean here. -- ___ Python tracker <https://bugs.python.org/issue45383> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue45383] PyType_FromSpec API fails to use metaclass of bases
Petr Viktorin added the comment: I don't see how instantiating a metaclass with non-default tp_new would work if you don't know some details about the specific metaclass. So IMO we can we limit ourselves to scenarios where either: 1) the metaclass uses default tp_new, or 2) the code that creates the class knows about the metaclass For case 2), we could leave allocation to the calling code, and add an API function that does the rest of the work of applying the spec. Something like: /* Create a metaclass */ metatype_spec = {stuff}; metatype = PyType_FromSpecAndBases(&metatype_spec, &PyType_Type); /* Create a type */ type_spec = {other_stuff}; newtype = alloc_metatype(); PyType_ApplySpec(newtype, &type_spec); PyType_ApplySpec would assert PyType_Ready wasn't called before, and call it after filling in the name, slots, etc. The metatype could disable its tp_new to disallow PyType_FromSpec (and Python __new__), effectively enforcing "using_metaclass_cinit_pretty_promise_please". There could be a slot for code to run at the end of PyType_ApplySpec -- the "PyArray_InitDTypeFromSpec" in your pseudocode. That seems better than calling the metaclass, but to answer questions on that idea: >> - basicsize/itemsize could be allowed with __basicsize__/__itemsize__ in the >> dict. >Do we need this? I need the basicsize of the metaclass, but that of the class >seems fixed/OK? That's the size of the instance. One more level down :) >> - members could theoretically be copied to individual descriptors; there >> doesn't seem much need for keeping tp_members around. > But a Python MetaClass (that the author may not even realize about) might > need access to these to work properly? > A bit far fetched, but... Seems very far-fetched to me. IMO these, like e.g. tp_methods, should only be used as arguments for the code that puts the descriptors in __dict__. How the descriptors got there is a detail, the class doesn't need to use tp_members (nor advertise that it does). -- ___ Python tracker <https://bugs.python.org/issue45383> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue46070] broken subinterpreters
Petr Viktorin added the comment: That was a fix for GH-17350, which might need to be reverted as well. Victor, could you take another look at GH-17350? I must admit I (still) don't understand this change; what would break if it was reverted (along with the fixup from bpo-44050)? -- ___ Python tracker <https://bugs.python.org/issue46070> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue46070] broken subinterpreters
Petr Viktorin added the comment: Interned strings were broken in GH-20058, see bpo-46006. Maybe that's also the issue here? -- nosy: +vstinner ___ Python tracker <https://bugs.python.org/issue46070> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue45383] PyType_FromSpec API fails to use metaclass of bases
Petr Viktorin added the comment: I haven't forgotten this issue, but when I get to it it always leads to a rabbit hole. Sometimes just chasing refleaks, but there are deeper issues as well. AFAICS, there's no way to call metatype.tp_new for such a class. I guess the safest option is to fail when the metaclass has a custom tp_new -- because that means the metaclass is requesting that it wants to allocate/initialize its types itself. We can call metatype.tp_init, and probably should. And __init_subclass__ too, I suppose. But at that point, this is duplicating a lot of existing functionality, and I'm starting to wonder if this wouldn't all be better with calling the metaclass instead. What's missing? - basicsize/itemsize could be allowed with __basicsize__/__itemsize__ in the dict. - flags: we could add mechanisms to set individual flags after the type is created, as needed. - slots can usually be applied after the class is created; maybe there should be a public function for this. - members could theoretically be copied to individual descriptors; there doesn't seem much need for keeping tp_members around. Does that seem like a more reasonable direction to explore? -- ___ Python tracker <https://bugs.python.org/issue45383> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue45459] Limited API support for Py_buffer
Petr Viktorin added the comment: The current struct is also likely to continue covering most future uses. If we decide to add PyBufferEx functions but continue providing the current ones (with the current struct), most users won't be affected. (But it'll be a bit more work for us than throwing the old API out entirely.) -- ___ Python tracker <https://bugs.python.org/issue45459> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue45459] Limited API support for Py_buffer
Petr Viktorin added the comment: Antoine has a good point. We can freeze the Py_buffer struct. If it needs to be extended in the future, it'll need a new set of functions and names -- and perhaps a versioning scheme. We'll know more about the problem when/if it comes up. -- ___ Python tracker <https://bugs.python.org/issue45459> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue46007] [C API] PyUnicode_CHECK_INTERNED() doesn't work in the limited C API
Petr Viktorin added the comment: +1, PyUnicodeObject/PyASCIIObject is excluded from the limited API since Python 3.2, so it wasn't possible to use this macro. -- ___ Python tracker <https://bugs.python.org/issue46007> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue45703] importlib.invalidate_caches() does not invalidate _NamespacePath's _last_parent_path-based cache
Petr Viktorin added the comment: Sadly, the backport is non-trivial. I'm putting on my TODO list, but I doubt I'll get to it soon :( -- ___ Python tracker <https://bugs.python.org/issue45703> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue43795] Implement PEP 652 -- Maintaining the Stable ABI
Change by Petr Viktorin : -- pull_requests: +28180 pull_request: https://github.com/python/cpython/pull/29956 ___ Python tracker <https://bugs.python.org/issue43795> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue27580] CSV Null Byte Error
Petr Viktorin added the comment: *docutils, not distutils -- ___ Python tracker <https://bugs.python.org/issue27580> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue27580] CSV Null Byte Error
Petr Viktorin added the comment: The NUL check was around for a long time, available to be used (XKCD-1172 style) as a simple check against reading binary files. The change did break tests of distutils. Maybe it deserves a What's New entry? -- nosy: +petr.viktorin ___ Python tracker <https://bugs.python.org/issue27580> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue45703] importlib.invalidate_caches() does not invalidate _NamespacePath's _last_parent_path-based cache
Petr Viktorin added the comment: Now, is this a bugfix, or a new feature? I lean toward calling it a bugfix and backporting to earlier versions. -- ___ Python tracker <https://bugs.python.org/issue45703> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue45035] sysconfig's posix_home scheme has different platlib value to distutils's unix_home
Petr Viktorin added the comment: Yes. This is a minor bug in the deprecated distutils module. -- resolution: -> wont fix stage: patch review -> resolved status: open -> closed ___ Python tracker <https://bugs.python.org/issue45035> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue34451] docs: tutorial/introduction doesn't mention toggle of prompts
Change by Petr Viktorin : -- resolution: -> fixed status: -> closed ___ Python tracker <https://bugs.python.org/issue34451> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue45775] Implementation of colorsys.rgb_to_yuv and vice versa
Petr Viktorin added the comment: > YUV is a common color encoding system. It's used by the JPEG image format and > MPEG video format for example. As far as I understand it, the YUV/RGB conversion used by JPEG is not the same as the one used by MPEG, and neither of those is the Rec 709 YUV proposed here. YUV is used in video production and photography. If you need to work with it, you most likely need some kind of precise color matching. If colorsys implements the wrong one *for you* (even if it's the most commonly used one, and what HDTV uses), then the stdlib has failed you. Meanwhile, RGB/HLS is used by Web designers writing CSS, GUI authors giving you a big green button to click, or color pickers for your avatar's hair. They're designing for uncalibrated monitors. *That* is the target audience for colorsys. The image libraries these people use to read JPGs invariably convert to RGB and throw away any precise color information, which is meaningless on uncalibrated monitors. I cannot see a use case for YUV in colorsys that doesn't also require a more complex image processing library. It's that library that should provide the necessary colorspace conversions, depending on if it's dealing with JPEG or MPEG or HDTV. But please point out my mistakes and clear my doubts! -- ___ Python tracker <https://bugs.python.org/issue45775> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue45783] test_freeze fails if a file is removed
Change by Petr Viktorin : -- resolution: -> fixed stage: patch review -> resolved status: open -> closed ___ Python tracker <https://bugs.python.org/issue45783> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue45783] test_freeze fails if a file is removed
Petr Viktorin added the comment: New changeset 8ed1495ad900dd815ff8fb97926da5312aaa23f9 by Eric Snow in branch 'main': bpo-45783: Preserve file moves and deletions in the tests for the freeze tool. (GH-29527) https://github.com/python/cpython/commit/8ed1495ad900dd815ff8fb97926da5312aaa23f9 -- ___ Python tracker <https://bugs.python.org/issue45783> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue45126] [sqlite3] cleanup and harden Connection and Cursor __init__
Petr Viktorin added the comment: I think it's a good idea, but without the "will be disallowed in Python 3.13" part -- we should tell people that it's discouraged, but there's not much point in removing it. But there's no consensus whether that's a good way to handle things, in general. So I'll leave it up to you. -- status: pending -> open ___ Python tracker <https://bugs.python.org/issue45126> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue44445] Add `site-include` install scheme path in sysconfig
Change by Petr Viktorin : -- keywords: +patch nosy: +petr.viktorin nosy_count: 7.0 -> 8.0 pull_requests: +27958 stage: -> patch review pull_request: https://github.com/python/cpython/pull/29578 ___ Python tracker <https://bugs.python.org/issue5> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue45848] Pegen's nice error reporting crashes with non-UTF-8 files
Petr Viktorin added the comment: Wow! Thank you for the quick fix! -- ___ Python tracker <https://bugs.python.org/issue45848> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue45848] Pegen's nice error reporting crashes with non-UTF-8 files
Change by Petr Viktorin : -- title: Pegen's nice error reporting crashes non-UTF-8 files -> Pegen's nice error reporting crashes with non-UTF-8 files ___ Python tracker <https://bugs.python.org/issue45848> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue45848] Pegen's nice error reporting crashes non-UTF-8 files
New submission from Petr Viktorin : Parsing a script with non-UTF-8 encoding and a missing close parenthesis, like a file with the following 2 lines: # encoding: ascii ( ... crashes with: python: Parser/pegen.c:408: get_error_line: Assertion `p->tok->fp == NULL || p->tok->fp == stdin' failed. Aborted (core dumped) -- components: Parser files: missing_paren_ascii.py messages: 406602 nosy: lys.nikolaou, pablogsal, petr.viktorin priority: normal severity: normal status: open title: Pegen's nice error reporting crashes non-UTF-8 files Added file: https://bugs.python.org/file50451/missing_paren_ascii.py ___ Python tracker <https://bugs.python.org/issue45848> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue45775] Implementation of colorsys.rgb_to_yuv and vice versa
Petr Viktorin added the comment: I argued for keeping colorsys: RGB/HLS/HSV are useful in several fields. Colorsys is a nice low-power battery to have around for e.g. picking a color for highlighting any kind of output. YIQ is the odd one out: it describes actual color, rather than instructions for a monitor. I think that if you need YIQ, YUV, CMYK, sRGB, XYZ or Lab, you should reach for a more specialized library. In other words, I don't see YIQ as an example to be followed. -- nosy: +petr.viktorin ___ Python tracker <https://bugs.python.org/issue45775> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com