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:

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

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, 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 \
  --sustained \
  --json-output target/matrix-opt-final.json

Measured on September 6, 2026 with an Intel Core i9-9900K, Linux 7.0.0-31-generic (x86_64), CPython 3.14.0, rsloop 0.1.47 (release build), and uvloop 0.22.1. Each row reports the median of seven measured runs after two warmups, using 16 concurrent connections and 500 requests per connection. 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; the difference is (rsloop / uvloop - 1) × 100%.

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 rsloop difference rsloop p95 uvloop p95
HTTP keep-alive 51,561 51,410 +0.3% 0.354 ms 0.351 ms
TLS HTTP 72,465 25,493 +184.3% 0.241 ms 0.668 ms
Raw WebSocket 5,197 5,296 -1.9% 5.023 ms 3.504 ms
Raw WebSocket over TLS 5,395 4,824 +11.8% 3.945 ms 3.870 ms
websockets 22,756 24,780 -8.2% 0.830 ms 0.690 ms
websockets over TLS 26,044 15,081 +72.7% 0.672 ms 1.109 ms
aiohttp WebSocket 29,879 33,895 -11.8% 0.656 ms 0.511 ms
aiohttp WebSocket over TLS 32,983 19,063 +73.0% 0.526 ms 0.890 ms
Starlette WebSocket 18,524 20,325 -8.9% 0.997 ms 0.832 ms
Starlette WebSocket over TLS 18,058 13,555 +33.2% 0.942 ms 1.257 ms
Mixed streams 42,797 34,642 +23.5% 0.484 ms 0.521 ms
Bulk transfer (MiB/s) 1,993.5 1,223.7 +62.9% 14.768 ms 26.061 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. The other measurements above are unchanged. HTTP's 0.3% difference is too small to call a win.

Compared with the same sustained workload on the pre-optimization build, plain-text websockets, aiohttp, and Starlette throughput improved by 10.2%, 19.4%, and 22.3%, respectively. They still trail uvloop. The historical regression gate also flagged HTTP tail latency and legacy idle activation; this is not an across-the-board performance win. 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

.venv/bin/python benches/workload_matrix.py \
  --loops rsloop,uvloop --scenarios idle_connections --repeat 8 \
  --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. Eight fresh-process blocks alternate loop order; 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 six 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.

Validation on the Linux/i9-9900K host above collected 800 measured cycles per loop in 16 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.510 17.893 18.169 18.299
uvloop 18.072 18.584 19.029 19.076

