gh-122858: Deprecate asyncio.iscoroutinefunction#122875
gh-122858: Deprecate asyncio.iscoroutinefunction#122875kumaraditya303 merged 16 commits intopython:mainfrom
asyncio.iscoroutinefunction#122875Conversation
…ect.iscoroutinefunction`.
|
After my many fix, maybe it is normal for the Docs workflow to fail because the deprecated function But I don't know how to solve this problem. Delete whatnew/3.14.rst: (Solved) |
Misc/NEWS.d/next/Library/2024-08-10-10-21-44.gh-issue-122858.ZC1rJD.rst
Outdated
Show resolved
Hide resolved
sobolevn
left a comment
There was a problem hiding this comment.
Please, use at least one test that ensures that the function is deprecated (which does not ignore the warnings).
|
This is the function that test this function c1f2743 If not have @ignore_warnings(category=DeprecationWarning)
def test_iscoroutinefunction(self):
print("asyncio.iscoroutinefunction is deprecated, use inspect.iscoroutinefunction() instead")
def fn():
...(Sorry, I may not be familiar with it) |
|
I am taking over this now. |
Deprecate `asyncio.iscoroutinefunction` in favor of `inspect.iscoroutinefunction`. Co-authored-by: Kumar Aditya <[email protected]>
Python 3.14 will deprecate asyncio.iscoroutinefunction: python/cpython#122875 inspect.iscoroutinefunction exists since 3.5 and our baseline is 3.8, so we can just use it unconditionally. Using a wrapper with @asyncio.coroutine in __get__ wasn't necessary (the future from asyncio.ensure_future is awaitable, and the wrapper doesn't do anything asynchronous), so the logic can be simplified to just call asyncio.ensure_future (to schedule the task and store the result when it's available).
`asyncio.iscoroutinefunction` was deprecated in python/cpython#122875.
asyncio.iscoroutinefunction is a wrapper around inspect.iscoroutinefunction and has been deprecated in 3.14 See python/cpython#122875 for reference
Same
inspect.iscoroutinefunction, we don't need two different functions to do the same thing.asyncio.iscoroutinefunction#122858