<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/cpython-git.git/Python/clinic, branch main</title>
<subtitle>github.com: python/cpython.git
</subtitle>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/'/>
<entry>
<title>gh-84436: Implement Immortal Objects (gh-19474)</title>
<updated>2023-04-22T19:39:37+00:00</updated>
<author>
<name>Eddie Elizondo</name>
<email>eduardo.elizondorueda@gmail.com</email>
</author>
<published>2023-04-22T19:39:37+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=ea2c0016502472aa8baa3149050ada776d17a009'/>
<id>ea2c0016502472aa8baa3149050ada776d17a009</id>
<content type='text'>
This is the implementation of PEP683

Motivation:

The PR introduces the ability to immortalize instances in CPython which bypasses reference counting. Tagging objects as immortal allows up to skip certain operations when we know that the object will be around for the entire execution of the runtime.

Note that this by itself will bring a performance regression to the runtime due to the extra reference count checks. However, this brings the ability of having truly immutable objects that are useful in other contexts such as immutable data sharing between sub-interpreters.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is the implementation of PEP683

Motivation:

The PR introduces the ability to immortalize instances in CPython which bypasses reference counting. Tagging objects as immortal allows up to skip certain operations when we know that the object will be around for the entire execution of the runtime.

Note that this by itself will bring a performance regression to the runtime due to the extra reference count checks. However, this brings the ability of having truly immutable objects that are useful in other contexts such as immutable data sharing between sub-interpreters.</pre>
</div>
</content>
</entry>
<entry>
<title>GH-103082: Implementation of PEP 669: Low Impact Monitoring for CPython (GH-103083)</title>
<updated>2023-04-12T11:04:55+00:00</updated>
<author>
<name>Mark Shannon</name>
<email>mark@hotpy.org</email>
</author>
<published>2023-04-12T11:04:55+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=411b1692811b2ecac59cb0df0f920861c7cf179a'/>
<id>411b1692811b2ecac59cb0df0f920861c7cf179a</id>
<content type='text'>
* The majority of the monitoring code is in instrumentation.c

* The new instrumentation bytecodes are in bytecodes.c

* legacy_tracing.c adapts the new API to the old sys.setrace and sys.setprofile APIs
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* The majority of the monitoring code is in instrumentation.c

* The new instrumentation bytecodes are in bytecodes.c

* legacy_tracing.c adapts the new API to the old sys.setrace and sys.setprofile APIs
</pre>
</div>
</content>
</entry>
<entry>
<title>gh-98627: Add an Optional Check for Extension Module Subinterpreter Compatibility (gh-99040)</title>
<updated>2023-02-16T01:16:00+00:00</updated>
<author>
<name>Eric Snow</name>
<email>ericsnowcurrently@gmail.com</email>
</author>
<published>2023-02-16T01:16:00+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=89ac665891dec1988bedec2ce9b2c4d016502a49'/>
<id>89ac665891dec1988bedec2ce9b2c4d016502a49</id>
<content type='text'>
Enforcing (optionally) the restriction set by PEP 489 makes sense. Furthermore, this sets the stage for a potential restriction related to a per-interpreter GIL.

This change includes the following:

* add tests for extension module subinterpreter compatibility
* add _PyInterpreterConfig.check_multi_interp_extensions
* add Py_RTFLAGS_MULTI_INTERP_EXTENSIONS
* add _PyImport_CheckSubinterpIncompatibleExtensionAllowed()
* fail iff the module does not implement multi-phase init and the current interpreter is configured to check

https://github.com/python/cpython/issues/98627</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Enforcing (optionally) the restriction set by PEP 489 makes sense. Furthermore, this sets the stage for a potential restriction related to a per-interpreter GIL.

This change includes the following:

* add tests for extension module subinterpreter compatibility
* add _PyInterpreterConfig.check_multi_interp_extensions
* add Py_RTFLAGS_MULTI_INTERP_EXTENSIONS
* add _PyImport_CheckSubinterpIncompatibleExtensionAllowed()
* fail iff the module does not implement multi-phase init and the current interpreter is configured to check