The preselected paired comparison is inconclusive: the geometric mean run-level p95 latency change for rsloop versus uvloop is +9.6%, with a 95% bootstrap interval of [-4.8%, +32.2%]. This uses paired run ratios, not the ratio of the table's medians. Individual cycle-p95 latencies still form fast and slow clusters (rsloop 3.423–28.634 ms; uvloop 3.708–24.329 ms). The new benchmark exposes that uncertainty rather than declaring a throughput winner.

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

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.48
File Size Uploaded
rsloop-0.1.48.tar.gz 1.0 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for rsloop 0.1.48
File
rsloop-0.1.48-cp314-cp314t-win_amd64.whl CPython 3.14 CPython 3.14 free-threading Windows x86-64 Details
rsloop-0.1.48-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.48-cp314-cp314t-manylinux_2_39_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.39+ ARM64 Details
rsloop-0.1.48-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.48-cp314-cp314t-macosx_13_0_arm64.whl CPython 3.14 CPython 3.14 free-threading macOS 13.0+ ARM64 Details
rsloop-0.1.48-cp314-cp314-win_arm64.whl CPython 3.14 CPython 3.14 Windows ARM64 Details
rsloop-0.1.48-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
rsloop-0.1.48-cp314-cp314-manylinux_2_39_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.39+ x86-64 Details
rsloop-0.1.48-cp314-cp314-manylinux_2_39_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.39+ ARM64 Details
rsloop-0.1.48-cp314-cp314-macosx_13_0_x86_64.whl CPython 3.14 CPython 3.14 macOS 13.0+ x86-64 Details
rsloop-0.1.48-cp314-cp314-macosx_13_0_arm64.whl CPython 3.14 CPython 3.14 macOS 13.0+ ARM64 Details
rsloop-0.1.48-cp313-cp313-win_arm64.whl CPython 3.13 CPython 3.13 Windows ARM64 Details
rsloop-0.1.48-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
rsloop-0.1.48-cp313-cp313-manylinux_2_39_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.39+ x86-64 Details
rsloop-0.1.48-cp313-cp313-manylinux_2_39_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.39+ ARM64 Details
rsloop-0.1.48-cp313-cp313-macosx_13_0_x86_64.whl CPython 3.13 CPython 3.13 macOS 13.0+ x86-64 Details
rsloop-0.1.48-cp313-cp313-macosx_13_0_arm64.whl CPython 3.13 CPython 3.13 macOS 13.0+ ARM64 Details
rsloop-0.1.48-cp312-cp312-win_arm64.whl CPython 3.12 CPython 3.12 Windows ARM64 Details
rsloop-0.1.48-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
rsloop-0.1.48-cp312-cp312-manylinux_2_39_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.39+ x86-64 Details
rsloop-0.1.48-cp312-cp312-manylinux_2_39_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.39+ ARM64 Details
rsloop-0.1.48-cp312-cp312-macosx_13_0_x86_64.whl CPython 3.12 CPython 3.12 macOS 13.0+ x86-64 Details
rsloop-0.1.48-cp312-cp312-macosx_13_0_arm64.whl CPython 3.12 CPython 3.12 macOS 13.0+ ARM64 Details
rsloop-0.1.48-cp311-cp311-win_arm64.whl CPython 3.11 CPython 3.11 Windows ARM64 Details
rsloop-0.1.48-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
rsloop-0.1.48-cp311-cp311-manylinux_2_39_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.39+ x86-64 Details
rsloop-0.1.48-cp311-cp311-manylinux_2_39_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.39+ ARM64 Details
rsloop-0.1.48-cp311-cp311-macosx_13_0_x86_64.whl CPython 3.11 CPython 3.11 macOS 13.0+ x86-64 Details
rsloop-0.1.48-cp311-cp311-macosx_13_0_arm64.whl CPython 3.11 CPython 3.11 macOS 13.0+ ARM64 Details
rsloop-0.1.48-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
rsloop-0.1.48-cp310-cp310-manylinux_2_39_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.39+ x86-64 Details
rsloop-0.1.48-cp310-cp310-manylinux_2_39_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.39+ ARM64 Details
rsloop-0.1.48-cp310-cp310-macosx_13_0_x86_64.whl CPython 3.10 CPython 3.10 macOS 13.0+ x86-64 Details
rsloop-0.1.48-cp310-cp310-macosx_13_0_arm64.whl CPython 3.10 CPython 3.10 macOS 13.0+ ARM64 Details

Total release size: 85.8 MB

Release files / rsloop-0.1.48.tar.gz

Download URL rsloop-0.1.48.tar.gz
Size 1.0 MB
Tags Source
SHA-256 checksum
How to use checksums
9d7e4955acb87ea8e807c841d607ec1a6f4b6104c5137f9923bd95c663aa41a8
BLAKE2b-256 checksum
How to use checksums
c73bafbb88ce94c468afa7de7743a9951f42dc2c1567582148fdb3fe10ab05d4
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 7, 2026.

Transparency log

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

Download URL rsloop-0.1.48-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
8728f20a0ac1a664285954a404eed26d53ba79df238e125d9c7ed2aa2458777c
BLAKE2b-256 checksum
How to use checksums
a386affb90cf552255dd1de020399f5374fec8440175da7a63b4f692337829f2
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 7, 2026.

Transparency log

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

Download URL rsloop-0.1.48-cp314-cp314t-manylinux_2_39_x86_64.whl
Size 2.6 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.39+ x86-64
SHA-256 checksum
How to use checksums
91e35d067cf9d01a2f8f06d1f0ab7b0c63fa4a01ae9e2739952e0729dbe21789
BLAKE2b-256 checksum
How to use checksums
1b7f0c51fe934d4e29fe225b57b9205771a214caebdd561dada7a12ba8147181
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 7, 2026.

Transparency log

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

