Skip to main content
rsloop logo

An event loop for asyncio written in Rust

PyPI - Version Tests PyPI Downloads

rsloop is a PyO3-based asyncio event loop implemented in Rust.

Each rsloop.Loop owns a dedicated Rust runtime thread for loop coordination and I/O work. That thread runs an rsloop-specialized vibeio runtime, using io_uring on Linux, IOCP on Windows, and native kqueue readiness on macOS. Plain TCP / Unix socket reads and non-TLS server accepts run on that runtime. Python callbacks, tasks, and coroutines still run on the thread that calls run_forever() or run_until_complete() (usually the main Python thread).

The package exposes:

  • a native extension module at rsloop._loop
  • a Python wrapper in python/rsloop/__init__.py
  • rsloop.Loop, rsloop.EventLoopPolicy, rsloop.new_event_loop(), rsloop.run(...), rsloop.install(), rsloop.uninstall(), and rsloop.build_info()

Repository metadata currently targets Python >=3.10. The native runtime requires Linux 6.1+, macOS 13+, or Windows 11+ so its hot paths can rely on modern completion, timer, and scheduler primitives. Free-threaded CPython is not currently supported; the extension explicitly requests GIL-enabled execution while its mutable-buffer fast paths are audited.

Documentation

Project documentation now lives in docs/.

If you are new to the repository, start with:

To browse the docs locally with MkDocs:

uvx --from mkdocs mkdocs serve

Install

From PyPI:

pip install rsloop

With uv:

uv add rsloop

From conda-forge, using pixi:

pixi add rsloop

Usage

Simple entry point:

import rsloop


async def main(): ...


rsloop.run(main())

Install as the default asyncio event loop policy:

import asyncio
import rsloop

rsloop.install()
try:
    asyncio.run(main())
finally:
    rsloop.uninstall()

Manual loop creation also works:

import asyncio
import rsloop

loop = rsloop.new_event_loop()
asyncio.set_event_loop(loop)
try:
    loop.run_until_complete(...)
finally:
    asyncio.set_event_loop(None)
    loop.close()

Importing rsloop also patches asyncio.set_event_loop() so Python 3.10 can accept an rsloop.Loop instance, matching the behavior exercised by tests/test_run.py.

Custom Async Rust Extensions

rsloop now exposes a small Rust interop API for downstream PyO3 extensions. That lets you write your own async Rust code, return it to Python as an awaitable, and run it under the active rsloop event loop.

The public entry point is rsloop::rust_async:

  • get_current_locals(...)
  • future_into_py(...)
  • future_into_py_with_locals(...)
  • local_future_into_py(...)
  • local_future_into_py_with_locals(...)
  • re-exports of TaskLocals and into_future_with_locals(...)

See examples/rust/README.md for a complete extension example built with maturin.

Verified Surface Area

The current codebase implements these user-facing areas.

Loop lifecycle and scheduling:

  • run_forever, run_until_complete, stop, close
  • time, is_running, is_closed
  • get_debug, set_debug
  • call_soon, call_soon_threadsafe, call_later, call_at
  • returned Handle and TimerHandle objects with cancel() / cancelled()

Tasks, futures, and execution helpers:

  • create_future, create_task
  • set_task_factory, get_task_factory
  • set_exception_handler, get_exception_handler, call_exception_handler, default_exception_handler
  • set_default_executor, run_in_executor
  • shutdown_asyncgens, shutdown_default_executor
  • callback execution under captured contextvars.Context
  • asyncio.get_running_loop() support while running on rsloop
  • rsloop.run(...) helper, with asyncio.run(..., loop_factory=...) integration on Python 3.12+

I/O and networking:

  • add_reader, remove_reader, add_writer, remove_writer
  • sock_recv, sock_recv_into, sock_sendall, sock_accept, sock_connect
  • getaddrinfo, getnameinfo
  • create_server, create_connection
  • create_unix_server, create_unix_connection
  • connect_accepted_socket
  • returned Server objects with close(), is_serving(), get_loop(), and sockets()
  • returned StreamTransport objects with write(), writelines(), close(), abort(), is_closing(), write_eof(), can_write_eof(), get_extra_info(), get_protocol(), set_protocol(), pause_reading(), resume_reading(), is_reading()

