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. Native-stream TCP reads and Unix-domain socket reads run on that runtime. On Unix, generic TCP protocol readers use a second vibeio runtime on the Python loop thread (io_uring on Linux), avoiding cross-thread delivery of each read. Non-TLS accepts run on either runtime depending on where the server starts. Python callbacks, tasks, and coroutines 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 10+ so its hot paths can rely on modern completion, timer, and scheduler primitives. Free-threaded CPython (3.14t) is supported: the extension declares gil_used = false, so importing it no longer re-enables the GIL. See Free-Threaded CPython for what that does and does not buy you.

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:

  • Python 3.15's external profiling.sampling 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.

On that path the reader handed to your code is the native PyFastStreamReader rather than asyncio.StreamReader. It implements the reading surface protocols actually use:

  • read(n=-1), readexactly(n)
  • readline(), readuntil(separator=b"\n"), including the tuple-of-separators form CPython 3.13+ accepts
  • at_eof(), exception(), feed_data(), feed_eof(), set_exception()

These match asyncio.StreamReader down to the exception types and their attributes — IncompleteReadError.partial, LimitOverrunError.consumed, the ValueError that readline() raises on limit overrun — and down to what is left in the buffer afterwards. tests/test_stream_reader.py pins that by driving the same feed scripts through both readers and comparing the results.

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

Free-Threaded CPython

rsloop builds and runs on free-threaded CPython 3.14 (3.14t). The extension declares #[pymodule(gil_used = false)], which is what keeps CPython from silently switching the GIL back on for the whole process at import time:

import sys
import rsloop

assert not sys._is_gil_enabled()
assert rsloop.build_info()["free_threaded"]

What that buys you is that separate rsloop.Loop instances on separate threads run concurrently rather than taking turns. A loop is still single-threaded internally, and asyncio objects are still not thread-safe, so the model is one loop per thread — not one loop shared across threads. call_soon_threadsafe() remains the supported way to hand work to a loop from another thread, and it keeps its FIFO ordering guarantee.

The pieces that made this safe:

  • the generic stream-reader fast path writes into StreamReader._buffer through a raw pointer; the size read, resize, and copy now run inside a critical section on that bytearray, so a concurrent mutation cannot leave the copy writing into a freed allocation
  • the ready-queue refill preserves scheduling order when a drain slice leaves older callbacks in the batch. Under the GIL a cross-thread producer could only enqueue while the loop thread was parked, so the reordering was essentially unreachable; without the GIL producers append throughout the drain and it became routine

tests/test_free_threading.py covers this: parallel loops over both the native and stdlib stream reader paths, call_soon_threadsafe() fan-in from eight threads, and a check that importing rsloop leaves the GIL off.

Wheels are built for 3.14t alongside the GIL builds, and the test matrix runs it as its own entry.

Runtime Model

Each loop combines a coordination runtime with a loop-thread I/O runtime:

  • the coordination thread handles commands, timers, and cross-thread work
  • on Unix, generic TCP protocol readers run on the Python loop thread; native fast streams and Unix-domain readers retain coordination-thread I/O
  • non-TLS accept loops use vibeio on the thread that starts them
  • bounded ready-callback turns service loop-thread I/O even when Python tasks continually yield with sleep(0)
  • 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: protocol readers on Unix avoid a coordination-thread hop, but native streams, generic descriptor watches, and TLS-heavy paths do not share one single-threaded I/O path.

Build

Local development uses Python 3.14.7, pinned in .python-version. Install that interpreter before running the uv commands below. This development pin does not change the package's Python 3.10+ support or the multi-version test matrix.

Local builds and build/test CI use Rust 1.98.1, pinned in rust-toolchain.toml. Rustup selects it automatically inside this repository. LLVM tools remain optional for PGO builds.

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

Optionally build wheels with profile-guided optimization:

rustup component add llvm-tools-preview
scripts/build-pgo-wheels.sh