Download URL rsloop-0.1.48-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
7e90a46bd62f9e4e483fb5e99f14da152bf4eab70403e188be892b35923f20a9
BLAKE2b-256 checksum
How to use checksums
e7f0f3fb82d964d9875646b33e22ee81752c1b2da2144164d4c2242e1d7dae05
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 7, 2026.

Transparency log

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

Download URL rsloop-0.1.48-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
33416daf0f2f6e15352a38121164706cba39c63cd04fcee2a37afc25cbbbd55d
BLAKE2b-256 checksum
How to use checksums
76a1f3dc755ec9ce2bd2467c9d4ec4ceded596e8bfc97eb7cf340c0711833f7d
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 7, 2026.

Transparency log

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

Download URL rsloop-0.1.48-cp314-cp314t-macosx_13_0_arm64.whl
Size 2.5 MB
Tags CPython 3.14 CPython 3.14 free-threading macOS 13.0+ ARM64
SHA-256 checksum
How to use checksums
ecd20736b942097113b927f29400869753569531c9130e225dfb69cf70c21e01
BLAKE2b-256 checksum
How to use checksums
2ade6f15970d4b9ea36418b3b9474afa1aa603ae961c3856574959d749d947df
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 7, 2026.

Transparency log

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

Download URL rsloop-0.1.48-cp314-cp314-win_arm64.whl
Size 2.4 MB
Tags CPython 3.14 Windows ARM64
SHA-256 checksum
How to use checksums
a154d9279c5012888b341d3408eaeb858ec008cae44819f23b25417c1b7b0907
BLAKE2b-256 checksum
How to use checksums
4f818d4f3d443cf8dadfb1e02056b08e9ef26fbb34150bbae424c63877968523
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 7, 2026.

Transparency log

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

Download URL rsloop-0.1.48-cp314-cp314-win_amd64.whl
Size 2.3 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
129f2bd3d750b043406fafd61b25991af3345c84fb4891fea88401737063ba9d
BLAKE2b-256 checksum
How to use checksums
ae834825552dd86182c5db1ace025cce8c22831b237d00c8eb2e096fbbe6e4e4
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 7, 2026.

Transparency log

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

Download URL rsloop-0.1.48-cp314-cp314-manylinux_2_39_x86_64.whl
Size 2.6 MB
Tags CPython 3.14 Linux glibc 2.39+ x86-64
SHA-256 checksum
How to use checksums
aa00e44a94ebb8670372b8f1c660e90c9ea523a595b15de38ca3643db4a3cd67
BLAKE2b-256 checksum
How to use checksums
bd91e770e2b137aa1fe802e5f614de27b3b3be09d9a5cafd99beea8aff330905
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 7, 2026.

Transparency log

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

Download URL rsloop-0.1.48-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
ea500b0fc66527a1cce5b8e2640e0bd4a3218c2e86d5aaf2989c33260da140f2
BLAKE2b-256 checksum
How to use checksums
e495dd197afd22eb6b2b465ee81e6fdc6c00205469f2a800c63065aa825520dd
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 7, 2026.

Transparency log

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

Download URL rsloop-0.1.48-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
58eb33b0bb8880c9d52e4994f75efe4d6b015dd6a897dab78699dce2232901c0
BLAKE2b-256 checksum
How to use checksums
e7613731ef80d184c89a170802861fa864fd3044c57e3b1341e0536e6d9e2ad5
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 7, 2026.

Transparency log

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

Download URL rsloop-0.1.48-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
fd012167fdad53b5ff7e9cb5e99b62a37e75bd58fa6bd259de38f27be458b8f4
BLAKE2b-256 checksum
How to use checksums
8781fcc8bd1a859da49131470e6a82b4d5b32b19e04fc8c152c98191d07e3a17
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 7, 2026.

Transparency log

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

Download URL rsloop-0.1.48-cp313-cp313-win_arm64.whl
Size 2.4 MB
Tags CPython 3.13 Windows ARM64
SHA-256 checksum
How to use checksums
05bb16f8b1386ff7e8b75ee62460a1506494914acbefc08f1d7bfec4232c1186
BLAKE2b-256 checksum
How to use checksums
9e7a73926161ace72e7f9c5e913c33df5adc80298f5b839a709145c39f732fcf
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 7, 2026.

Transparency log

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

