<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/cpython-git.git/Include/cpython, 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-103763: Implement PEP 695 (#103764)</title>
<updated>2023-05-16T03:36:23+00:00</updated>
<author>
<name>Jelle Zijlstra</name>
<email>jelle.zijlstra@gmail.com</email>
</author>
<published>2023-05-16T03:36:23+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=24d8b88420b81fc60aeb0cbcacef1e72d633824a'/>
<id>24d8b88420b81fc60aeb0cbcacef1e72d633824a</id>
<content type='text'>
This implements PEP 695, Type Parameter Syntax. It adds support for:

- Generic functions (def func[T](): ...)
- Generic classes (class X[T](): ...)
- Type aliases (type X = ...)
- New scoping when the new syntax is used within a class body
- Compiler and interpreter changes to support the new syntax and scoping rules 

Co-authored-by: Marc Mueller &lt;30130371+cdce8p@users.noreply.github.com&gt;
Co-authored-by: Eric Traut &lt;eric@traut.com&gt;
Co-authored-by: Larry Hastings &lt;larry@hastings.org&gt;
Co-authored-by: Alex Waygood &lt;Alex.Waygood@Gmail.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This implements PEP 695, Type Parameter Syntax. It adds support for:

- Generic functions (def func[T](): ...)
- Generic classes (class X[T](): ...)
- Type aliases (type X = ...)
- New scoping when the new syntax is used within a class body
- Compiler and interpreter changes to support the new syntax and scoping rules 

Co-authored-by: Marc Mueller &lt;30130371+cdce8p@users.noreply.github.com&gt;
Co-authored-by: Eric Traut &lt;eric@traut.com&gt;
Co-authored-by: Larry Hastings &lt;larry@hastings.org&gt;
Co-authored-by: Alex Waygood &lt;Alex.Waygood@Gmail.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>gh-104341: Adjust tstate_must_exit() to Respect Interpreter Finalization (gh-104437)</title>
<updated>2023-05-15T19:59:26+00:00</updated>
<author>
<name>Eric Snow</name>
<email>ericsnowcurrently@gmail.com</email>
</author>
<published>2023-05-15T19:59:26+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=26baa747c2ebc2beeff769bb07b5fb5a51ad5f4b'/>
<id>26baa747c2ebc2beeff769bb07b5fb5a51ad5f4b</id>
<content type='text'>
With the move to a per-interpreter GIL, this check slipped through the cracks.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
With the move to a per-interpreter GIL, this check slipped through the cracks.</pre>
</div>
</content>
</entry>
<entry>
<title>GH-102181: Improve specialization stats for SEND (GH-102182)</title>
<updated>2023-05-10T22:40:59+00:00</updated>
<author>
<name>penguin_wwy</name>
<email>940375606@qq.com</email>
</author>
<published>2023-05-10T22:40:59+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=373bca0cc5256dc512ffc22bdff4424f7ee8baa2'/>
<id>373bca0cc5256dc512ffc22bdff4424f7ee8baa2</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>gh-104223: Fix issues with inheriting from buffer classes (#104227)</title>
<updated>2023-05-08T16:52:41+00:00</updated>
<author>
<name>Jelle Zijlstra</name>
<email>jelle.zijlstra@gmail.com</email>
</author>
<published>2023-05-08T16:52:41+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=405eacc1b87a42e19fd176131e70537f0539e05e'/>
<id>405eacc1b87a42e19fd176131e70537f0539e05e</id>
<content type='text'>
Co-authored-by: Kumar Aditya &lt;59607654+kumaraditya303@users.noreply.github.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Co-authored-by: Kumar Aditya &lt;59607654+kumaraditya303@users.noreply.github.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>gh-99113: Add PyInterpreterConfig.own_gil (gh-104204)</title>
<updated>2023-05-05T21:59:20+00:00</updated>
<author>
<name>Eric Snow</name>
<email>ericsnowcurrently@gmail.com</email>
</author>
<published>2023-05-05T21:59:20+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=f3e7eb48f86057919c347f56dabf417acfd55845'/>
<id>f3e7eb48f86057919c347f56dabf417acfd55845</id>
<content type='text'>
We also add PyInterpreterState.ceval.own_gil to record if the interpreter actually has its own GIL.

Note that for now we don't actually respect own_gil; all interpreters still share the one GIL.  However, PyInterpreterState.ceval.own_gil does reflect PyInterpreterConfig.own_gil.  That lie is a temporary one that we will fix when the GIL really becomes per-interpreter.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We also add PyInterpreterState.ceval.own_gil to record if the interpreter actually has its own GIL.

Note that for now we don't actually respect own_gil; all interpreters still share the one GIL.  However, PyInterpreterState.ceval.own_gil does reflect PyInterpreterConfig.own_gil.  That lie is a temporary one that we will fix when the GIL really becomes per-interpreter.</pre>
</div>
</content>
</entry>
<entry>
<title>GH-96803: Add three C-API functions to make _PyInterpreterFrame less opaque for users of PEP 523. (GH-96849)</title>
<updated>2023-05-05T16:53:07+00:00</updated>
<author>
<name>Mark Shannon</name>
<email>mark@hotpy.org</email>
</author>
<published>2023-05-05T16:53:07+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=a0df9ee8fc77443510ab7e9ba8fd830f255a8fec'/>
<id>a0df9ee8fc77443510ab7e9ba8fd830f255a8fec</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>gh-103509: PEP 697 -- Limited C API for Extending Opaque Types (GH-103511)</title>
<updated>2023-05-04T07:56:53+00:00</updated>
<author>
<name>Petr Viktorin</name>
<email>encukou@gmail.com</email>
</author>
<published>2023-05-04T07:56:53+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=cd9a56c2b0e14f56f2e83dd4db43c5c69a74b232'/>
<id>cd9a56c2b0e14f56f2e83dd4db43c5c69a74b232</id>
<content type='text'>

Co-authored-by: Oleg Iarygin &lt;oleg@arhadthedev.net&gt;
Co-authored-by: Erlend E. Aasland &lt;erlend.aasland@protonmail.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>

Co-authored-by: Oleg Iarygin &lt;oleg@arhadthedev.net&gt;
Co-authored-by: Erlend E. Aasland &lt;erlend.aasland@protonmail.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>gh-104109: Expose Py_NewInterpreterFromConfig() in the Public C-API (gh-104110)</title>
<updated>2023-05-03T03:40:00+00:00</updated>
<author>
<name>Eric Snow</name>
<email>ericsnowcurrently@gmail.com</email>
</author>
<published>2023-05-03T03:40:00+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=292076a9aa29aba1023340a0d24252a7b27a454e'/>
<id>292076a9aa29aba1023340a0d24252a7b27a454e</id>
<content type='text'>
We also expose PyInterpreterConfig. This is part of the PEP 684 (per-interpreter GIL) implementation.  We will add docs as soon as we can.

FYI, I'm adding the new config field for per-interpreter GIL in gh-99114.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We also expose PyInterpreterConfig. This is part of the PEP 684 (per-interpreter GIL) implementation.  We will add docs as soon as we can.

FYI, I'm adding the new config field for per-interpreter GIL in gh-99114.</pre>
</div>
</content>
</entry>
<entry>
<title>gh-103743: Add PyUnstable_Object_GC_NewWithExtraData (GH-103744)</title>
<updated>2023-05-02T11:38:46+00:00</updated>
<author>
<name>Jurica Bradarić</name>
<email>jbradaric@users.noreply.github.com</email>
</author>
<published>2023-05-02T11:38:46+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=87223f32aba872cfebde6fbe38673799eb79f248'/>
<id>87223f32aba872cfebde6fbe38673799eb79f248</id>
<content type='text'>

Co-authored-by: Petr Viktorin &lt;encukou@gmail.com&gt;
Co-authored-by: Erlend E. Aasland &lt;erlend.aasland@protonmail.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>

Co-authored-by: Petr Viktorin &lt;encukou@gmail.com&gt;
Co-authored-by: Erlend E. Aasland &lt;erlend.aasland@protonmail.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>gh-101659: Isolate "obmalloc" State to Each Interpreter (gh-101660)</title>
<updated>2023-04-24T23:23:57+00:00</updated>
<author>
<name>Eric Snow</name>
<email>ericsnowcurrently@gmail.com</email>
</author>
<published>2023-04-24T23:23:57+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=df3173d28ef25a0f97d2cca8cf4e64e062a08d06'/>
<id>df3173d28ef25a0f97d2cca8cf4e64e062a08d06</id>
<content type='text'>
This is strictly about moving the "obmalloc" runtime state from
`_PyRuntimeState` to `PyInterpreterState`.  Doing so improves isolation
between interpreters, specifically most of the memory (incl. objects)
allocated for each interpreter's use.  This is important for a
per-interpreter GIL, but such isolation is valuable even without it.

FWIW, a per-interpreter obmalloc is the proverbial
canary-in-the-coalmine when it comes to the isolation of objects between
interpreters.  Any object that leaks (unintentionally) to another
interpreter is highly likely to cause a crash (on debug builds at
least).  That's a useful thing to know, relative to interpreter
isolation.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is strictly about moving the "obmalloc" runtime state from
`_PyRuntimeState` to `PyInterpreterState`.  Doing so improves isolation
between interpreters, specifically most of the memory (incl. objects)
allocated for each interpreter's use.  This is important for a
per-interpreter GIL, but such isolation is valuable even without it.

FWIW, a per-interpreter obmalloc is the proverbial
canary-in-the-coalmine when it comes to the isolation of objects between
interpreters.  Any object that leaks (unintentionally) to another
interpreter is highly likely to cause a crash (on debug builds at
least).  That's a useful thing to know, relative to interpreter
isolation.</pre>
</div>
</content>
</entry>
</feed>