Pipes, subprocesses, and signals:

  • connect_read_pipe, connect_write_pipe
  • subprocess_exec, subprocess_shell
  • returned ProcessTransport and ProcessPipeTransport objects
  • higher-level compatibility with asyncio.create_subprocess_exec() and asyncio.create_subprocess_shell()
  • Unix subprocess options including cwd, env, executable, pass_fds, start_new_session, process_group, user, group, extra_groups, umask, and restore_signals
  • add_signal_handler, remove_signal_handler

Profiling:

  • profile(...), profiler_running(), start_profiler(), stop_profiler()
  • opt-in transport counters through transport_stats() and reset_transport_stats()

Set RSLOOP_TRANSPORT_STATS=1 before importing rsloop to enable the transport counters. They report read completions and bytes, Python-thread read drains, wakeups, staged and direct writes, and Windows completion-to-poll rebinds. Counters remain disabled by default so diagnostics add only one predictable branch to transport hot paths.

Fast Streams

Importing rsloop patches asyncio.open_connection() and asyncio.start_server() by default.

That import-time behavior is controlled by RSLOOP_USE_FAST_STREAMS and can be disabled with:

export RSLOOP_USE_FAST_STREAMS=0

The native fast-stream path is used only when:

  • the running loop is an rsloop.Loop
  • ssl is unset or None

Otherwise rsloop falls back to the stdlib asyncio.streams helpers.

The implementation lives in src/transport/stream/fast.rs and is backed by the lower level transport code in src/transport/stream/mod.rs.

Runtime Model

The runtime is centered on one vibeio runtime per loop:

  • the loop coordination thread is always the central scheduler
  • plain TCP / Unix socket reads and non-TLS accept loops use vibeio on that thread across supported platforms
  • Windows TCP transports, including custom asyncio.Protocol implementations, start in IOCP completion mode and rebind to readiness mode before start_tls synchronously reclaims a socket
  • generic add_reader / add_writer descriptors use cancellable OS-poll workers because vibeio does not expose arbitrary raw-descriptor registration
  • some transport paths still fall back to helper threads, especially TLS I/O, TLS server accept, and parts of the legacy transport write path

The runtime dependency is now unified, but the codebase has not finished eliminating every helper thread yet.

Transport overload safeguards use conservative defaults: inbound reads pause at 1 MiB of pending data per connection, buffered writes are capped at 64 MiB, and a TLS server admits at most 256 simultaneous handshakes. The last two limits can be adjusted before importing rsloop with RSLOOP_MAX_WRITE_BUFFER_BYTES and RSLOOP_MAX_PENDING_TLS_HANDSHAKES.

Current Limitations

These gaps are visible in the current implementation.

  • TLS uses a rustls backend with a narrower compatibility surface than CPython's OpenSSL-backed ssl module. In particular, encrypted private keys are not supported yet, and the fast-stream monkeypatch still falls back to stdlib helpers whenever ssl is enabled. TLS transport internals also still use helper-thread paths instead of the runtime-thread vibeio socket path.
  • Subprocess support still has one notable gap: preexec_fn remains unsupported because running arbitrary Python between fork() and exec() is unsafe in this runtime model.
  • Unix-specific APIs remain Unix-specific: create_unix_server, create_unix_connection, add_signal_handler, remove_signal_handler.
  • Platform-specific limitations still apply: Unix socket APIs and Unix signal handlers remain Unix-only, and several subprocess options such as pass_fds, user, group, and umask are still specific to Unix process spawning.
  • The transport runtime model is still in transition: plain socket reads and non-TLS accepts now run on the loop runtime thread on all supported platforms, but generic descriptor watches, writes, and TLS-heavy paths are not fully collapsed onto that same single-threaded I/O path yet.

Build

Quick check:

cargo check

Release build and editable install:

cargo build --release
uv run --with maturin maturin develop --release

Build release wheels into dist/wheels:

scripts/build-wheels.sh

scripts/build-wheels.sh currently defaults to CPython 3.10 3.11 3.12 3.13 3.14, and uses uv python install / uv python find to locate interpreters.

Profiling

Profiling is behind the Cargo feature profiler and is disabled by default. Build or install with that feature first:

cargo build --release --features profiler
uv run --with maturin maturin develop --release --features profiler

Then wrap the code you want to inspect:

import rsloop

with rsloop.profile():
    rsloop.run(main())

Or manage the session manually:

import rsloop

rsloop.start_profiler()
try:
    rsloop.run(main())
finally:
    rsloop.stop_profiler()

This starts a Tracy client inside the process. Build a release binary, open the Tracy desktop profiler, then connect to the running process while the profiled code is executing.