https://github.com/python/cpython/issues/98627</pre>
</div>
</content>
</entry>
<entry>
<title>gh-39615: Add warnings.warn() skip_file_prefixes support (#100840)</title>
<updated>2023-01-28T02:35:14+00:00</updated>
<author>
<name>Gregory P. Smith</name>
<email>greg@krypto.org</email>
</author>
<published>2023-01-28T02:35:14+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=052f53d65d9f65c7c3223a383857ad07a182c2d7'/>
<id>052f53d65d9f65c7c3223a383857ad07a182c2d7</id>
<content type='text'>
`warnings.warn()` gains the ability to skip stack frames based on code
filename prefix rather than only a numeric `stacklevel=` via a new
`skip_file_prefixes=` keyword argument.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
`warnings.warn()` gains the ability to skip stack frames based on code
filename prefix rather than only a numeric `stacklevel=` via a new
`skip_file_prefixes=` keyword argument.</pre>
</div>
</content>
</entry>
<entry>
<title>gh-86682: Adds sys._getframemodulename as an alternative to using _getframe (GH-99520)</title>
<updated>2023-01-13T11:31:06+00:00</updated>
<author>
<name>Steve Dower</name>
<email>steve.dower@python.org</email>
</author>
<published>2023-01-13T11:31:06+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=b5d4347950399800c6703736d716f08761b29245'/>
<id>b5d4347950399800c6703736d716f08761b29245</id>
<content type='text'>
Also updates calls in collections, doctest, enum, and typing modules to use _getframemodulename first when available.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Also updates calls in collections, doctest, enum, and typing modules to use _getframemodulename first when available.</pre>
</div>
</content>
</entry>
<entry>
<title>gh-100776: Fix misleading default value in help(input) (#100788)</title>
<updated>2023-01-08T07:57:41+00:00</updated>
<author>
<name>Shantanu</name>
<email>12621235+hauntsaninja@users.noreply.github.com</email>
</author>
<published>2023-01-08T07:57:41+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=a2141882f259e21bb09fa0b7cba8142147b9e3d7'/>
<id>a2141882f259e21bb09fa0b7cba8142147b9e3d7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>gh-100357: Convert several functions in `bltinsmodule` to AC (#100358)</title>
<updated>2022-12-24T14:45:47+00:00</updated>
<author>
<name>Nikita Sobolev</name>
<email>mail@sobolevn.me</email>
</author>
<published>2022-12-24T14:45:47+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=bdfb6943861431a79e63f0da2e6b3fe163c12bc7'/>
<id>bdfb6943861431a79e63f0da2e6b3fe163c12bc7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Correct CVE-2020-10735 documentation (#100306)</title>
<updated>2022-12-18T07:11:21+00:00</updated>
<author>
<name>Jeremy Paige</name>
<email>ucodery@gmail.com</email>
</author>
<published>2022-12-18T07:11:21+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=1cf3d78c92eb07dc09d15cc2e773b0b1b9436825'/>
<id>1cf3d78c92eb07dc09d15cc2e773b0b1b9436825</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-15999: Accept arbitrary values for boolean parameters. (#15609)</title>
<updated>2022-12-03T19:52:21+00:00</updated>
<author>
<name>Serhiy Storchaka</name>
<email>storchaka@gmail.com</email>
</author>
<published>2022-12-03T19:52:21+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=a87c46eab3c306b1c5b8a072b7b30ac2c50651c0'/>
<id>a87c46eab3c306b1c5b8a072b7b30ac2c50651c0</id>
<content type='text'>
builtins and extension module functions and methods that expect boolean values for parameters now accept any Python object rather than just a bool or int type. This is more consistent with how native Python code itself behaves.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
builtins and extension module functions and methods that expect boolean values for parameters now accept any Python object rather than just a bool or int type. This is more consistent with how native Python code itself behaves.</pre>
</div>
</content>
</entry>
<entry>
<title>GH-98686: Quicken everything (GH-98687)</title>
<updated>2022-11-02T17:42:57+00:00</updated>
<author>
<name>Brandt Bucher</name>
<email>brandtbucher@microsoft.com</email>
</author>
<published>2022-11-02T17:42:57+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=276d77724f2373cc03838448a3e62977aa28bf0d'/>
<id>276d77724f2373cc03838448a3e62977aa28bf0d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
