An event loop for asyncio written in Rust
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(), andrsloop.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
TaskLocalsandinto_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,closetime,is_running,is_closedget_debug,set_debugcall_soon,call_soon_threadsafe,call_later,call_at- returned
HandleandTimerHandleobjects withcancel()/cancelled()
Tasks, futures, and execution helpers:
create_future,create_taskset_task_factory,get_task_factoryset_exception_handler,get_exception_handler,call_exception_handler,default_exception_handlerset_default_executor,run_in_executorshutdown_asyncgens,shutdown_default_executor- callback execution under captured
contextvars.Context asyncio.get_running_loop()support while running onrslooprsloop.run(...)helper, withasyncio.run(..., loop_factory=...)integration on Python 3.12+
I/O and networking:
add_reader,remove_reader,add_writer,remove_writersock_recv,sock_recv_into,sock_sendall,sock_accept,sock_connectgetaddrinfo,getnameinfocreate_server,create_connectioncreate_unix_server,create_unix_connectionconnect_accepted_socket- returned
Serverobjects withclose(),is_serving(),get_loop(), andsockets() - returned
StreamTransportobjects withwrite(),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_pipesubprocess_exec,subprocess_shell- returned
ProcessTransportandProcessPipeTransportobjects - higher-level compatibility with
asyncio.create_subprocess_exec()andasyncio.create_subprocess_shell() - Unix subprocess options including
cwd,env,executable,pass_fds,start_new_session,process_group,user,group,extra_groups,umask, andrestore_signals add_signal_handler,remove_signal_handler
Profiling:
profile(...),profiler_running(),start_profiler(),stop_profiler()- opt-in transport counters through
transport_stats()andreset_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 sslis unset orNone
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+ acceptsat_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._bufferthrough a raw pointer; the size read, resize, and copy now run inside a critical section on thatbytearray, 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
vibeioon 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.Protocolimplementations, start in IOCP completion mode and rebind to readiness mode beforestart_tlssynchronously reclaims a socket - generic
add_reader/add_writerdescriptors use cancellable OS-poll workers becausevibeiodoes 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
rustlsbackend with a narrower compatibility surface than CPython's OpenSSL-backedsslmodule. In particular, encrypted private keys are not supported yet, and the fast-stream monkeypatch still falls back to stdlib helpers wheneversslis enabled. TLS transport internals also still use helper-thread paths instead of the runtime-threadvibeiosocket path. - Subprocess support still has one notable gap:
preexec_fnremains unsupported because running arbitrary Python betweenfork()andexec()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, andumaskare 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:
examples/fastapi_service.pyfor running the same FastAPI app on stdlibasyncio,uvloop, orrsloopbenches/compare_event_loops.pyfor callback, task, and TCP stream comparisons
Benchmark
uv run --with maturin maturin develop --release
uv run --with uvloop --with 'zuvloop; python_version >= "3.14"' python benches/compare_event_loops.py
Four-loop comparison on Linux
Measured on September 7, 2026 on an Intel Core i9-9900K, Linux 7.0.0-31-generic (x86_64), and CPython 3.14, with rsloop 0.1.48 built in release mode. Each entry is the median of five measured runs after one warmup, with each run in a fresh subprocess. Times are milliseconds; lower is better.
| Workload | asyncio | uvloop | zuvloop | rsloop |
|---|---|---|---|---|
| 200,000 callbacks | 109.24 | 51.03 | 36.97 | 45.80 |
| 50,000 tasks | 148.07 | 88.56 | 77.48 | 87.05 |
| 5,000 TCP roundtrips | 149.27 | 122.88 | 105.12 | 90.62 |
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.
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%
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.48 (release build),
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 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. 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.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,357 | 48,364 | 56,826 | 0.335 ms | 0.366 ms | 0.297 ms |
| TLS HTTP | 69,047 | 25,267 | 24,076 | 0.287 ms | 0.663 ms | 0.700 ms |
| Raw WebSocket | 4,834 | 4,858 | 4,932 | 5.244 ms | 3.878 ms | 3.381 ms |
| Raw WebSocket over TLS | 4,875 | 4,457 | 4,421 | 4.425 ms | 4.020 ms | 3.770 ms |
websockets |
23,878 | 26,237 | 27,928 | 0.784 ms | 0.640 ms | 0.606 ms |
websockets over TLS |
26,946 | 14,933 | 13,640 | 0.640 ms | 1.103 ms | 1.319 ms |
| aiohttp WebSocket | 31,145 | 34,552 | 37,733 | 0.625 ms | 0.498 ms | 0.458 ms |
| aiohttp WebSocket over TLS | 33,730 | 18,576 | 18,245 | 0.517 ms | 0.905 ms | 0.929 ms |
| Starlette WebSocket | 18,992 | 20,695 | 21,176 | 0.964 ms | 0.816 ms | 0.873 ms |
| Starlette WebSocket over TLS | 17,876 | 13,454 | 12,487 | 0.955 ms | 1.243 ms | 1.437 ms |
| Mixed streams | 41,260 | 35,805 | 37,094 | 0.483 ms | 0.504 ms | 0.476 ms |
| Bulk transfer (MiB/s) | 2,120.0 | 1,269.6 | 1,287.8 | 14.114 ms | 25.134 ms | 24.801 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 on the Linux/i9-9900K host above with CPython 3.14.7, rsloop 0.1.48 (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 | 12.605 | 12.868 | 13.059 | 13.146 |
| uvloop | 13.564 | 13.927 | 14.219 | 14.247 |
| zuvloop | 16.331 | 16.772 | 17.146 | 17.206 |
Both paired comparisons against uvloop are inconclusive. The geometric mean run-level p95 latency change is -13.7% for rsloop, with a 95% bootstrap interval of [-27.5%, +3.1%], and -0.4% for zuvloop, with an interval of [-21.5%, +25.6%]. These use paired run ratios, not the ratio of the table's medians. Individual cycle-p95 latencies span 3.444–29.529 ms for rsloop, 3.739–24.965 ms for uvloop, and 3.388–29.540 ms for zuvloop. The benchmark exposes that uncertainty rather than declaring a latency winner from the median ordering alone.
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.49
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| rsloop-0.1.49.tar.gz | 1.1 MB | Details |
Built distributions (wheels)
Total release size: 85.8 MB
Release files / rsloop-0.1.49.tar.gz
| Download URL | rsloop-0.1.49.tar.gz |
|---|---|
| Size | 1.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
413af1c777dd66018067db7de51ad8c1cacc9956c1d8034d570a61bab077509f
|
|
BLAKE2b-256 checksum How to use checksums |
39cf0055f3724d5c71098aa6823f385b857924e0b71a5bfc24cd4efb47d2ddcf
|
| 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 logRelease files / rsloop-0.1.49-cp314-cp314t-win_amd64.whl
| Download URL | rsloop-0.1.49-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 |
61d402ec42f410a6251151fe78268356698dd4d0cd76ea908a23ac7da21b1472
|
|
BLAKE2b-256 checksum How to use checksums |
4aa11e71030d95ff4ed38f207ecfe54e806ece01b2ed8cbebe0695381b46c85e
|
| 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 logRelease files / rsloop-0.1.49-cp314-cp314t-manylinux_2_39_x86_64.whl
| Download URL | rsloop-0.1.49-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 |
d29b3355eaf1cfc9a9f0a6309de2e41c8057b2f2cacb3af9417a966dee93f334
|
|
BLAKE2b-256 checksum How to use checksums |
09df854a4e56c4125b895b4e734d2e47bb7e6aa390f79daf87b216ac9e835a60
|
| 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 logRelease files / rsloop-0.1.49-cp314-cp314t-manylinux_2_39_aarch64.whl
| Download URL | rsloop-0.1.49-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 |
547e01ac39113e8a76da9ae6d434ffab32d0659bf5f4ae02b2abae116032f5d2
|
|
BLAKE2b-256 checksum How to use checksums |
e5ba444eee02a7bbeff28e3a8c7e0fc3df891235b69f267631f871663762811c
|
| 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 logRelease files / rsloop-0.1.49-cp314-cp314t-macosx_13_0_x86_64.whl
| Download URL | rsloop-0.1.49-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 |
c6e26bf1767d8ee8849adbebe5fdb096d744e345ae3ab55c1212121566b108fa
|
|
BLAKE2b-256 checksum How to use checksums |
c57ae59a8aba346671d90e2cb8db4a4f2c3eb27f9ef0213dd3b7c8fb32f8485e
|
| 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 logRelease files / rsloop-0.1.49-cp314-cp314t-macosx_13_0_arm64.whl
| Download URL | rsloop-0.1.49-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 |
3f92d44b878e32b64a221a5d7894dfdb736a0358001aa0a96966b041a0025024
|
|
BLAKE2b-256 checksum How to use checksums |
ef094ac3ce7d31422d59f3c82f70ac35076a3d9e44f72969e194d541eab9bb75
|
| 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 logRelease files / rsloop-0.1.49-cp314-cp314-win_arm64.whl
| Download URL | rsloop-0.1.49-cp314-cp314-win_arm64.whl |
|---|---|
| Size | 2.4 MB |
| Tags | CPython 3.14 Windows ARM64 |
|
SHA-256 checksum How to use checksums |
e164f39004f41b5c3629940fdc1ab3c4650d826f16c0c1972ccaf1d567fcefd2
|
|
BLAKE2b-256 checksum How to use checksums |
5a62d2ece47b47b553401b2e4680a292f0744f9a1fe97fe8e4bf138d9a5d1e17
|
| 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 logRelease files / rsloop-0.1.49-cp314-cp314-win_amd64.whl
| Download URL | rsloop-0.1.49-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 2.3 MB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
cdc01fe44b838047727be982257a273689a441deafd3f59d1d406b36acd39097
|
|
BLAKE2b-256 checksum How to use checksums |
6aba04bb5533f3ef0082eeb317bf9956bf9069fd90d8e0a73e964039f2e0a102
|
| 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 logRelease files / rsloop-0.1.49-cp314-cp314-manylinux_2_39_x86_64.whl
| Download URL | rsloop-0.1.49-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 |
0fe38470284665b4af05af0f3c95ac2a860c3f0092e4ac1bf99508ba8275c9b6
|
|
BLAKE2b-256 checksum How to use checksums |
552c7c4ae4c5f8cf1a8cde1eefdf929b11a8dd77f5858fe33614b0671216aa88
|
| 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 logRelease files / rsloop-0.1.49-cp314-cp314-manylinux_2_39_aarch64.whl
| Download URL | rsloop-0.1.49-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 |
c62929fba646d9fca11acf490cc1216d9b77b5f1adcf7fd907af7b10a3990064
|
|
BLAKE2b-256 checksum How to use checksums |
14a254960b0fe951d7bd78808e8122c1110020c372fe4a73f6a5fb0e0a7a280d
|
| 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 logRelease files / rsloop-0.1.49-cp314-cp314-macosx_13_0_x86_64.whl
| Download URL | rsloop-0.1.49-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 |
5616f5bc5567af7e67dc1eb91d046b541bac78a06e4aca2328377a0c9d2da250
|
|
BLAKE2b-256 checksum How to use checksums |
846cdb68c6595169e4948c2b48ccdfde96a4a71934087450914ea19b3499d0f9
|
| 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 logRelease files / rsloop-0.1.49-cp314-cp314-macosx_13_0_arm64.whl
| Download URL | rsloop-0.1.49-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 |
9e0465242b52ee68c1c5554670782915b31531a08a689480555ac8a74d8cdfc9
|
|
BLAKE2b-256 checksum How to use checksums |
885c6cdb8f908f9f80e78b9c6ab4139f256d6cb14802470b035eb6b4341d5300
|
| 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 logRelease files / rsloop-0.1.49-cp313-cp313-win_arm64.whl
| Download URL | rsloop-0.1.49-cp313-cp313-win_arm64.whl |
|---|---|
| Size | 2.4 MB |
| Tags | CPython 3.13 Windows ARM64 |
|
SHA-256 checksum How to use checksums |
761a4c623b7c0894ceb46bf19fc0bbd8bf2e70dc600be08c1d63cc6c9c38dc41
|
|
BLAKE2b-256 checksum How to use checksums |
49b44610e8d891fa8d85317fdc38c3b384fc7de181381755536125a7cb5f878c
|
| 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 logRelease files / rsloop-0.1.49-cp313-cp313-win_amd64.whl
| Download URL | rsloop-0.1.49-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 2.3 MB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
e6a2115ec425fedc9127b5464d0c9ea48316e377e76c83130708b29820bdadc7
|
|
BLAKE2b-256 checksum How to use checksums |
1a1d005c6b9d81637b06d5b4b18e67732939365a6cb8bffdd1279073081029bd
|
| 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 logRelease files / rsloop-0.1.49-cp313-cp313-manylinux_2_39_x86_64.whl
| Download URL | rsloop-0.1.49-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 |
0112d2f20a8462372f1aee17879978200bd4711028550a86dcd2da86db4514f7
|
|
BLAKE2b-256 checksum How to use checksums |
e5d2bc3e597025ec7b24aff3e636bf8cd85fa08e6156444657c5e53c5c79837c
|
| 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 logRelease files / rsloop-0.1.49-cp313-cp313-manylinux_2_39_aarch64.whl
| Download URL | rsloop-0.1.49-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 |
544b68f25a1024b7843c3447748dcdab767f74d04db4fcd0305c1beeebc6e367
|
|
BLAKE2b-256 checksum How to use checksums |
4c5446675a85bbd0bbf8f7c121536d83b46d5c7e07d70ce8b99569744ff6be68
|
| 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 logRelease files / rsloop-0.1.49-cp313-cp313-macosx_13_0_x86_64.whl
| Download URL | rsloop-0.1.49-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 |
8f98d5c0388b440f115a561e26f3d83c20a51ae2760328490618ed5fba9da9c3
|
|
BLAKE2b-256 checksum How to use checksums |
d0667aa56bd3aab1c3ab310545f6f08504884d56fa256d237e37e18c9109c9d8
|
| 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 logRelease files / rsloop-0.1.49-cp313-cp313-macosx_13_0_arm64.whl
| Download URL | rsloop-0.1.49-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 |
c6fe20b8b0d8b500b8eb22763d6677d379aa572f6beb3f649c4098cfb244bd53
|
|
BLAKE2b-256 checksum How to use checksums |
f199d71bea60f45433bd2e29c9919b32eee499567e57f96c21d4930a584aeac6
|
| 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 logRelease files / rsloop-0.1.49-cp312-cp312-win_arm64.whl
| Download URL | rsloop-0.1.49-cp312-cp312-win_arm64.whl |
|---|---|
| Size | 2.3 MB |
| Tags | CPython 3.12 Windows ARM64 |
|
SHA-256 checksum How to use checksums |
f24426e0973902035655faad31c984afdbc1f7eb931ba45042296435a3bb4bdd
|
|
BLAKE2b-256 checksum How to use checksums |
d06faf788d00fba0c41c43b61afab6ed42dde50f2df41ce32b88f0d6a1d15f14
|
| 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 logRelease files / rsloop-0.1.49-cp312-cp312-win_amd64.whl
| Download URL | rsloop-0.1.49-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 2.3 MB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
6515a4c7cd473ed5fd9470ade87a8c63f32701274055713f526a66f9433adb40
|
|
BLAKE2b-256 checksum How to use checksums |
af3f19eb9bbd8de2dbc61a9f039d5c4c38ea2ae24340789d9c247b0f2a16c53e
|
| 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 logRelease files / rsloop-0.1.49-cp312-cp312-manylinux_2_39_x86_64.whl
| Download URL | rsloop-0.1.49-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 |
0e7ece0ed85c7273fff13c19ec8fe3b0c4ef6743a3eb4b52ed6b57e1f8d93048
|
|
BLAKE2b-256 checksum How to use checksums |
2bf72e5e4ab6201ef127856b98009406ab51d77bbe64eb5d764238af15a968ba
|
| 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 logRelease files / rsloop-0.1.49-cp312-cp312-manylinux_2_39_aarch64.whl
| Download URL | rsloop-0.1.49-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 |
560c17ecc553f9ccf2257c292580f5986e94dc1561620e5ae559c8df58c14278
|
|
BLAKE2b-256 checksum How to use checksums |
e5f1429adb06b5a0f127b6ca724c8085a5a7358bf0a00e50b720c1711ad623c0
|
| 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 logRelease files / rsloop-0.1.49-cp312-cp312-macosx_13_0_x86_64.whl
| Download URL | rsloop-0.1.49-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 |
36508fa8b81378e4a8e030e0aa7022714a1d0ec870954fb7fb1a7a37e368d798
|
|
BLAKE2b-256 checksum How to use checksums |
80604624ae079e0c3fe3dcfc1876de6c4e3cbc488fb5a2a1c25d3e80609305af
|
| 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 logRelease files / rsloop-0.1.49-cp312-cp312-macosx_13_0_arm64.whl
| Download URL | rsloop-0.1.49-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 |
48d169170128d769d2600767ebdd5510df061e9fd8032aa7eb861104544e4897
|
|
BLAKE2b-256 checksum How to use checksums |
97918c2f4f56e24caf9ed313cbcd72206057f99e1df455695f47ce85d70ed8cd
|
| 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 logRelease files / rsloop-0.1.49-cp311-cp311-win_arm64.whl
| Download URL | rsloop-0.1.49-cp311-cp311-win_arm64.whl |
|---|---|
| Size | 2.4 MB |
| Tags | CPython 3.11 Windows ARM64 |
|
SHA-256 checksum How to use checksums |
b775c27069a04bfe34f4387c82fba17adad8e8e681c91464adec301a1b5c5674
|
|
BLAKE2b-256 checksum How to use checksums |
1dd3670abae9b16022fb02cf5e37c7aa6f8033c0587b794c6b3f1159ae8b0b6a
|
| 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 logRelease files / rsloop-0.1.49-cp311-cp311-win_amd64.whl
| Download URL | rsloop-0.1.49-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 2.3 MB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
4a2d1b615c546e407d58c3fa41ae96ce2d284268dafebbf96f163ec07c4a7039
|
|
BLAKE2b-256 checksum How to use checksums |
8c33ffa3f0efa1ae30ad49b408fa994a4839bcfe39dd7407f673c3a2cfcb3e4b
|
| 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 logRelease files / rsloop-0.1.49-cp311-cp311-manylinux_2_39_x86_64.whl
| Download URL | rsloop-0.1.49-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 |
d7819c9a34e0648483ea531b93bd68d5a7449e9e1c72dc56220268237e9e3967
|
|
BLAKE2b-256 checksum How to use checksums |
aad471085c46cfac0b5faa381069f4d45e0b45477063f5623d43660d1066c5ba
|
| 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 logRelease files / rsloop-0.1.49-cp311-cp311-manylinux_2_39_aarch64.whl
| Download URL | rsloop-0.1.49-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 |
a3a9ff4e17a9eb87775a9136bfe6e276eba0157b6cefe3dfb3594ef747b11c79
|
|
BLAKE2b-256 checksum How to use checksums |
dca238e8872772bf67041ac89c810c9c109930f6363c74d4d42cb1059cebd95c
|
| 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 logRelease files / rsloop-0.1.49-cp311-cp311-macosx_13_0_x86_64.whl
| Download URL | rsloop-0.1.49-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 |
b91791b4dcbcf6f4d596baaad384a2a692a9c854be6836abfbe0efbdf62e62e2
|
|
BLAKE2b-256 checksum How to use checksums |
bf4827e30bdfb466b327ff1dfb3410f7b13843c1645fa4d0d5e27db22da2d99c
|
| 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 logRelease files / rsloop-0.1.49-cp311-cp311-macosx_13_0_arm64.whl
| Download URL | rsloop-0.1.49-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 |
f79aeed67bca18207c5adaf0bddb48d9148e2809a149041478fb1465f8e2aba1
|
|
BLAKE2b-256 checksum How to use checksums |
40322b13bfde648d07c69448210dbeee063a1b2d3ff2d0dbd2fae4f301bff122
|
| 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 logRelease files / rsloop-0.1.49-cp310-cp310-win_amd64.whl
| Download URL | rsloop-0.1.49-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 2.3 MB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
3b5c41a8438af4b79a68025c6bbbd99c8da4f4c5a63fc8314625e671fd9e59fa
|
|
BLAKE2b-256 checksum How to use checksums |
4de1e5a634a88a219e90bd7a3da9526d0b91e8df1b6274a6e594b7b53f70cf88
|
| 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 logRelease files / rsloop-0.1.49-cp310-cp310-manylinux_2_39_x86_64.whl
| Download URL | rsloop-0.1.49-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 |
b1430092ef6bebf1ce2bef3a76830d15a49973028e441fb99c3071e12500cc23
|
|
BLAKE2b-256 checksum How to use checksums |
bb7596ffcab876693beccc74ea69251af8992df82dc2a8364173ec5cf632ece4
|
| 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 logRelease files / rsloop-0.1.49-cp310-cp310-manylinux_2_39_aarch64.whl
| Download URL | rsloop-0.1.49-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 |
3c821f9971cb669189ddf97c2005a705fa295c40efb2e276e2f7187cf23beaf6
|
|
BLAKE2b-256 checksum How to use checksums |
2814ae69fe4ca22010f9031059c511e5f3aa511875fbaf35c77fc307605bd1b9
|
| 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 logRelease files / rsloop-0.1.49-cp310-cp310-macosx_13_0_x86_64.whl
| Download URL | rsloop-0.1.49-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 |
3577511b3d8fafb77a285404375d7ed9b25fde76fc25d0970b834631b5686823
|
|
BLAKE2b-256 checksum How to use checksums |
896ad31c6ba76dc514674abd0fa151c6270438eaa0d0aa4f7aea4fb4a02ca890
|
| 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 logRelease files / rsloop-0.1.49-cp310-cp310-macosx_13_0_arm64.whl
| Download URL | rsloop-0.1.49-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 |
eb7e49844dcdeaafe235374a5d43fc1a2fbc2bd14badf3aa14e797d6fa0579c5
|
|
BLAKE2b-256 checksum How to use checksums |
663c5a577eadf9cda2d616458b6881deb00105dbf8f79d13ca46b086f9bd191b
|
| 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