Skip to content

facebookincubator/later

later

https://github.com/facebookincubator/later/actions/workflows/ci.yml/badge.svg?branch=main

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

About

A framework for python asyncio with batteries included for people writing services in python asyncio

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 12

Languages