Release wheels do not include profiler support. Build locally with --features profiler to enable it. The Tracy feature set is aimed at local profiling: enable, only-localhost, and sampling.

For very short-lived runs you can force the process to block on exit until a server has connected and drained all data by setting TRACY_NO_EXIT=1 in the environment.

If the extension was built without --features profiler, profile() and start_profiler() raise a runtime error.

Examples

Run the repository examples from the project root:

uv run python examples/01_basics.py
uv run python examples/02_fd_and_sockets.py
uv run python examples/03_streams.py
uv run python examples/04_unix_and_accepted_socket.py
uv run python examples/05_pipes_signals_subprocesses.py

Example files: examples/01_basics.py, examples/02_fd_and_sockets.py, examples/03_streams.py, examples/04_unix_and_accepted_socket.py, examples/05_pipes_signals_subprocesses.py.

The repository also includes:

Benchmark

uv run --with maturin maturin develop --release
uv run --with uvloop python benches/compare_event_loops.py

An example output from that script on macOS (arm64) with CPython 3.14:

callbacks (200,000 ops)
loop           median_s       best_s      ops_per_s     peak_rss   vs_fastest    slower_by
rsloop         0.033083     0.032710      6,045,401     67.5 MiB        1.00x         0.0%
uvloop         0.040958     0.040721      4,883,026     72.8 MiB        1.24x        23.8%
asyncio        0.082233     0.082093      2,432,114     65.3 MiB        2.49x       148.6%

tasks (50,000 ops)
loop           median_s       best_s      ops_per_s     peak_rss   vs_fastest    slower_by
rsloop         0.063593     0.063286        786,247     37.6 MiB        1.00x         0.0%
uvloop         0.069614     0.069420        718,251     38.4 MiB        1.09x         9.5%
asyncio        0.108114     0.107502        462,473     36.1 MiB        1.70x        70.0%

tcp_streams (5,000 ops)
loop           median_s       best_s      ops_per_s     peak_rss   vs_fastest    slower_by
rsloop         0.090940     0.083355         54,981     32.2 MiB        1.00x         0.0%
uvloop         0.133182     0.127404         37,543     31.5 MiB        1.46x        46.5%
asyncio        0.302337     0.299813         16,538     29.6 MiB        3.32x       232.5%

The production-shaped workload matrix exercises HTTP, WebSocket libraries, TLS, mixed message sizes, backpressure, and connection lifecycle behavior:

uv run --with uvloop python benches/workload_matrix.py \
  --loops rsloop,uvloop \
  --warmups 1 \
  --repeat 5

Representative output from the same macOS arm64 (Apple M2) / CPython 3.14 release build on August 18, 2026 is below, as the per-scenario median of five runs of that command on an otherwise quiet machine. Throughput is traffic-only operations per second, except for bulk_transfer, which reports traffic MiB/s.

Scenario rsloop uvloop rsloop difference rsloop p95 uvloop p95
HTTP keep-alive 88,616 68,040 +30.2% 0.186 ms 0.283 ms
TLS HTTP 72,530 36,772 +97.2% 0.273 ms 0.498 ms
Raw WebSocket 6,242 6,458 -3.3% 4.271 ms 3.075 ms
Raw WebSocket over TLS 6,026 6,054 -0.5% 2.951 ms 3.403 ms
websockets 40,232 40,210 +0.1% 0.494 ms 0.452 ms
websockets over TLS 41,436 26,895 +54.1% 0.445 ms 0.693 ms
aiohttp WebSocket 51,484 51,128 +0.7% 0.397 ms 0.367 ms
aiohttp WebSocket over TLS 53,765 32,035 +67.8% 0.357 ms 0.568 ms
Starlette WebSocket 29,711 20,412 +45.6% 0.700 ms 1.059 ms
Starlette WebSocket over TLS 34,421 21,290 +61.7% 0.539 ms 0.856 ms
Mixed streams 79,411 48,551 +63.6% 0.253 ms 0.456 ms
Bulk transfer (MiB/s) 4,993.6 2,823.6 +76.9% 6.347 ms 11.291 ms
Idle activation 21,189 21,275 -0.4% 7.843 ms 7.835 ms

Read the idle-activation row as a tie rather than a measurement: its traffic phase is roughly ten milliseconds, and it swung by more than 2x per loop across those five runs. Every other row held within a few percent.

These ordinary matrix defaults are intentionally short enough for local smoke and CI runs. Use --sustained and compare repeated runs before drawing performance conclusions for a deployment — competing desktop load matters more than it looks, because rsloop trades helper-thread CPU for loop-thread work and so has more to lose when cores are contended.