Download URL rsloop-0.1.48-cp313-cp313-win_amd64.whl
Size 2.3 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
577dc1c8ea713a7f1e12217e288082e9689cad92fca537595f59c7154168cadd
BLAKE2b-256 checksum
How to use checksums
68a5a6122b8465b55fa146ed95f406aa0bd11746de33db2406eaf8a0df43340a
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 7, 2026.

Transparency log

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

Download URL rsloop-0.1.48-cp313-cp313-manylinux_2_39_x86_64.whl
Size 2.6 MB
Tags CPython 3.13 Linux glibc 2.39+ x86-64
SHA-256 checksum
How to use checksums
186ecaac0411d65a5064eea8ae893db34b1c9307ccf2d1ab772042244209fa1f
BLAKE2b-256 checksum
How to use checksums
8bda7c971224c0590d115bf248c8a884cd413731dbfc20ec9434dfb4ca232c57
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 7, 2026.

Transparency log

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

Download URL rsloop-0.1.48-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
c66e902106de75066bdc95e300d4964aed4975bccf7933d50203b450787568c2
BLAKE2b-256 checksum
How to use checksums
07c578caa878cd94f53ed42648a74d190fe8cb3e302b7b95ae01a9dc12ba2bf5
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 7, 2026.

Transparency log

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

Download URL rsloop-0.1.48-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
e4ea4f68183dd41318cb4f887db86d7c024bac946a7946d9df8b2f9a8a9e8c99
BLAKE2b-256 checksum
How to use checksums
91bb8046b3e8317bf8bc8235e1a726ba0246fb91fc4a0e06f4f9a1be3cb53427
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 7, 2026.

Transparency log

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

Download URL rsloop-0.1.48-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
870db0577748be518ef8b0689b3113db3f83870a489f1120665a71ff317c86d8
BLAKE2b-256 checksum
How to use checksums
02f68adc7866574d67410295d08e212be21cc9b432a917a5a7b4dd9f14aba190
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 7, 2026.

Transparency log

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

Download URL rsloop-0.1.48-cp312-cp312-win_arm64.whl
Size 2.3 MB
Tags CPython 3.12 Windows ARM64
SHA-256 checksum
How to use checksums
ec47044a0d51b0f62e07d54d36a7920379a342d2cd1add73c0dcbbb06ca2e806
BLAKE2b-256 checksum
How to use checksums
0aab13c40d063ab4907dce3233b9c9ec1b074b895fab38a75c4decf2c3bf67f7
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 7, 2026.

Transparency log

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

Download URL rsloop-0.1.48-cp312-cp312-win_amd64.whl
Size 2.3 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
0dc28b84456db7afd2306e4c3da47774fbbff4e68711e0fe8b3268f109366a8e
BLAKE2b-256 checksum
How to use checksums
5e33c0cb57aaa45f901125b4e51c7e136aa967aca0895bcc0e0da88e538cb209
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 7, 2026.

Transparency log

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

Download URL rsloop-0.1.48-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
e0a693732c6a70c584462786c0432ea80534908528999c7aea1f1eca3e83a954
BLAKE2b-256 checksum
How to use checksums
6817bfd90800c79d7e82e3580fd3f3383fe5927c4cf7c530f3b8afac4fd3a989
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 7, 2026.

Transparency log

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

Download URL rsloop-0.1.48-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
dd25eab0fa7e4c8bca4469b2f691c0aa2897450252b050609b0fec95b314a722
BLAKE2b-256 checksum
How to use checksums
59c1d492d4caa7e7cc53f3de17aff4860f4be70694917beabf084cb60b91d845
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 7, 2026.

Transparency log

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

Download URL rsloop-0.1.48-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
91ab4bccd0f4c749592f9305bff8759cf98e79eb388a971fc85ba1308282a96e
BLAKE2b-256 checksum
How to use checksums
b7c927e2aafac93faab16157ff9c630a510585c809b58bd2af2c180e07815449
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 7, 2026.

Transparency log

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

Download URL rsloop-0.1.48-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
fb9b8a4aa145a4e212bbc0672605f9a747e2cc5ba9cfb503a661f385de563e8a
BLAKE2b-256 checksum
How to use checksums
4730fb40b9abc280bf3b6b759b5d505194798aa3eb4d7b0348352a8898c44f64
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 7, 2026.

