Skip to main content

No project description provided

Project description

asy

Version License: MIT

asy is easy and powerful for asyncio.

Motivation for development

  • Simple cancellation
  • Improve the coordination of async functions between libraries
  • No more programs for execution management
  • Develop specifications like ASGI

Installation

pip install asy

Getting started

Create deamons, in example.py:

import asyncio

# cancelable limited loop
async def func1(token):
    for i in range(10):
        if token.is_cancelled:
            break
        print("waiting")
        await asyncio.sleep(1)
    print("complete func2.")

# cancelable infinity loop
async def func2():
    while True:
        print("waiting")
        await asyncio.sleep(1)

# uncancelable limited loop
def func3():
    for i in range(1000):
        print(i)

# from callable
class YourDeamon:
    async def __call__(self, token):
        while not token.is_cancelled:
            await asyncio.sleep(1)
        print("complete.")

func4 = YourDeamon()


# Do not run
# infinity loop
# async def func5()):
#     while True:
#         print("waiting")

Run in shell.

python3 -m asy example:func1 example:func2 example:func3 example:func4

Run in Python script.

import asy
from example import func1, func2, func3, func4

supervisor = asy.supervise(func1, func2, func3, func4)
supervisor.run()

# or
asy.run(func1, func2, func3, func4)

Let's end the daemon with Ctrl-C and enjoy asy!

Caution

asy is a beta version. Please do not use it in production.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

asy-0.0.2.tar.gz (6.4 kB view hashes)

Uploaded Source

Built Distribution

asy-0.0.2-py3-none-any.whl (7.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page