<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/cpython-git.git/Lib/contextlib.py, branch faster-bytes-iter</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>bpo-39481: Implementation for PEP 585 (#18239)</title>
<updated>2020-04-07T16:50:06+00:00</updated>
<author>
<name>Guido van Rossum</name>
<email>guido@python.org</email>
</author>
<published>2020-04-07T16:50:06+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=48b069a003ba6c684a9ba78493fbbec5e89f10b8'/>
<id>48b069a003ba6c684a9ba78493fbbec5e89f10b8</id>
<content type='text'>
This implements things like `list[int]`,
which returns an object of type `types.GenericAlias`.
This object mostly acts as a proxy for `list`,
but has attributes `__origin__` and `__args__`
that allow recovering the parts (with values `list` and `(int,)`.

There is also an approximate notion of type variables;
e.g. `list[T]` has a `__parameters__` attribute equal to `(T,)`.
Type variables are objects of type `typing.TypeVar`.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This implements things like `list[int]`,
which returns an object of type `types.GenericAlias`.
This object mostly acts as a proxy for `list`,
but has attributes `__origin__` and `__args__`
that allow recovering the parts (with values `list` and `(int,)`.

There is also an approximate notion of type variables;
e.g. `list[T]` has a `__parameters__` attribute equal to `(T,)`.
Type variables are objects of type `typing.TypeVar`.
</pre>
</div>
</content>
</entry>
<entry>
<title>[3.9] bpo-37116: Use PEP 570 syntax for positional-only parameters. (GH-12620)</title>
<updated>2019-06-05T15:22:31+00:00</updated>
<author>
<name>Serhiy Storchaka</name>
<email>storchaka@gmail.com</email>
</author>
<published>2019-06-05T15:22:31+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=142566c028720934325f0b7fe28680afd046e00f'/>
<id>142566c028720934325f0b7fe28680afd046e00f</id>
<content type='text'>
Turn deprecation warnings added in 3.8 into TypeError.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Turn deprecation warnings added in 3.8 into TypeError.</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-37116: Use PEP 570 syntax for positional-only parameters. (GH-13700)</title>
<updated>2019-06-01T08:00:15+00:00</updated>
<author>
<name>Serhiy Storchaka</name>
<email>storchaka@gmail.com</email>
</author>
<published>2019-06-01T08:00:15+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=2085bd0877e17ad4d98a4586d5eabb6faecbb190'/>
<id>2085bd0877e17ad4d98a4586d5eabb6faecbb190</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-36542: Allow to overwrite the signature for Python functions. (GH-12705)</title>
<updated>2019-05-06T19:40:27+00:00</updated>
<author>
<name>Serhiy Storchaka</name>
<email>storchaka@gmail.com</email>
</author>
<published>2019-05-06T19:40:27+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=d53cf99dca4605ace4b81b1e585616b3e1b74fa6'/>
<id>d53cf99dca4605ace4b81b1e585616b3e1b74fa6</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-36492: Deprecate passing some arguments as keyword arguments. (GH-12637)</title>
<updated>2019-04-01T06:16:35+00:00</updated>
<author>
<name>Serhiy Storchaka</name>
<email>storchaka@gmail.com</email>
</author>
<published>2019-04-01T06:16:35+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=42a139ed88c487f325a241c6ee8b308b3c045975'/>
<id>42a139ed88c487f325a241c6ee8b308b3c045975</id>
<content type='text'>
Deprecated passing the following arguments as keyword arguments:

- "func" in functools.partialmethod(), weakref.finalize(),
  profile.Profile.runcall(), cProfile.Profile.runcall(),
  bdb.Bdb.runcall(), trace.Trace.runfunc() and
  curses.wrapper().
- "function" in unittest.addModuleCleanup() and
  unittest.TestCase.addCleanup().
- "fn" in the submit() method of concurrent.futures.ThreadPoolExecutor
  and concurrent.futures.ProcessPoolExecutor.
- "callback" in contextlib.ExitStack.callback(),
  contextlib.AsyncExitStack.callback() and
  contextlib.AsyncExitStack.push_async_callback().
- "c" and "typeid" in the create() method of multiprocessing.managers.Server
  and multiprocessing.managers.SharedMemoryServer.
- "obj" in weakref.finalize().

Also allowed to pass arbitrary keyword arguments (even "self" and "func")
if the above arguments are passed as positional argument.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Deprecated passing the following arguments as keyword arguments:

- "func" in functools.partialmethod(), weakref.finalize(),
  profile.Profile.runcall(), cProfile.Profile.runcall(),
  bdb.Bdb.runcall(), trace.Trace.runfunc() and
  curses.wrapper().
- "function" in unittest.addModuleCleanup() and
  unittest.TestCase.addCleanup().
- "fn" in the submit() method of concurrent.futures.ThreadPoolExecutor
  and concurrent.futures.ProcessPoolExecutor.
- "callback" in contextlib.ExitStack.callback(),
  contextlib.AsyncExitStack.callback() and
  contextlib.AsyncExitStack.push_async_callback().
- "c" and "typeid" in the create() method of multiprocessing.managers.Server
  and multiprocessing.managers.SharedMemoryServer.
- "obj" in weakref.finalize().

Also allowed to pass arbitrary keyword arguments (even "self" and "func")
if the above arguments are passed as positional argument.
</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-33786: Fix asynchronous generators to handle GeneratorExit in athrow() (GH-7467)</title>
<updated>2018-06-08T00:31:26+00:00</updated>
<author>
<name>Yury Selivanov</name>
<email>yury@magic.io</email>
</author>
<published>2018-06-08T00:31:26+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=52698c7ad9eae9feb35839fde17a7d1da8036a9b'/>
<id>52698c7ad9eae9feb35839fde17a7d1da8036a9b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-33265: use an actual method instead of a method-like function in ExitStack (GH-6456)</title>
<updated>2018-04-13T12:22:46+00:00</updated>
<author>
<name>jdemeyer</name>
<email>jdemeyer@cage.ugent.be</email>
</author>
<published>2018-04-13T12:22:46+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=23ab5ee667a9b29014f6f7f01797c611f63ff743'/>
<id>23ab5ee667a9b29014f6f7f01797c611f63ff743</id>
<content type='text'>
`MethodType` has the exact semantics that `ExitStack` needs,
so we can avoid creating a Python level closure.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
`MethodType` has the exact semantics that `ExitStack` needs,
so we can avoid creating a Python level closure.</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-30306: release arguments of contextmanager (GH-1500)</title>
<updated>2018-01-28T04:17:46+00:00</updated>
<author>
<name>Martin Teichmann</name>
<email>lkb.teichmann@gmail.com</email>
</author>
<published>2018-01-28T04:17:46+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=dd0e087edc8f1e4d2c0913236b1a62a77d9db6d8'/>
<id>dd0e087edc8f1e4d2c0913236b1a62a77d9db6d8</id>
<content type='text'>
The arguments to a generator function which is declared as a
contextmanager are stored inside the context manager, and
thus are kept alive, even when it is used as a regular context
manager, and not as a function decorator (where it needs
the original arguments to recreate the generator on each
call).

This is a possible unnecessary memory leak, so this changes
contextmanager.__enter__ to release the saved arguments,
as that method being called means that particular CM instance
isn't going to need to recreate the underlying generator.

Patch by Martin Teichmann.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The arguments to a generator function which is declared as a
contextmanager are stored inside the context manager, and
thus are kept alive, even when it is used as a regular context
manager, and not as a function decorator (where it needs
the original arguments to recreate the generator on each
call).

This is a possible unnecessary memory leak, so this changes
contextmanager.__enter__ to release the saved arguments,
as that method being called means that particular CM instance
isn't going to need to recreate the underlying generator.

Patch by Martin Teichmann.
</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-29302: Implement contextlib.AsyncExitStack. (#4790)</title>
<updated>2018-01-25T20:51:18+00:00</updated>
<author>
<name>Ilya Kulakov</name>
<email>kulakov.ilya@gmail.com</email>
</author>
<published>2018-01-25T20:51:18+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=1aa094f74039cd20fdc7df56c68f6848c18ce4dd'/>
<id>1aa094f74039cd20fdc7df56c68f6848c18ce4dd</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-30241: implement contextlib.AbstractAsyncContextManager (#1412)</title>
<updated>2017-12-14T01:19:17+00:00</updated>
<author>
<name>Jelle Zijlstra</name>
<email>jelle.zijlstra@gmail.com</email>
</author>
<published>2017-12-14T01:19:17+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=176baa326be4ec2dc70ca0c054b7e2ab7ca6a9cf'/>
<id>176baa326be4ec2dc70ca0c054b7e2ab7ca6a9cf</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