For each requested Python ABI, the PGO wrapper creates an instrumented wheel, trains it on sustained HTTP, TLS, WebSocket, mixed-stream, bulk-transfer, idle-connection, callback, task, and TCP workloads, merges the resulting LLVM profiles, and builds that ABI's final wheel with its matching profile. Per-ABI training avoids discarding counters when PyO3's generated control flow differs between Python versions or free-threaded builds. The target must be native because the instrumented extension runs during training.

Set RSLOOP_PGO_SCENARIOS to override the comma-separated network scenarios. The Wheels CI workflow disables PGO by default: tagged releases and ordinary manual runs use the normal release-wheel builder. To opt in, enable the pgo checkbox when manually running the workflow. LLVM tools are installed only for PGO runs; source-distribution and publishing steps are unchanged. When enabled, PGO is used on every supported platform except Windows ARM64. Rust profile-generation binaries currently crash on that target (rust-lang/rust#156675), so it temporarily falls back to the normal fat-LTO release build.

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

Profiling

Python 3.15 includes a low-overhead sampling profiler that can run rsloop without a special build or in-process instrumentation. Generate an interactive flame graph with:

uv run --python 3.15 --with maturin maturin develop --release
uv run --python 3.15 python -m profiling.sampling run \
  --all-threads --native --flamegraph \
  -o rsloop-profile.html examples/01_basics.py

--all-threads includes rsloop's runtime thread and --native marks time below the Python/native boundary. The profiler and target must use the same Python 3.15 interpreter. Python 3.15 does not allow these options together with --async-aware; use a separate async-aware pass when coroutine reconstruction is more important than native and multi-thread visibility.

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 --with 'zuvloop; python_version >= "3.14"' python benches/compare_event_loops.py \
  --loops asyncio,uvloop,zuvloop,rsloop --repeat 7 --warmups 2

Four-loop comparison on Linux

Measured on September 7, 2026 at commit 6cc3444 on an Intel Core i9-9900K, Linux 7.0.0-31-generic (x86_64), and CPython 3.14.7, with rsloop 0.1.49 built in release mode, uvloop 0.22.1, and zuvloop 0.0.14. Each entry is the median of seven measured runs after two warmups, with each run in a fresh subprocess. Times are milliseconds; lower is better.

Workload asyncio uvloop zuvloop rsloop
200,000 callbacks 112.49 51.57 36.23 48.31
50,000 tasks 149.49 93.55 81.47 89.54
5,000 TCP roundtrips 150.87 126.20 109.64 84.60

The TCP workload uses 1,024-byte payloads and rsloop's native fast streams; the other loops use stdlib asyncio streams. Use --no-rsloop-fast-streams to compare all loops through the stdlib streams layer. Zuvloop led callbacks and tasks in this run, while rsloop led TCP roundtrips. These are local microbenchmarks, not isolated-lab measurements or general application performance claims; do not compare them directly with the historical macOS results below. See the full report and recorded results for the exact commands, build details, and process-run samples.

Historical macOS comparison

An earlier example output from the 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%

Sustained network workloads

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

uv run --with uvloop --with zuvloop python benches/workload_matrix.py \
  --loops rsloop,uvloop,zuvloop \
  --sustained \
  --scenarios http_keepalive,tls_http,websocket_messages,websocket_tls,websockets_messages,websockets_tls,aiohttp_websocket_messages,aiohttp_websocket_tls,starlette_websocket_messages,starlette_websocket_tls,mixed_streams,bulk_transfer \
  --json-output target/matrix-zuvloop.json

Measured on September 7, 2026 with an Intel Core i9-9900K, Linux 7.0.0-31-generic (x86_64), CPython 3.14.7, rsloop 0.1.49 (release build, commit 6cc3444), uvloop 0.22.1, and zuvloop 0.0.14. Each row reports the median of seven measured runs after two warmups, using 16 concurrent connections. Request/response workloads send 500 requests per connection; bulk transfer sends 2 MiB per connection in 64 KiB chunks. Throughput is traffic-only operations per second, except for bulk_transfer, which reports traffic MiB/s. The p95 columns are the medians of each run's p95 latency. Higher throughput and lower latency are better. Each loop/scenario pair runs in its own subprocess, with warmups and measured runs sharing that process. Loops run sequentially in the order shown.

WebSocket library versions were websockets 17.0.1, aiohttp 3.14.3, Starlette 1.6.0, and uvicorn 0.52.3. The run used unrestricted CPU affinity, with other host services running but no concurrent builds or tests. These measurements are from a different host than the macOS microbenchmark example above.

Scenario rsloop uvloop zuvloop rsloop p95 uvloop p95 zuvloop p95
HTTP keep-alive 54,103 51,649 57,764 0.336 ms 0.346 ms 0.292 ms
TLS HTTP 72,496 26,226 23,408 0.241 ms 0.646 ms 0.717 ms
Raw WebSocket 4,870 4,890 4,898 4.454 ms 3.874 ms 3.357 ms
Raw WebSocket over TLS 4,933 4,455 4,397 4.355 ms 4.194 ms 3.800 ms
websockets 24,667 25,800 27,409 0.736 ms 0.631 ms 0.594 ms
websockets over TLS 26,781 14,872 14,555 0.644 ms 1.135 ms 1.167 ms
aiohttp WebSocket 31,636 32,765 35,425 0.605 ms 0.535 ms 0.484 ms
aiohttp WebSocket over TLS 34,165 19,110 18,400 0.504 ms 0.882 ms 0.909 ms
Starlette WebSocket 18,785 20,407 21,743 0.981 ms 0.829 ms 0.787 ms
Starlette WebSocket over TLS 18,509 13,104 13,038 0.948 ms 1.278 ms 1.291 ms
Mixed streams 43,795 34,196 37,116 0.463 ms 0.523 ms 0.473 ms
Bulk transfer (MiB/s) 2,009.9 1,264.9 1,313.3 15.058 ms 25.219 ms 24.317 ms

The former single-burst idle-activation row has been retired: its traffic phase lasted only a few milliseconds and produced unstable throughput rankings. Idle activation now has a separate, versioned latency benchmark described below. In this run, zuvloop had the highest plaintext HTTP and WebSocket throughput, while rsloop led TLS throughput, mixed streams, and bulk transfer. Throughput and tail latency do not always agree: rsloop's raw WebSocket p95 was higher than both alternatives, including over TLS. These results are not an across-the-board performance win or a before/after regression measurement. See the benchmark documentation for workload definitions and reproduction commands.

The ordinary matrix defaults are intentionally short enough for local smoke and CI runs. Even with --sustained, 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.

Idle activation latency

uv run --with uvloop --with zuvloop python benches/workload_matrix.py \
  --loops rsloop,uvloop,zuvloop --scenarios idle_connections --repeat 9 \
  --idle-cycles 100 --idle-warmup-cycles 5 --idle-seconds 0.2 \
  --json-output target/idle-v2-paired.json

Idle v2 reuses 200 established connections across repeated idle/wakeup cycles. It measures all replies from one shared activation timestamp, including task scheduling delay, and reports first/50%/95%/all-reply latency. Nine fresh-process blocks rotate loop order so each loop runs first three times; confidence intervals resample whole paired runs, not individual connections. Results are classified as improved, regressed, or inconclusive using a 5% practical threshold and an approximate 95% confidence interval. The command takes about ten minutes; use --idle-cycles 3 --idle-warmup-cycles 1 --idle-seconds 0.01 --repeat 1 for a smoke test only.

The new measurements cannot be compared with the retired ops/s row. See benchmark methodology and regression handling for timing definitions, host controls, raw distributions, and sample requirements.

Measured on September 7, 2026 at commit 6cc3444 on the Linux/i9-9900K host above with CPython 3.14.7, rsloop 0.1.49 (release), uvloop 0.22.1, and zuvloop 0.0.14. The run collected 900 measured cycles per loop in 27 distinct processes, with unrestricted affinity and no concurrent builds or test runs. These are medians across runs of each run's median cycle milestone, in milliseconds (lower is better):

Loop First reply 50% replied 95% replied All replied
rsloop 17.221 17.579 17.857 17.991
uvloop 18.193 18.722 19.174 19.221
zuvloop 16.441 16.869 17.248 17.288

Comparisons against uvloop use geometric mean paired process-run ratios, not ratios of the table medians:

  • rsloop: -23.5% p95 latency, approximate 95% interval [-48.6%, +5.9%]; inconclusive at the 5% threshold.
  • zuvloop: -15.2% p95 latency, approximate 95% interval [-31.0%, +4.5%]; inconclusive at the 5% threshold.

Individual cycle-p95 latencies span 3.374–28.184 ms for rsloop, 3.736–24.228 ms for uvloop, and 3.454–26.163 ms for zuvloop. Median ordering alone does not establish a latency win.

The full report links the recorded measurements and documents the settings used for all three benchmark suites.

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.51

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.51
File Size Uploaded
rsloop-0.1.51.tar.gz 989.8 kB Details

Built distributions (wheels)

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

Total release size: 98.1 MB

Release files / rsloop-0.1.51.tar.gz

Download URL rsloop-0.1.51.tar.gz
Size 989.8 kB
Tags Source
SHA-256 checksum
How to use checksums
be6dd99591f7b46f49bb94b812012957bccdde10f46690aa6a272f3249a02aa9
BLAKE2b-256 checksum
How to use checksums
0688f1efc6714d708e19eb4ccaccc4b00ac2b32815d0b8f2d5a6cd99c4029370
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 Sep 11, 2026.

Transparency log

Release files / rsloop-0.1.51-cp315-cp315-win_amd64.whl

Download URL rsloop-0.1.51-cp315-cp315-win_amd64.whl
Size 2.3 MB
Tags CPython 3.15 Windows x86-64
SHA-256 checksum
How to use checksums
9f21f2523ec9af9dfbfadb8e7a46bb97610fe6b06c0ffa980d42641ddf80109f
BLAKE2b-256 checksum
How to use checksums
2ca02c688b8f38fced6198489897b15b516fc039cc53fd79d3ed7fd48559c01a
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 Sep 11, 2026.

Transparency log

Release files / rsloop-0.1.51-cp315-cp315-manylinux_2_39_x86_64.whl

Download URL rsloop-0.1.51-cp315-cp315-manylinux_2_39_x86_64.whl
Size 2.7 MB
Tags CPython 3.15 Linux glibc 2.39+ x86-64
SHA-256 checksum
How to use checksums
2bad1bc12a7b559029744f2d880d3ac3e92c4c174c2c146f10014b34d75ae957
BLAKE2b-256 checksum
How to use checksums
874bd67aabfb3c5d2a8752a5e80ae58fa7ece4e14c1a8063461e37ef4d3b6660
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 Sep 11, 2026.

Transparency log

Release files / rsloop-0.1.51-cp315-cp315-manylinux_2_39_aarch64.whl

Download URL rsloop-0.1.51-cp315-cp315-manylinux_2_39_aarch64.whl
Size 2.5 MB
Tags CPython 3.15 Linux glibc 2.39+ ARM64
SHA-256 checksum
How to use checksums
2fc202e872db8d9f4af8da45066588d17524bca4ae8c69058dd05d9cb4b27102
BLAKE2b-256 checksum
How to use checksums
02a5bd8084f963902d43d2119def40917f35e6d4ecb1ed258dda9fd420ef56b7
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 Sep 11, 2026.

Transparency log

Release files / rsloop-0.1.51-cp315-cp315-macosx_13_0_x86_64.whl

Download URL rsloop-0.1.51-cp315-cp315-macosx_13_0_x86_64.whl
Size 2.6 MB
Tags CPython 3.15 macOS 13.0+ x86-64
SHA-256 checksum
How to use checksums
9201e8647e41eb6b3e12f46d05019c9ebd1850503006da884e33f41c0158aa7c
BLAKE2b-256 checksum
How to use checksums
9c6b10634aabd0fe30f884dee4bf060534a1e0e0907bac88a4c53a87b77a91d2
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 Sep 11, 2026.

Transparency log

Release files / rsloop-0.1.51-cp315-cp315-macosx_13_0_arm64.whl

Download URL rsloop-0.1.51-cp315-cp315-macosx_13_0_arm64.whl
Size 2.4 MB
Tags CPython 3.15 macOS 13.0+ ARM64
SHA-256 checksum
How to use checksums
9710e2f011c63981944da57fb90a2111a3adfb4bf60bf7f770f11044cfdffcd2
BLAKE2b-256 checksum
How to use checksums
01fceab15a90a8513b9c3f33e2d9be65545b8dab12098617d8d1bb8b089df333
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 Sep 11, 2026.

Transparency log

Release files / rsloop-0.1.51-cp314-cp314t-win_amd64.whl

Download URL rsloop-0.1.51-cp314-cp314t-win_amd64.whl
Size 2.3 MB
Tags CPython 3.14 CPython 3.14 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
87cb7b6d3059f6b5e85e75ce9d9a7584dd29a12a46b4fb20a2c7d2159cd78909
BLAKE2b-256 checksum
How to use checksums
d9b534386aebb24153cbcbcca22fb4a358e0e6bbc3c12f6d5f87a5d4426fcebf
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 Sep 11, 2026.

Transparency log

Release files / rsloop-0.1.51-cp314-cp314t-manylinux_2_39_x86_64.whl

Download URL rsloop-0.1.51-cp314-cp314t-manylinux_2_39_x86_64.whl
Size 2.7 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.39+ x86-64
SHA-256 checksum
How to use checksums
190d929798f2f93d814a61f8624d888d85dda5045ee6804fc1e6af42cc3c2e21
BLAKE2b-256 checksum
How to use checksums
122e4975a67ec04a5d81f81f2e4cb6d68fd99fceb6a5f0cc9bed25e95c7cbd16
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 Sep 11, 2026.

Transparency log

Release files / rsloop-0.1.51-cp314-cp314t-manylinux_2_39_aarch64.whl

Download URL rsloop-0.1.51-cp314-cp314t-manylinux_2_39_aarch64.whl
Size 2.5 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.39+ ARM64
SHA-256 checksum
How to use checksums
096c4df7076559d540a2b828a07fc056a0acc64a24acbe9620222bb6806a6701
BLAKE2b-256 checksum
How to use checksums
8573f5490d678215506734d1127b6c715e797e5e9d9350ac1a33ca49ae97486a
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 Sep 11, 2026.

Transparency log

Release files / rsloop-0.1.51-cp314-cp314t-macosx_13_0_x86_64.whl

Download URL rsloop-0.1.51-cp314-cp314t-macosx_13_0_x86_64.whl
Size 2.6 MB
Tags CPython 3.14 CPython 3.14 free-threading macOS 13.0+ x86-64
SHA-256 checksum
How to use checksums
5521605d4593b764cbe8a0489db15ff8cc0d351794973fbdc7d8538f2561f922
BLAKE2b-256 checksum
How to use checksums
b51e5a0482195448cc0e9a6979116530fe0fae7ae7027199c7c79db49ba77420
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 Sep 11, 2026.

Transparency log

Release files / rsloop-0.1.51-cp314-cp314t-macosx_13_0_arm64.whl

Download URL rsloop-0.1.51-cp314-cp314t-macosx_13_0_arm64.whl
Size 2.4 MB
Tags CPython 3.14 CPython 3.14 free-threading macOS 13.0+ ARM64
SHA-256 checksum
How to use checksums
6483986bda83759ffd2e1d44d496eb1a6a089d45e00115ccf098ea3fddfd4fe6
BLAKE2b-256 checksum
How to use checksums
c81689264c7c55638208a3ee253bada3af785f11a337c4adcc22e0fc434aca47
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 Sep 11, 2026.

Transparency log

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

Download URL rsloop-0.1.51-cp314-cp314-win_arm64.whl
Size 2.3 MB
Tags CPython 3.14 Windows ARM64
SHA-256 checksum
How to use checksums
f82767f29424a520cd920584128ccaafda44e2a70e34e4b3241ff765ce7c1571
BLAKE2b-256 checksum
How to use checksums
44493a970704713515b5cac3a7968b081f202e76374103b00103db1458c25dac
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 Sep 11, 2026.

Transparency log

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

Download URL rsloop-0.1.51-cp314-cp314-win_amd64.whl
Size 2.3 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
a2c75b541424750f9831e522b3faaa2f81cc5f57619b3ebc59523d355bac5760
BLAKE2b-256 checksum
How to use checksums
166130b0c9755ea0af453336fb4564eb97fb968adabe7843e957d43dc7d71d70
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 Sep 11, 2026.

Transparency log

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

Download URL rsloop-0.1.51-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
c8c84a68d950fec7ba1e89ab68f0e5e8d534e87ac1cb330a8c0901181aa205bc
BLAKE2b-256 checksum
How to use checksums
32b011a29a7bd1314d43c0e51e1677208cae27e229d23563f0175d8776699d06
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 Sep 11, 2026.

Transparency log

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

Download URL rsloop-0.1.51-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
3ee80a164ffb9092c51082474dd2bf3ccc177b57645277cbf388e5bb4bde2766
BLAKE2b-256 checksum
How to use checksums
d2a3edbe2f4b015e39d6792f2e903f536eeb6fb08a946a9d7851cdd36f89c37c
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 Sep 11, 2026.

Transparency log

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

Download URL rsloop-0.1.51-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
864e42acfe24f79e3fd863b1b95740f99606986ac9b96df151075322d93a7ea5
BLAKE2b-256 checksum
How to use checksums
db3e7a88af80371f96093c71b135eb22754e280446ac92ce758493e7e4772ec4
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 Sep 11, 2026.

Transparency log

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

Download URL rsloop-0.1.51-cp314-cp314-macosx_13_0_arm64.whl
Size 2.4 MB
Tags CPython 3.14 macOS 13.0+ ARM64
SHA-256 checksum
How to use checksums
6946ac5f4c4c388e69da87bb7ed526981bc8a397c09dc8e304a5895c55a81d85
BLAKE2b-256 checksum
How to use checksums
e7d63d3cffaccbaca86903da611557105e9f0d1ea11dcbd5740cb1fa381bb01a
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 Sep 11, 2026.

Transparency log

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

Download URL rsloop-0.1.51-cp313-cp313-win_arm64.whl
Size 2.3 MB
Tags CPython 3.13 Windows ARM64
SHA-256 checksum
How to use checksums
5d12a59be190eca7ddafd8d1345bda1a8e6ca6682177d3956b699ceb702e25c6
BLAKE2b-256 checksum
How to use checksums
6a2641c53f02fd8cd00031b8031a1dbd4e8439e8cfbabe226e56b3aacc116387
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 Sep 11, 2026.

Transparency log

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

Download URL rsloop-0.1.51-cp313-cp313-win_amd64.whl
Size 2.3 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
9eb00f8fa83501607bc1ca56f30c2e5b04b207a9f38a338c697055440ac1d8c3
BLAKE2b-256 checksum
How to use checksums
c7395a2ea35457702039f9dd028ae45f4010bfbf572ec5bf96486f9647753b9d
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 Sep 11, 2026.

Transparency log

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

Download URL rsloop-0.1.51-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
1061b11b96684cf959d2e69f28d9155ef8f97089ff7a053a89a44227c853664e
BLAKE2b-256 checksum
How to use checksums
91ca2acd55f531a13ab3dbc7b309be60fe4b3532c2d9bb2ca9a36c479fca1b5d
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 Sep 11, 2026.

Transparency log

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

Download URL rsloop-0.1.51-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
7070b54944bdf22c457d9e3ee92b25cb70d0a6fac9c5931a1f2eebee3279d494
BLAKE2b-256 checksum
How to use checksums
158475202f0378a996d6a7a64dedaedd1bc162ce4fc765f9ca15e681ac4a633e
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 Sep 11, 2026.

Transparency log

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

Download URL rsloop-0.1.51-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
1b4bad04fc96679dd4b26345933d278c85f0dff10656f64a82d95ae2ad4e7ea2
BLAKE2b-256 checksum
How to use checksums
27df41a9c09d682000e70cdc665d2b1db580145e84023f88945b2835ab424fa7
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 Sep 11, 2026.

Transparency log

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

Download URL rsloop-0.1.51-cp313-cp313-macosx_13_0_arm64.whl
Size 2.4 MB
Tags CPython 3.13 macOS 13.0+ ARM64
SHA-256 checksum
How to use checksums
e2d286d33138869db9555caee7b1d6750fd8af4c7c03ed4109be19ba933630e0
BLAKE2b-256 checksum
How to use checksums
f6c61eeb42bed0c3ff6a4e905b17269724b4ed7fbbbe1d15b1e05fd4b4484615
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 Sep 11, 2026.

Transparency log

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

Download URL rsloop-0.1.51-cp312-cp312-win_arm64.whl
Size 2.3 MB
Tags CPython 3.12 Windows ARM64
SHA-256 checksum
How to use checksums
b620a72251d421f6596b174a97e48ef0f28ce3cbd27637fb7f29dd4ba9f93850
BLAKE2b-256 checksum
How to use checksums
20ffcb432533d0d036ca97be6bbc140c8ea1a190efa70aa52e72a114474104ce
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 Sep 11, 2026.

Transparency log

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

Download URL rsloop-0.1.51-cp312-cp312-win_amd64.whl
Size 2.3 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
2f916e2a57f062919fd1254e9675798a0602f209fd68fe6f9887abe71a3ddcac
BLAKE2b-256 checksum
How to use checksums
c3d13594617eaa0ecb8d455f0594df97054730330f12ffae6fa414d6112578bd
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 Sep 11, 2026.

Transparency log

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

Download URL rsloop-0.1.51-cp312-cp312-manylinux_2_39_x86_64.whl
Size 2.7 MB
Tags CPython 3.12 Linux glibc 2.39+ x86-64
SHA-256 checksum
How to use checksums
9dd4c7ba143b3302e222d54dbcf867f55926cdd70b25657ba5ea58150e985f97
BLAKE2b-256 checksum
How to use checksums
5a43d4dcfe0591e9408fb1c6e5e708334f78c51afceab7da8236ea33a0911e02
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 Sep 11, 2026.

Transparency log

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

Download URL rsloop-0.1.51-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
5be351c9f0c0a7d7d35c5b60f4e23fb002e7f83cac26dcfde5820c856b162043
BLAKE2b-256 checksum
How to use checksums
d8bfc37f9ccdb8897b3b46e8436e76c9e5dbb3bfcfa2fa16114f610e38ca6cd2
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 Sep 11, 2026.

Transparency log

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

Download URL rsloop-0.1.51-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
050f697ea775a052d24fada64cf5bcf3ad1ae331da1f15594b925269ba002f92
BLAKE2b-256 checksum
How to use checksums
6aa810871ba75681d2c650018be89ed00ca9b00f02bf547b4c3e9bfd46d3244a
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 Sep 11, 2026.

Transparency log

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

Download URL rsloop-0.1.51-cp312-cp312-macosx_13_0_arm64.whl
Size 2.4 MB
Tags CPython 3.12 macOS 13.0+ ARM64
SHA-256 checksum
How to use checksums
e3cc766ae6b3bbda6cf5afbed9c17caaf9ed085d619d33c946e0934a67755ed8
BLAKE2b-256 checksum
How to use checksums
695710641b644d0422225ab6a4ea72cbd4ebd06b644751b3193d60220ee7a55f
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 Sep 11, 2026.

Transparency log

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

Download URL rsloop-0.1.51-cp311-cp311-win_arm64.whl
Size 2.3 MB
Tags CPython 3.11 Windows ARM64
SHA-256 checksum
How to use checksums
f5790d322af70ce3ef671062f1153e62c1df30feaae83e440b1da452f4ebc7a7
BLAKE2b-256 checksum
How to use checksums
304d127cd36f2988ae191a29778c40c4928e9a5b3f5640f748dc77f2a832f62b
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 Sep 11, 2026.

Transparency log

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

Download URL rsloop-0.1.51-cp311-cp311-win_amd64.whl
Size 2.3 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
61b4cd54c65d1441364a3bb752285db3a70e6f4e8e7d4e90fe55b6507034ac03
BLAKE2b-256 checksum
How to use checksums
479d471133d06c15f5667b36a8fc9f247e8604fc3884da9b79d121926ff75dad
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 Sep 11, 2026.

Transparency log

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

Download URL rsloop-0.1.51-cp311-cp311-manylinux_2_39_x86_64.whl
Size 2.7 MB
Tags CPython 3.11 Linux glibc 2.39+ x86-64
SHA-256 checksum
How to use checksums
8d95a779482aeddce3d904b3099c3eaed549fd4be9d5998d3fea0b74c9914fd2
BLAKE2b-256 checksum
How to use checksums
cc65ee6b9cc9e0f97c55e3b0af8d6a8c486daea57c26ae5596acb3c619f6841f
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 Sep 11, 2026.

Transparency log

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

Download URL rsloop-0.1.51-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
8526932d78a0f0018d39734507529708b12c98d0df179f348b6d4d6524e37e10
BLAKE2b-256 checksum
How to use checksums
3ae5d889400b67386d480174cf53c62125102cc0e1a24bb6efe530bf5042db4e
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 Sep 11, 2026.

Transparency log

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

Download URL rsloop-0.1.51-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
497a14f28b18cf85d68bdeb698e6a6c6e4cd8bce58bddb678202d1d38757f0be
BLAKE2b-256 checksum
How to use checksums
dac6175ccc2230b8fea66905b7d4eae6f81eec2deb9ce66e939e1d0ba5afcc30
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 Sep 11, 2026.

Transparency log

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

Download URL rsloop-0.1.51-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
c48e5acfe845b50c92bc57e84850307ce9186cdf913f4420ca7b909d1497b9c9
BLAKE2b-256 checksum
How to use checksums
9efce080fe64e419a0eedc78f143eec1f2c54422e3b72b60e9542ee1442cccb0
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 Sep 11, 2026.

Transparency log

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

Download URL rsloop-0.1.51-cp310-cp310-win_amd64.whl
Size 2.3 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
b91126c4b28e5b77a8df7c72fa7f3d3f7a5a393f3612f304ae56040454d18704
BLAKE2b-256 checksum
How to use checksums
f2ee72d96f5c4e2186843bc480fb6fb3ab3acffeac0b4edd4365c7a790b2bc85
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 Sep 11, 2026.

Transparency log

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

Download URL rsloop-0.1.51-cp310-cp310-manylinux_2_39_x86_64.whl
Size 2.7 MB
Tags CPython 3.10 Linux glibc 2.39+ x86-64
SHA-256 checksum
How to use checksums
d6a71aea136369ea9940140cbee5ec39557c0c49908a00d8e840e519bfe7064e
BLAKE2b-256 checksum
How to use checksums
2380dc0da9dfeb567b1c91c4e44af184f89d42f80a62415d97b226c10bf892f8
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 Sep 11, 2026.

Transparency log

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

Download URL rsloop-0.1.51-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
53ce84176b800596db3824878902337e56177e321ad075c840800e9936082b45
BLAKE2b-256 checksum
How to use checksums
0b900c013bcc8a689b6d455b47a1c75c4062524780c0c55fb42acfe880b7ceb7
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 Sep 11, 2026.

Transparency log

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

Download URL rsloop-0.1.51-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
7c9c79e8730f647109ff8491f2e12e378faf8813ba5568ccd37ed34f84a8dec3
BLAKE2b-256 checksum
How to use checksums
6dfd6c47b4a58e2f57044d602c7da23ad0959c9297f5af973be086bddcf95777
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 Sep 11, 2026.

Transparency log

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

Download URL rsloop-0.1.51-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
f24e19b9cc35e27a2d6a451c83dd8ee25df8fa18eee52c4e3e37cb1a31e0e13b
BLAKE2b-256 checksum
How to use checksums
e494ffaa21d67865d18297231aeb1ae188ec26c9b0e863a0e551093eaa942522
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 Sep 11, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.51 This release

40 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