See benches/README.md for workload details and extra flags, and examples/README.md for the FastAPI loop comparison example.

Acknowledgements

rsloop builds on the Python asyncio model and is implemented with PyO3 on the Rust side. Runtime and socket I/O are powered by vibeio.

License

This project is licensed under the Apache License, Version 2.0. See LICENSE for the full text.

Release files for rsloop 0.1.40

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for rsloop 0.1.40
File Size Uploaded
rsloop-0.1.40.tar.gz 767.4 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for rsloop 0.1.40
File
rsloop-0.1.40-cp314-cp314-win_arm64.whl CPython 3.14 CPython 3.14 Windows ARM64 Details
rsloop-0.1.40-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
rsloop-0.1.40-cp314-cp314-manylinux_2_39_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.39+ x86-64 Details
rsloop-0.1.40-cp314-cp314-manylinux_2_39_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.39+ ARM64 Details
rsloop-0.1.40-cp314-cp314-macosx_13_0_x86_64.whl CPython 3.14 CPython 3.14 macOS 13.0+ x86-64 Details
rsloop-0.1.40-cp314-cp314-macosx_13_0_arm64.whl CPython 3.14 CPython 3.14 macOS 13.0+ ARM64 Details
rsloop-0.1.40-cp313-cp313-win_arm64.whl CPython 3.13 CPython 3.13 Windows ARM64 Details
rsloop-0.1.40-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
rsloop-0.1.40-cp313-cp313-manylinux_2_39_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.39+ x86-64 Details
rsloop-0.1.40-cp313-cp313-manylinux_2_39_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.39+ ARM64 Details
rsloop-0.1.40-cp313-cp313-macosx_13_0_x86_64.whl CPython 3.13 CPython 3.13 macOS 13.0+ x86-64 Details
rsloop-0.1.40-cp313-cp313-macosx_13_0_arm64.whl CPython 3.13 CPython 3.13 macOS 13.0+ ARM64 Details
rsloop-0.1.40-cp312-cp312-win_arm64.whl CPython 3.12 CPython 3.12 Windows ARM64 Details
rsloop-0.1.40-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
rsloop-0.1.40-cp312-cp312-manylinux_2_39_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.39+ x86-64 Details
rsloop-0.1.40-cp312-cp312-manylinux_2_39_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.39+ ARM64 Details
rsloop-0.1.40-cp312-cp312-macosx_13_0_x86_64.whl CPython 3.12 CPython 3.12 macOS 13.0+ x86-64 Details
rsloop-0.1.40-cp312-cp312-macosx_13_0_arm64.whl CPython 3.12 CPython 3.12 macOS 13.0+ ARM64 Details
rsloop-0.1.40-cp311-cp311-win_arm64.whl CPython 3.11 CPython 3.11 Windows ARM64 Details
rsloop-0.1.40-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
rsloop-0.1.40-cp311-cp311-manylinux_2_39_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.39+ x86-64 Details
rsloop-0.1.40-cp311-cp311-manylinux_2_39_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.39+ ARM64 Details
rsloop-0.1.40-cp311-cp311-macosx_13_0_x86_64.whl CPython 3.11 CPython 3.11 macOS 13.0+ x86-64 Details
rsloop-0.1.40-cp311-cp311-macosx_13_0_arm64.whl CPython 3.11 CPython 3.11 macOS 13.0+ ARM64 Details
rsloop-0.1.40-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
rsloop-0.1.40-cp310-cp310-manylinux_2_39_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.39+ x86-64 Details
rsloop-0.1.40-cp310-cp310-manylinux_2_39_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.39+ ARM64 Details
rsloop-0.1.40-cp310-cp310-macosx_13_0_x86_64.whl CPython 3.10 CPython 3.10 macOS 13.0+ x86-64 Details
rsloop-0.1.40-cp310-cp310-macosx_13_0_arm64.whl CPython 3.10 CPython 3.10 macOS 13.0+ ARM64 Details

Total release size: 72.8 MB

Release files / rsloop-0.1.40.tar.gz

Download URL rsloop-0.1.40.tar.gz
Size 767.4 kB
Tags Source
SHA-256 checksum
How to use checksums
ea1205aea20fdcda76e38cb2068e10b7dab272f3f0c918579080e19cb20439c7
BLAKE2b-256 checksum
How to use checksums
8f454f0c52f73df305cb170ca7f61e423e76185f3227252fe35815feea85df9e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 17, 2026.