Transparency log

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

Download URL rsloop-0.1.48-cp311-cp311-win_arm64.whl
Size 2.4 MB
Tags CPython 3.11 Windows ARM64
SHA-256 checksum
How to use checksums
a5c34b719b5c95c8ea2b4cdba18808ed50e2a4849617c58316fac10bbfc079a9
BLAKE2b-256 checksum
How to use checksums
3e0b02885a83c6e38fe445d2231098495a547488fee1427a43d1e7c69f4fb49c
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 7, 2026.

Transparency log

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

Download URL rsloop-0.1.48-cp311-cp311-win_amd64.whl
Size 2.3 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
4b950abed1543e5236640b0f61bbd39d068cd48c2c1ce7ebe6e7181646f968c4
BLAKE2b-256 checksum
How to use checksums
ff5f4e949f28c43f9152f93ed7a0aa665482b813912350886798717768be450a
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 7, 2026.

Transparency log

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

Download URL rsloop-0.1.48-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
d1a312535a98c1c6796144da7c6d5b667b46ab4d88f99dcfff8930f36f916542
BLAKE2b-256 checksum
How to use checksums
2bab10abb39b9a1d10955e05cbf1a0b79d711fd89d370d34393d6eff2cec312a
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 7, 2026.

Transparency log

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

Download URL rsloop-0.1.48-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
e2f730882e8a8dc16888c5fea9ceb891c815060b50ef378029a28ce56598e74f
BLAKE2b-256 checksum
How to use checksums
d27a07de1902fe67e24695bcd51a55e595ddaab11ae68a2c996e398162ca7838
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 7, 2026.

Transparency log

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

Download URL rsloop-0.1.48-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
30df0ff48e84ba4155d7d6c775cc13d168915d8d98c87c598f839b33e55ce52c
BLAKE2b-256 checksum
How to use checksums
96638ae735550aaaa1570d8910e8ede44ea7134ce2588f2b1846d0699c81f178
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 7, 2026.

Transparency log

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

Download URL rsloop-0.1.48-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
fa50d2644f81f319ca1218ea058dc5ef6aa996f63873a12a195e19327941e133
BLAKE2b-256 checksum
How to use checksums
db04f4c90745622e401fafab42c5956748e867b3a88116da565cb392489181da
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 7, 2026.

Transparency log

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

Download URL rsloop-0.1.48-cp310-cp310-win_amd64.whl
Size 2.3 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
a592ee753b7d306381c130f6a10c43ae5c388c95767f71970f7dddcb0d7d8ca7
BLAKE2b-256 checksum
How to use checksums
80c649a367b72b4d9708c7f0a47ae2bcf73e53a22be336b0bf6b5d8daf483259
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 7, 2026.

Transparency log

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

Download URL rsloop-0.1.48-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
d0c9e081212ef2ede26cf3332905f059485752c597999b4371e57f3ac3627b1e
BLAKE2b-256 checksum
How to use checksums
f55d2478b5bfc3b54b26bee3252a9cde16c434acb48cc085c2032e377a8de091
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 7, 2026.

Transparency log

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

Download URL rsloop-0.1.48-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
823b53c3e3e228b4d840da14c7306cbabd5a3535541a65b411732423cc84ee97
BLAKE2b-256 checksum
How to use checksums
47fd8e9cb09c95ee2a2dc226729404dab55d931b79dff61915b564ed5ca2ee4b
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 7, 2026.

Transparency log

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

Download URL rsloop-0.1.48-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
de8534955e37fc0b9addc0b2cac1e91656410a307cb0a663f02b836aa3d18bc3
BLAKE2b-256 checksum
How to use checksums
953f3e34c2cac25227bbddcca4e0e6d8dcbc31db0c7251a6ecc4987e4cd2ebc6
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 7, 2026.

Transparency log

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

Download URL rsloop-0.1.48-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
d1d8bd63af633ae3376adef1124283cff21fc0b7f219b3d761ea6bf6ccb144a6
BLAKE2b-256 checksum
How to use checksums
1d3166ee570fe35ab3789ef7b22043f75e281775f449d83ca25b8bd8aef81bac
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 7, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.48 This release

35 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