Joongi Kim
6e8dcdaaa4
bpo-41229: Update docs for explicit aclose()-required cases and add contextlib.aclosing() method (GH-21545)
...
This is a PR to:
* Add `contextlib.aclosing` which ia analogous to `contextlib.closing` but for async-generators with an explicit test case for [bpo-41229]()
* Update the docs to describe when we need explicit `aclose()` invocation.
which are motivated by the following issues, articles, and examples:
* [bpo-41229]()
* https://github.com/njsmith/async_generator
* https://vorpus.org/blog/some-thoughts-on-asynchronous-api-design-in-a-post-asyncawait-world/#cleanup-in-generators-and-async-generators
* https://www.python.org/dev/peps/pep-0533/
* https://github.com/achimnol/aiotools/blob/ef7bf0cea7af/src/aiotools/context.py#L152
Particuarly regarding [PEP-533](https://www.python.org/dev/peps/pep-0533/ ), its acceptance (`__aiterclose__()`) would make this little addition of `contextlib.aclosing()` unnecessary for most use cases, but until then this could serve as a good counterpart and analogy to `contextlib.closing()`. The same applies for `contextlib.closing` with `__iterclose__()`.
Also, still there are other use cases, e.g., when working with non-generator objects with `aclose()` methods.
2020-11-02 00:02:48 -08:00
Serhiy Storchaka
142566c028
[3.9] bpo-37116: Use PEP 570 syntax for positional-only parameters. (GH-12620)
...
Turn deprecation warnings added in 3.8 into TypeError.
2019-06-05 18:22:31 +03:00
Serhiy Storchaka
2085bd0877
bpo-37116: Use PEP 570 syntax for positional-only parameters. (GH-13700)
2019-06-01 11:00:15 +03:00
Serhiy Storchaka
2b57c43f21
bpo-35506: Remove redundant and incorrect links from keywords. (GH-11174)
2018-12-19 08:09:46 +02:00
Nathaniel J. Smith
a3c88ef12c
Clarify that AsyncExitStack works with coroutine functions (GH-9405)
...
The docs were ambiguous about whether you pass in a coroutine function
or a coroutine object, e.g. is it:
aestack.push_async_exit(some_async_func)
or
aestack.push_async_exit(some_async_func())
(It's the first one.)
2018-09-18 14:27:59 -07:00
Alexander Vasin
416cbce22d
Fixed typo with asynccontextmanager code example (GH-8845)
...
`yield conn`, instead of just `yield`.
2018-08-24 19:38:11 -07:00
Matthias Bussonnier
bde782bb59
bpo-33468: Add try-finally contextlib.contextmanager example (GH-7816)
2018-07-24 00:10:56 +03:00
Daniel Porteous
c287545d62
bpo-34067: Include a more easily understood example for nullcontext (GH-8158)
...
Include a more easily understood example for nullcontext
2018-07-09 23:49:29 +10:00
Ilya Kulakov
1aa094f740
bpo-29302: Implement contextlib.AsyncExitStack. ( #4790 )
2018-01-25 15:51:18 -05:00
Jelle Zijlstra
176baa326b
bpo-30241: implement contextlib.AbstractAsyncContextManager ( #1412 )
2017-12-13 20:19:17 -05:00
Jesse-Bakker
0784a2e5b1
bpo-10049: Add a "no-op" (null) context manager to contextlib (GH-4464)
...
Adds a simpler and faster alternative to ExitStack for handling
single optional context managers without having to change the
lexical structure of your code.
2017-11-23 10:23:28 +10:00
Jelle Zijlstra
2e624690bd
bpo-29679: Implement @contextlib.asynccontextmanager ( #360 )
2017-04-30 18:25:58 -07:00
Vinay Sajip
dd917f84e3
Closes #27904 : Improved logging statements to defer formatting until needed.
2016-08-31 08:22:29 +01:00
Brett Cannon
516f5461b0
Add a missing :term:.
2016-06-09 15:55:52 -07:00
Serhiy Storchaka
c499f30286
Issue #23921 : Standardized documentation whitespace formatting.
...
Original patch by James Edwards.
2016-05-10 12:01:56 +03:00
Serhiy Storchaka
dba903993a
Issue #23921 : Standardized documentation whitespace formatting.
...
Original patch by James Edwards.
2016-05-10 12:01:23 +03:00
Brett Cannon
9e080e0e74
Issue #25609 : Introduce contextlib.AbstractContextManager and
...
typing.ContextManager.
2016-04-08 12:15:27 -07:00
Serhiy Storchaka
e4ba872543
Remove redundant leading zeroes in PEP references.
2016-03-31 15:30:54 +03:00
Serhiy Storchaka
a84f6c3dd3
Issue #25523 : Merge a-to-an corrections from 3.4.
2015-11-02 14:39:05 +02:00
Serhiy Storchaka
d65c9496da
Issue #25523 : Further a-to-an corrections.
2015-11-02 14:10:23 +02:00
Martin Panter
84835ab1cb
Issue #25161 : Merge full stops from 3.4 into 3.5
2015-10-10 10:44:25 +00:00
Martin Panter
d21e0b52f1
Issue #25161 : Add full stops in documentation; patch by Takase Arihiro
2015-10-10 10:36:22 +00:00
Berker Peksag
bb44fe0a0b
Issue #22389 : Add contextlib.redirect_stderr().
2014-11-28 23:28:06 +02:00
Nick Coghlan
36d8ef9cc7
Issue #21061 : correctly note redirect_stdout is reentrant
2014-10-12 10:25:00 +10:00
Terry Jan Reedy
f9bd920cfa
Issue 22603: add missing 'self'. Patch by Francisco Fernández Castaño.
2014-10-10 16:00:18 -04:00
Raymond Hettinger
e8e2df3daa
Issue 21558: Fix a typo in the contextlib docs
2014-05-25 18:06:04 -07:00
Nick Coghlan
8e113b418d
Close #19403 : make contextlib.redirect_stdout reentrant
2013-11-03 17:00:51 +10:00
Nick Coghlan
0acceb7697
What's New updates prior to alpha
2013-10-20 13:22:21 +10:00
Nick Coghlan
8608d26e81
contextlib doc updates and refactoring
...
- explain single use, reusable and reentrant in docs
- converted suppress to a reentrant class based impl
- converted redirect_stdout to a reusable impl
- moved both suppress and redirect_stdout behind a functional
facade
- added reentrancy tests for the updated suppress
- added reusability tests for the updated redirect_stdio
- slightly cleaned up an exception from contextmanager
2013-10-20 00:30:51 +10:00
Nick Coghlan
240f86d7dd
Close #19266 : contextlib.ignore -> contextlib.suppress
...
Patch by Zero Piraeus.
2013-10-17 23:40:57 +10:00
Georg Brandl
a7c17e552d
Fix spacing of toplevel items.
2013-10-13 22:25:10 +02:00
Nick Coghlan
b4534ae704
Docs tweaks for contextlib additions
2013-10-13 23:23:08 +10:00
Raymond Hettinger
1254b407ac
Rename contextlib.ignored() to contextlib.ignore().
2013-10-10 22:39:39 -07:00
Raymond Hettinger
088cbf2d39
Issue #15805 : Add contextlib.redirect_stdout()
2013-10-10 00:46:57 -07:00
Barry Warsaw
8c01ffa6ed
Merge 3.3
2013-05-10 11:36:23 -04:00
Barry Warsaw
d8f870d0fa
I was confused before. It's correct to not call .close() inside the with
...
statement, but add a comment that clarifies the purpose of the code.
2013-05-10 11:35:38 -04:00
Barry Warsaw
24aa15959b
Merge 3.3
2013-04-19 11:32:54 -04:00
Barry Warsaw
0aa685a33c
Minor typo in example.
2013-04-19 11:32:25 -04:00
Ned Deily
05bdd853ec
Issue #17586 : fix typo in contextlib.rst
2013-03-31 17:06:15 -07:00
Ezio Melotti
a41fb4be5b
#17351 : merge with 3.3.
2013-03-11 09:43:25 +02:00
Ezio Melotti
c9cfcf1e6c
#17351 : merge with 3.2.
2013-03-11 09:42:40 +02:00
Raymond Hettinger
e318a883fe
Issue #15806 : Add contextlib.ignored().
2013-03-10 22:26:51 -07:00
Andrew Svetlov
5b89840d9c
Issue #16714 : use 'raise' exceptions, don't 'throw'.
...
Patch by Serhiy Storchaka.
2012-12-18 21:26:36 +02:00
Nick Coghlan
b7a455f326
Typo fix
2012-05-31 22:34:59 +10:00
Nick Coghlan
2722827071
Additional ExitStack examples, and a few other cleanups for the ExitStack docs
2012-05-31 22:17:08 +10:00
Nick Coghlan
a497b44238
Fix the versionadded tags for a couple of my recent changes
2012-05-22 23:02:00 +10:00
Nick Coghlan
3267a30de1
Close #13585 : add contextlib.ExitStack to replace the ill-fated contextlib.nested API
2012-05-21 22:54:43 +10:00
Nick Coghlan
0ded3e307b
Issue #11647 : allow contextmanager objects to be used as decorators as described in the docs. Initial patch by Ysj Ray.
2011-05-05 23:49:25 +10:00
Raymond Hettinger
4f707fd316
Separate source link from main text.
2011-01-10 19:54:11 +00:00
Raymond Hettinger
1048094037
Move source links to consistent location and remove wordy, big yellow boxes.
2011-01-10 03:26:08 +00:00