Transparency log

Release files / rsloop-0.1.40-cp314-cp314-win_arm64.whl

Download URL rsloop-0.1.40-cp314-cp314-win_arm64.whl
Size 2.3 MB
Tags CPython 3.14 Windows ARM64
SHA-256 checksum
How to use checksums
e773de4056c6f35c27381a3f4dd4668bb041c8a9bcb06f1e685224421c8f31c9
BLAKE2b-256 checksum
How to use checksums
2f76b0a304c662e056a4f192747b7269fbf921b73cb323d90dcfe8da68ff3ea9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 17, 2026.

Transparency log

Release files / rsloop-0.1.40-cp314-cp314-win_amd64.whl

Download URL rsloop-0.1.40-cp314-cp314-win_amd64.whl
Size 2.3 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
89bd635a97dfc70b7caa874ceaf6ed147f5e6616bbab6f6afe8c7b9fcdeedf29
BLAKE2b-256 checksum
How to use checksums
b616da80f3d01dd75eeec6e285787b7cea76819e960b906d606a88807261430d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 17, 2026.

Transparency log

Release files / rsloop-0.1.40-cp314-cp314-manylinux_2_39_x86_64.whl

Download URL rsloop-0.1.40-cp314-cp314-manylinux_2_39_x86_64.whl
Size 2.7 MB
Tags CPython 3.14 Linux glibc 2.39+ x86-64
SHA-256 checksum
How to use checksums
317e8ce47ec1e28db2756f9afe4529baddb5ab07d66740078c7d9c52a4954622
BLAKE2b-256 checksum
How to use checksums
e3104df73fb5f72cbd96c1919677b0f20c2e70455595b615e92218c976114b41
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 17, 2026.

Transparency log

Release files / rsloop-0.1.40-cp314-cp314-manylinux_2_39_aarch64.whl

Download URL rsloop-0.1.40-cp314-cp314-manylinux_2_39_aarch64.whl
Size 2.5 MB
Tags CPython 3.14 Linux glibc 2.39+ ARM64
SHA-256 checksum
How to use checksums
56c39c59cd90a662d1711322a957aed09102ff89d88dc5577591e3b234455429
BLAKE2b-256 checksum
How to use checksums
84ba83b9246b7b152f5e1f86b6faa4836e1c98a75594bc96a01ecad3b0953100
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 17, 2026.

Transparency log

Release files / rsloop-0.1.40-cp314-cp314-macosx_13_0_x86_64.whl

Download URL rsloop-0.1.40-cp314-cp314-macosx_13_0_x86_64.whl
Size 2.6 MB
Tags CPython 3.14 macOS 13.0+ x86-64
SHA-256 checksum
How to use checksums
94d6f63b49d81e50aa0195cfa59a7733e7aa7da1adb37138df013e602a749662
BLAKE2b-256 checksum
How to use checksums
a705bd28593b28838863aee8c7e85e27ee6917ea700f959a1af94f6849cf8fd4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 17, 2026.

Transparency log

Release files / rsloop-0.1.40-cp314-cp314-macosx_13_0_arm64.whl

Download URL rsloop-0.1.40-cp314-cp314-macosx_13_0_arm64.whl
Size 2.5 MB
Tags CPython 3.14 macOS 13.0+ ARM64
SHA-256 checksum
How to use checksums
5e8d1cb2501ff102c64b515da70ea5c4502694f06ce079d22862847607e6f8eb
BLAKE2b-256 checksum
How to use checksums
289f37fb254e5ebff438e5a970f45548544ff2a483de806c6f1207d4ca903aea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 17, 2026.

Transparency log

Release files / rsloop-0.1.40-cp313-cp313-win_arm64.whl

Download URL rsloop-0.1.40-cp313-cp313-win_arm64.whl
Size 2.3 MB
Tags CPython 3.13 Windows ARM64
SHA-256 checksum
How to use checksums
be31e7a51937eeba3b07c4630dc8ab3ddcef1491de382c6c3c4a6eac6c725596
BLAKE2b-256 checksum
How to use checksums
f183739d3b58e76b1f9c9934b7caa9e526ed239be0811182f3033fab06f6abb0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 17, 2026.

Transparency log

Release files / rsloop-0.1.40-cp313-cp313-win_amd64.whl

