Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,11 @@

All notable changes to `winuvloop` are documented here.

## 0.2.1 - Unreleased
## 0.2.2 - Unreleased

- Add public API stubs for better editor and type-checker ergonomics.

## 0.2.1 - 2026-04-25

- Move packaging to standard PEP 621 metadata and the `uv_build` backend.
- Replace `poetry.lock` with `uv.lock` for faster, reproducible development.
Expand Down
7 changes: 7 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,13 @@ The module re-exports the common backend API:

Backend-specific attributes are delegated to the selected upstream module.

## Typing

`winuvloop` ships a `py.typed` marker and public API stubs for the selector
module. The runtime values remain direct aliases to the selected upstream
backend, so `winuvloop.Loop` is still `uvloop.Loop` on POSIX and `winloop.Loop`
on Windows.

## Compatibility

`winuvloop` targets CPython 3.8.1 and newer, matching the current published
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ build-backend = "uv_build"

[project]
name = "winuvloop"
version = "0.2.1"
version = "0.2.2"
description = "Cross-platform asyncio event loop selection: uvloop on POSIX and winloop on Windows."
readme = "README.md"
requires-python = ">=3.8.1"
Expand Down
48 changes: 48 additions & 0 deletions src/winuvloop/__init__.pyi
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
from __future__ import annotations

import asyncio
from types import ModuleType
from typing import Any, Callable, Coroutine, TypeVar

_T = TypeVar("_T")

__backend__: str
__version__: str


class Loop(asyncio.AbstractEventLoop):
...


class EventLoopPolicy(asyncio.AbstractEventLoopPolicy):
...


def backend_name() -> str:
...


def backend() -> ModuleType:
...


def new_event_loop() -> Loop:
...


def install() -> None:
...


def run(
main: Coroutine[Any, Any, _T],
*,
loop_factory: Callable[[], Loop] | None = ...,
debug: bool | None = ...,
**run_kwargs: Any,
) -> _T:
...


def __getattr__(name: str) -> Any:
...
2 changes: 1 addition & 1 deletion uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading