Skip to main content

No project description provided

Project description

😈 What the heck?

aioGo is the tiny helper library that doing two simple thinks:

  • run your async code

and

  • correct terminate your async code

Default python asyncio have troubles with this: when you hit Ctrl+C asyncio just cancel all your coroutines.

This can lead to many race conditions and hanging your application at exit point.

📘 How to use?

Just:

from asyncio import Future
from aiogo import go

async def main(termination: Future[bool]) -> None:
    await termination

if __name__ == "__main__":
    go(main)

That's all. You just wait while termination future was resolved (when your application got SIGINT or SIGTERM).

When you will be use this library in real world, just:

import asyncio

async def main(termination: asyncio.Future[bool]) -> None:
    done, _ = asyncio.wait((termination, your_awesome_read_task), return_when=asyncio.FIRST_COMPLETED)

and check done set.

I want custom event loop (uvloop)!

That I have! Again, just:

import uvloop
from aiogo import go

go(main, event_loop_factory=uvloop.new_event_loop)

I want forced exit!

If you can't write correct exit behaviour, well... Do that:

from aiogo import go
go(main, exit_timeout=10)

And all your coroutines will be got CancelledError, as doing old good asyncio.run.

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

aiogo-0.1.0.tar.gz (2.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aiogo-0.1.0-py3-none-any.whl (2.8 kB view details)

Uploaded Python 3

File details

Details for the file aiogo-0.1.0.tar.gz.

File metadata

  • Download URL: aiogo-0.1.0.tar.gz
  • Upload date:
  • Size: 2.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.5 CPython/3.13.1 Windows/10

File hashes

Hashes for aiogo-0.1.0.tar.gz
Algorithm Hash digest
SHA256 1cd2436315f10c95601a660f884065d40e6f2a9109929570b35699da153f81a8
MD5 29748f07a506dad2fa6e7a1a4dcbef69
BLAKE2b-256 2a3a0942b020cf9568a0d379a93bab72c9e6e2d8df11e40b507f9b7cf27ea619

See more details on using hashes here.

File details

Details for the file aiogo-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: aiogo-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 2.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.5 CPython/3.13.1 Windows/10

File hashes

Hashes for aiogo-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 259a0342bcc01803c54e7fab4717e4b0bf53e9c5d57266cd36d285543387f6d8
MD5 92f789f90e3af66178b38b4dce75e5e0
BLAKE2b-256 57baf2289592ee587f82056f7ce2cdf2e4e38a5b3028715be992c80758a517a8

See more details on using hashes here.

Supported by

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