Download URL rsloop-0.1.40-cp313-cp313-win_amd64.whl
Size 2.3 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
ffd1b279e40de1e1584cdcda3a949b47c4a2a8a4f96e6ecc193436114aca5c94
BLAKE2b-256 checksum
How to use checksums
f4f08f8e70f7b04b047cadc2fc4f573c53e640ea4cfd0ff3e96fa9c2ae6ec050
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 17, 2026.

Transparency log

Release files / rsloop-0.1.40-cp313-cp313-manylinux_2_39_x86_64.whl

Download URL rsloop-0.1.40-cp313-cp313-manylinux_2_39_x86_64.whl
Size 2.7 MB
Tags CPython 3.13 Linux glibc 2.39+ x86-64
SHA-256 checksum
How to use checksums
221e4ac8f95912f46c4b5313b60db5484f27bdb72145b23a50d53655d1d2139b
BLAKE2b-256 checksum
How to use checksums
7aa7e657cca411241f4dc5e4f865cd348771a8ac94061dc6a4528f65566bde57
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 17, 2026.

Transparency log

Release files / rsloop-0.1.40-cp313-cp313-manylinux_2_39_aarch64.whl

Download URL rsloop-0.1.40-cp313-cp313-manylinux_2_39_aarch64.whl
Size 2.5 MB
Tags CPython 3.13 Linux glibc 2.39+ ARM64
SHA-256 checksum
How to use checksums
232f94a3fb7e2636ee057bd9dcdbd747bfac83c96ca66f95976e11aa251b19b6
BLAKE2b-256 checksum
How to use checksums
70f78bfb70f2e9f2a799baa301b65325392655bad5bd628aa9dadd8d051e3a5f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 17, 2026.

Transparency log

Release files / rsloop-0.1.40-cp313-cp313-macosx_13_0_x86_64.whl

Download URL rsloop-0.1.40-cp313-cp313-macosx_13_0_x86_64.whl
Size 2.6 MB
Tags CPython 3.13 macOS 13.0+ x86-64
SHA-256 checksum
How to use checksums
6d8f9e894d31a698e8ba13410de4f4da7349df2c99ad0f3333c64a37b7fcc051
BLAKE2b-256 checksum
How to use checksums
04705e24121ca7f6004180bd60ebbd4b238b8d7790d2ac5856add3e5ed8e8e46
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 17, 2026.

Transparency log

Release files / rsloop-0.1.40-cp313-cp313-macosx_13_0_arm64.whl

Download URL rsloop-0.1.40-cp313-cp313-macosx_13_0_arm64.whl
Size 2.5 MB
Tags CPython 3.13 macOS 13.0+ ARM64
SHA-256 checksum
How to use checksums
e533c7f93dadf512ff3267ba1baea3348de23dd0c61888c16192296388d7bfa7
BLAKE2b-256 checksum
How to use checksums
a4a262fa9f0a9ef8f8beb2a476ee52cc8d5dcd25428d86a574046d18526ea72a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 17, 2026.

Transparency log

Release files / rsloop-0.1.40-cp312-cp312-win_arm64.whl

Download URL rsloop-0.1.40-cp312-cp312-win_arm64.whl
Size 2.3 MB
Tags CPython 3.12 Windows ARM64
SHA-256 checksum
How to use checksums
9effa7af53bf4cc43c2db89e59b5b63e9648380bddd43db7552e07f1bc1c6d28
BLAKE2b-256 checksum
How to use checksums
6a7054fb6b893934386872540c9507102a028fb912bec6b6dbb3f17abfc7c82c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 17, 2026.

Transparency log

Release files / rsloop-0.1.40-cp312-cp312-win_amd64.whl

Download URL rsloop-0.1.40-cp312-cp312-win_amd64.whl
Size 2.3 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
d7dd1b2a4e81d8cc34b452b93059cd15318b9eb8910487c3bd50cd10e10bc05c
BLAKE2b-256 checksum
How to use checksums
d746b33be207ebe968c971b3d522b5921ab35d467d5af1aab1f9dc43740a727d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 17, 2026.

Transparency log

Release files / rsloop-0.1.40-cp312-cp312-manylinux_2_39_x86_64.whl

Download URL rsloop-0.1.40-cp312-cp312-manylinux_2_39_x86_64.whl
Size 2.6 MB
Tags CPython 3.12 Linux glibc 2.39+ x86-64
SHA-256 checksum
How to use checksums
07a1b32fc9e7d41ef55001677954f35c108821e982f9a5981d05d0cd9c622229
BLAKE2b-256 checksum
How to use checksums
b5d8d28a385258627168e2a90ba30fbd4cd39fe8d6f388208cf2c4e301d32446
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 17, 2026.

