GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — gh-67707: support partials in asyncio.iscoroutinefunction by graingert · Pull Request #94907 · python/cpython

Conversation

@graingert

@graingert graingert commented Jul 16, 2022 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Contributor
  • Issue: using asyncio.iscoroutinefunction() on a functools.partial object #67707

@asyncio.coroutine has been removed in 3.11 so I'm not sure how useful this would be

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@bedevere-bot bedevere-bot added the awaiting review label Jul 16, 2022
@graingert
support partials in asyncio.iscoroutinefunction
1c0cf0a
@graingert
graingert changed the base branch from 3.10 to main July 16, 2022 23:50
@graingert
graingert force-pushed the asyncio-iscoroutinefunction-partials branch from 4867490 to 1c0cf0a Compare July 16, 2022 23:51
graingert
graingert commented Jul 16, 2022
View reviewed changes
Comment thread Lib/test/test_asyncio/test_tasks.py Resolved

Uh oh!

There was an error while loading. Please reload this page.

graingert and others added 2 commits July 17, 2022 00:51
@graingert
Update Lib/test/test_asyncio/test_tasks.py
99c3e0d
@blurb-it
📜🤖 Added by blurb_it.
d398f4b
@graingert
graingert marked this pull request as ready for review July 16, 2022 23:53
@graingert
graingert requested review from 1st1 and asvetlov as code owners July 16, 2022 23:53
@graingert graingert mentioned this pull request Jul 16, 2022
using asyncio.iscoroutinefunction() on a functools.partial object #67707
Closed
graingert
graingert commented Jul 17, 2022
View reviewed changes
Comment thread Lib/asyncio/coroutines.py
getattr(func, '_is_coroutine', None) is _is_coroutine)
return (
inspect.iscoroutinefunction(func)
or getattr(func, '_is_coroutine', None) is _is_coroutine

@graingert graingert Jul 17, 2022

Copy link
Copy Markdown
Contributor Author

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this needs to both check the attribute and unwrap the partial so it can support code that worked around this issue by doing:

        def sync_fn():
            pass

        partial_sync_fn = functools.partial(sync_fn)
        partial_sync_fn._is_coroutine = asyncio.coroutines._is_coroutine

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@graingert
import functools for _unwrap_partial
879299a
@graingert

graingert commented Jul 17, 2022

Copy link
Copy Markdown
Contributor Author

I'm closing this in favor of #94923

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@graingert graingert closed this Jul 17, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@1st1 1st1 Awaiting requested review from 1st1 1st1 is a code owner
@asvetlov asvetlov Awaiting requested review from asvetlov asvetlov is a code owner

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

awaiting review

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

2 participants

@graingert @bedevere-bot
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.