Skip to main content

A toolbox for asyncio services

Project description

https://github.com/facebookincubator/later/actions/workflows/ci.yml/badge.svg?branch=main https://img.shields.io/badge/code%20style-black-000000.svg

What is later?

later is a play on Async not happening now but at some point in the future. It was also an awesome name for a toolkit for writing AsyncIO applications. The batteries if you will for AsyncIO.

later is a collection of asyncio batteries created at Meta for supporting asyncio services.

later offers the following:
  • Unittesting
    • later.unittest.TestCase - An IsolatedAsyncioTestCase that insures tasks are not left orphaned and asyncio never calls its error handler.

    • later.unittest.mock.AsyncContextManager - A factory for easy mocking out AsyncContextManager

  • Tasks*
    • later.cancel - The correct way to cancel a Task/Future and insure it is awaited

    • later.as_task - Decorator to turn coroutines into Tasks.

    • later.Watcher - Watch tasks and ensure they don’t die - take action when they do. This is kinda like a asyncio.TaskGroup

    • later.herd - A Decorator that provides coroutines with basic thundering herd protection.

    • later.task.TaskSentinel - A Completed Future, a default value for a asyncio.Task argument so you don’t also have to accept None.

  • Synchronization
    • later.event.BiDirectionalEvent - two way asyncio.Event for Handshake style synchronization.

License

later is Apache licensed, as found in the LICENSE file

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

later-26.1.1.tar.gz (28.9 kB view details)

Uploaded Source

Built Distribution

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

later-26.1.1-py3-none-any.whl (35.0 kB view details)

Uploaded Python 3

File details

Details for the file later-26.1.1.tar.gz.

File metadata

  • Download URL: later-26.1.1.tar.gz
  • Upload date:
  • Size: 28.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.32.5

File hashes

Hashes for later-26.1.1.tar.gz
Algorithm Hash digest
SHA256 18374757d56d19690f841735ca4c89d3912087f672d01601d2bdf3b270a25f7a
MD5 5eb64fee80f666152d4c09ef3cf5f954
BLAKE2b-256 3212cc2054ff4950c802554bc187caf5088e740a1c8cadb103dcf7fef5eeddba

See more details on using hashes here.

File details

Details for the file later-26.1.1-py3-none-any.whl.

File metadata

  • Download URL: later-26.1.1-py3-none-any.whl
  • Upload date:
  • Size: 35.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.32.5

File hashes

Hashes for later-26.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a358bcdb18e93ea4d114f4a61eae0dcad6433578adc9ad94aaa4dfa4d187141e
MD5 d6e419859b4c8ae4bb4ffe70ebf7874a
BLAKE2b-256 e1e9e6acd88d59a56e7467f47276de7eec0afb97966f7eb9c18494a35c06b976

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