Transparency log

Release files / rsloop-0.1.40-cp312-cp312-manylinux_2_39_aarch64.whl

Download URL rsloop-0.1.40-cp312-cp312-manylinux_2_39_aarch64.whl
Size 2.5 MB
Tags CPython 3.12 Linux glibc 2.39+ ARM64
SHA-256 checksum
How to use checksums
fb53fae443a67d1a783c836e856f6e50b9a3992272a93ca09e8eedf472abf5cd
BLAKE2b-256 checksum
How to use checksums
dfac6524b77b11975dba14760c9ea60579887460c932934e32ab4c0495aa056a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 17, 2026.

Transparency log

Release files / rsloop-0.1.40-cp312-cp312-macosx_13_0_x86_64.whl

Download URL rsloop-0.1.40-cp312-cp312-macosx_13_0_x86_64.whl
Size 2.6 MB
Tags CPython 3.12 macOS 13.0+ x86-64
SHA-256 checksum
How to use checksums
1ccf0e6a1eb4b91a6232ef13a56b68f00f9e6debe328ec7e6f1676f6a971bbd8
BLAKE2b-256 checksum
How to use checksums
5b243db6ff5ffb7a43ddee9ae11c3100d329f267b269517f148c4fce2fe2f758
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 17, 2026.

Transparency log

Release files / rsloop-0.1.40-cp312-cp312-macosx_13_0_arm64.whl

Download URL rsloop-0.1.40-cp312-cp312-macosx_13_0_arm64.whl
Size 2.5 MB
Tags CPython 3.12 macOS 13.0+ ARM64
SHA-256 checksum
How to use checksums
fc44d447c20361a7cf5851475f451bd38b27f3c107625d25004ed1ae1158c5f1
BLAKE2b-256 checksum
How to use checksums
d5120be794fce6eedeae8cf6240e8b75e48626c66808dd2feae0cebec625fbb2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 17, 2026.

Transparency log

Release files / rsloop-0.1.40-cp311-cp311-win_arm64.whl

Download URL rsloop-0.1.40-cp311-cp311-win_arm64.whl
Size 2.3 MB
Tags CPython 3.11 Windows ARM64
SHA-256 checksum
How to use checksums
ba5eea24197049519c9846c2eb5eb949f2751d65af3214d9ddc9f200427cfbcf
BLAKE2b-256 checksum
How to use checksums
ca0c0c5175856784b9972908eb47e4405d2a7fcdf3d0c9cd1ed66271fdbc25d0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 17, 2026.

Transparency log

Release files / rsloop-0.1.40-cp311-cp311-win_amd64.whl

Download URL rsloop-0.1.40-cp311-cp311-win_amd64.whl
Size 2.3 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
6d231244daaf9ed35021dfbad66de6f79636c4b5d122a8d4191d066cabac6721
BLAKE2b-256 checksum
How to use checksums
15c811635913959e6ad5e580678b4e9b5243969294b63828e3d16da87f5b401d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 17, 2026.

Transparency log

Release files / rsloop-0.1.40-cp311-cp311-manylinux_2_39_x86_64.whl

Download URL rsloop-0.1.40-cp311-cp311-manylinux_2_39_x86_64.whl
Size 2.6 MB
Tags CPython 3.11 Linux glibc 2.39+ x86-64
SHA-256 checksum
How to use checksums
08686783a2a137a4f6bb3b18435545b42c1a2bbf9f86cd5d63b4ef6b42bbf4d1
BLAKE2b-256 checksum
How to use checksums
2fc0e78a6bc6f14b7ae9012d9e476bad911e5a049a49ac6aad63c4861333652c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 17, 2026.

Transparency log

Release files / rsloop-0.1.40-cp311-cp311-manylinux_2_39_aarch64.whl

Download URL rsloop-0.1.40-cp311-cp311-manylinux_2_39_aarch64.whl
Size 2.5 MB
Tags CPython 3.11 Linux glibc 2.39+ ARM64
SHA-256 checksum
How to use checksums
dae32a8237a2b8982af1056fb1170397d19f04ac7e43376221035967dcd370c6
BLAKE2b-256 checksum
How to use checksums
18b8856a8ce8775e4a9eb8ad54ad67cbcae950cb6716507750ce367f85775a65
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 17, 2026.

Transparency log

Release files / rsloop-0.1.40-cp311-cp311-macosx_13_0_x86_64.whl

