skillfed

asyncer

Asyncer, async and await, focused on developer experience.

asyncer v0.0.18 8.3M downloads/30d#1,640 on PyPI2,482
Permissive license MIT Active released

What it is and what it does

Asyncer is a lightweight utility library that sits on top of AnyIO to make async/await code more convenient and type-safe. It provides a small set of functions—the package explicitly states there are just 4—designed to improve developer experience through better editor autocompletion, inline type checking, and mypy support. The main use case is calling synchronous blocking code from within async contexts without blocking the event loop; asyncify() wraps a sync function and runs it in a worker thread via AnyIO.

The library is intentionally minimal and opinionated, reflecting the author's subjective view on ergonomic async patterns. Because it is small and still in Beta status, the authors recommend pinning the exact version and having tests in place before upgrading. The package is actively maintained and has no known vulnerabilities.

Use it for:

  • Call blocking I/O or CPU-bound sync functions from async code without freezing the event loop.
  • Improve type hints and editor autocompletion when working with async/await patterns.
  • Verify async code correctness using mypy and other static type checkers.
  • Simplify mixing of synchronous and asynchronous code in the same project.
  • Reduce boilerplate when adapting legacy sync libraries for use in async applications.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Asyncer provides utility functions for working with async/await code and mixing synchronous blocking code with asynchronous code, built on top of AnyIO with a focus on type safety and editor support.

Yes, if you regularly mix async and sync code and want better type safety and editor support. The low install friction, active maintenance, MIT license, and zero known vulnerabilities make it a safe choice. Pin the exact version as recommended in the documentation, and ensure you have tests. Not necessary if your project is purely async or purely sync.

Install

asyncer on PyPI

pip

pip install asyncer

uv

uv add asyncer

poetry

poetry add asyncer

Installing asyncer

Before you install

Low friction install with only three runtime dependencies (anyio, sniffio, typing_extensions). Actively maintained with a recent release; however, the package is explicitly marked as small and potentially subject to change, so pinning the exact version is recommended.

License in practice

MIT license permits commercial and private use with minimal restrictions; suitable for most projects without licensing concerns.

Quickstart

pip install asyncer

import time
import anyio
from asyncer import asyncify

def do_sync_work(name: str):
    time.sleep(1)
    return f"Hello, {name}"

async def main():
    message = await asyncify(do_sync_work)(name="World")
    print(message)

anyio.run(main)

Requires Python 3.10 or later.

Verify before relying

  • Whether the library's 4 functions remain stable across versions or if breaking changes are expected.
  • Performance characteristics when using asyncify() with long-running blocking operations.

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 3 — anyio, sniffio, typing_extensions
Maintenance actively maintained — 50 days since the last release
Last repo commit
First released
Downloads 8,262,619/month — #1,640 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: asyncer-0.0.18-py3-none-any.whl

Development Status :: 4 - BetaFramework :: AsyncIOFramework :: TrioIntended Audience :: DevelopersIntended Audience :: EducationIntended Audience :: Information TechnologyIntended Audience :: Science/ResearchIntended Audience :: System AdministratorsProgramming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: InternetTyping :: Typed

Tags

async await utilitiescall sync code from asyncasyncify blocking functionsasync developer experiencetype-safe async helpersmixed async sync codeanyio wrapper utilities
async-utilitiestype-safety

More Internet packages