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 — Help wanted for testing async support · Issue #4 · Technologicat/unpythonic

Help wanted for testing async support #4

New issue
Copy link
New issue
Copy link
Open
Open
Help wanted for testing async support#4
Copy link
Labels
bugSomething isn't workingSomething isn't workingenhancementNew feature or requestNew feature or requestgood first issueGood for newcomersGood for newcomershelp wantedExtra attention is neededExtra attention is needed
Milestone
∞

Description

@Technologicat
Technologicat
opened on Jul 24, 2019
Issue body actions

Help wanted!

The interaction between unpythonic and the async stuff that was added in Python 3.5 is totally untested, because I haven't used, and I'm not even that familiar with, that part of Python myself.

Reading Brett Cannon's explanation, I surmise the async features are intended mainly for "microthreading" typical server loads, which mostly wait on I/O, but must scale to thousands of simultaneous requests. Coming from numerical background where the load is practically always CPU- or memory-bound, I haven't found much use for such constructs, since there the GIL makes them uninteresting. Multiprocessing, Cython + OpenMP, or MPI, exactly one task per core, done.

So, discussion and test cases are more than welcome!

If interested, please post a comment here, or open a PR if you have some tests you'd like to suggest. See directories unpythonic/test and unpythonic/syntax/test for examples. (Any test modules in these directories are autodetected by runtests.py.)

Note that I have absolutely no idea in which kind of use cases unpythonic and async would appear together - that is exactly why this is help wanted.

If you have such a use case and especially if it doesn't work, please share!

(As of 0.14.1, the current level of async support in unpythonic is a blind guess. The macros recognize the AST nodes for the async stuff, but since I'm not quite sure what should be done with them, they try to do something similar as to the same "basic" (no async) node. Needless to say, there are probably bugs.)

Activity

  1. Technologicat
    added
    bugSomething isn't workingSomething isn't working
    enhancementNew feature or requestNew feature or request
    help wantedExtra attention is neededExtra attention is needed
    good first issueGood for newcomersGood for newcomers
    on Jul 24, 2019
  2. Technologicat
    changed the title [-]Test and debug async support[/-] [+]Help test async support[/+] on Jul 24, 2019
  3. Technologicat
    changed the title [-]Help test async support[/-] [+]Help wanted for testing async support[/+] on Jul 25, 2019
  4. Technologicat commented on Jul 25, 2019

    @Technologicat
    Technologicat
    on Jul 25, 2019
    OwnerAuthor
    More actions

    Linking to the relevant PEP. Maybe this one too.

  5. Technologicat
    added this to the far-future milestone on Aug 8, 2019
  6. Technologicat commented on Feb 11, 2020

    @Technologicat
    Technologicat
    on Feb 11, 2020
    OwnerAuthor
    More actions

    Having done some frontend coding in the meantime, I now have a fairly good understanding of what async/await do, but this is not a high priority for unpythonic. Help is still welcome.

    On the topic of async concurrency, Trio looks interesting. See also the original blog post on Trio by its author, Nathaniel Smith.

  7. Technologicat commented on Feb 12, 2020

    @Technologicat
    Technologicat
    on Feb 12, 2020
    OwnerAuthor
    More actions
    • At least continuations needs an await when it calls into the continuation it extracted, if the continuation is an async function.
    • Also tail calls into async continuations should be awaited. This may be difficult to do, since we don't currently keep track of the type of each function (and sometimes this information is not lexically available).
      • Maybe add a runtime wrapper: return await f(...) if iscoroutine(f) else f(...).
  8. Technologicat
    added a commit that references this issue on Oct 9, 2026

    TODO_DEFERRED: what async support exists already, from the history

    256dd09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingSomething isn't workingenhancementNew feature or requestNew feature or requestgood first issueGood for newcomersGood for newcomershelp wantedExtra attention is neededExtra attention is needed

    Projects

    No projects

      Milestone

      • ∞No due date

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      You are visitor 01402520 — 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.