Download URL rsloop-0.1.40-cp311-cp311-macosx_13_0_x86_64.whl
Size 2.6 MB
Tags CPython 3.11 macOS 13.0+ x86-64
SHA-256 checksum
How to use checksums
f064951061db8f90fcf179afffd8763bca1f77fa308b0a33eb6d97279a36706e
BLAKE2b-256 checksum
How to use checksums
ce0862b990f4714f11cc59f34ee0c64b65ddefc1ee5e86ea55411bfe466ccb5f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 17, 2026.

Transparency log

Release files / rsloop-0.1.40-cp311-cp311-macosx_13_0_arm64.whl

Download URL rsloop-0.1.40-cp311-cp311-macosx_13_0_arm64.whl
Size 2.5 MB
Tags CPython 3.11 macOS 13.0+ ARM64
SHA-256 checksum
How to use checksums
3ee816516cef545916bb6e38fa4cbbc4d97e4073e84e45a295e072b99014cf88
BLAKE2b-256 checksum
How to use checksums
d46e802dc39e875399dddf854c7804760883c66449eb8cf2b4607cdff1ba4d0c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 17, 2026.

Transparency log

Release files / rsloop-0.1.40-cp310-cp310-win_amd64.whl

Download URL rsloop-0.1.40-cp310-cp310-win_amd64.whl
Size 2.3 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
b92b2b638d218dda5fbd573fe331492982ca0aced431a629be0fe3a3aaa76bbd
BLAKE2b-256 checksum
How to use checksums
9d361e6ed5e3558a8331d8c318ae1f55df0a610d5422ce00e9b8cf65c498730f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 17, 2026.

Transparency log

Release files / rsloop-0.1.40-cp310-cp310-manylinux_2_39_x86_64.whl

Download URL rsloop-0.1.40-cp310-cp310-manylinux_2_39_x86_64.whl
Size 2.6 MB
Tags CPython 3.10 Linux glibc 2.39+ x86-64
SHA-256 checksum
How to use checksums
3959ca0aa73d6c0627e28fa96c05dacc2e2683415e01e39e04c3a947b8092f17
BLAKE2b-256 checksum
How to use checksums
c59f95de6df41d7d11b5a2a0982b576c492217de2b316afe7cad77192ef51eb6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 17, 2026.

Transparency log

Release files / rsloop-0.1.40-cp310-cp310-manylinux_2_39_aarch64.whl

Download URL rsloop-0.1.40-cp310-cp310-manylinux_2_39_aarch64.whl
Size 2.5 MB
Tags CPython 3.10 Linux glibc 2.39+ ARM64
SHA-256 checksum
How to use checksums
55a8fbab472e53c6dead9885f1ab718a6ff03b138ee07463a63950a0f14bef06
BLAKE2b-256 checksum
How to use checksums
9a132b77cee0c413c8f84bf565580f5da8d4203e888efcde2da47f872a2244fc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 17, 2026.

Transparency log

Release files / rsloop-0.1.40-cp310-cp310-macosx_13_0_x86_64.whl

Download URL rsloop-0.1.40-cp310-cp310-macosx_13_0_x86_64.whl
Size 2.6 MB
Tags CPython 3.10 macOS 13.0+ x86-64
SHA-256 checksum
How to use checksums
8541881fb08a3b2a0651ec966e0eac8052003805c4e77c24d9814de247c22c58
BLAKE2b-256 checksum
How to use checksums
62b87354aac9cd2956cd82f22961ce7f12276ebe3f42aa119409767d180483bd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 17, 2026.

Transparency log

Release files / rsloop-0.1.40-cp310-cp310-macosx_13_0_arm64.whl

Download URL rsloop-0.1.40-cp310-cp310-macosx_13_0_arm64.whl
Size 2.5 MB
Tags CPython 3.10 macOS 13.0+ ARM64
SHA-256 checksum
How to use checksums
efed3d5468f5c37e0ca711fd088ce711a2994babf0b73a0c4bc3aadd88cfefe1
BLAKE2b-256 checksum
How to use checksums
11875b8d5dff3c80926b6dbe21d0060a8ad1a432d1048c2cdbce8b1a19114c1b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 17, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.40 This release

30 release files

0.1.9

38 release files

0.1.8

38 release files

0.1.7

38 release files

0.1.6

38 release files

0.1.5

38 release files

0.1.4

38 release files

0.1.3

38 release files

0.1.2

25 release files

0.1.1

17 release files

0.1.0

9 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page