rsloop 0.1.52__tar.gz → 0.1.54__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {rsloop-0.1.52 → rsloop-0.1.54}/.github/workflows/anyio.yml +2 -2
- {rsloop-0.1.52 → rsloop-0.1.54}/.github/workflows/tests.yml +32 -8
- {rsloop-0.1.52 → rsloop-0.1.54}/.github/workflows/vibeio-native.yml +2 -2
- {rsloop-0.1.52 → rsloop-0.1.54}/.github/workflows/wheels.yml +5 -5
- {rsloop-0.1.52 → rsloop-0.1.54}/Cargo.lock +279 -15
- {rsloop-0.1.52 → rsloop-0.1.54}/Cargo.toml +7 -4
- {rsloop-0.1.52 → rsloop-0.1.54}/PKG-INFO +3 -3
- {rsloop-0.1.52 → rsloop-0.1.54}/README.md +1 -1
- {rsloop-0.1.52 → rsloop-0.1.54}/benches/compare_event_loops.py +32 -0
- rsloop-0.1.54/benches/scheduler_workloads.py +98 -0
- rsloop-0.1.54/docs/allocator-batch-results.md +146 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/docs/development.md +52 -1
- {rsloop-0.1.52 → rsloop-0.1.54}/docs/hotpath-lab.md +23 -5
- rsloop-0.1.54/docs/hotpath-rs-optimization.md +44 -0
- rsloop-0.1.54/docs/hotpath-rs-profile.md +74 -0
- rsloop-0.1.54/docs/pyo3-layout-analysis.md +180 -0
- rsloop-0.1.54/docs/rsloop-bindings-performance.md +121 -0
- rsloop-0.1.54/docs/timer-optimization.md +131 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/pyproject.toml +7 -3
- {rsloop-0.1.52 → rsloop-0.1.54}/rust-toolchain.toml +1 -1
- rsloop-0.1.54/scripts/compare_runtime_turns.py +86 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/scripts/hotpath_lab.py +76 -6
- rsloop-0.1.54/scripts/profile_with_hotpath.py +82 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/bindings/loop_api/fast_callbacks.rs +2 -2
- {rsloop-0.1.52 → rsloop-0.1.54}/src/bindings/loop_api/tasks.rs +36 -11
- {rsloop-0.1.52 → rsloop-0.1.54}/src/bindings/loop_api.rs +3 -1
- {rsloop-0.1.52 → rsloop-0.1.54}/src/context.rs +6 -3
- {rsloop-0.1.52 → rsloop-0.1.54}/src/engine/callbacks.rs +89 -11
- {rsloop-0.1.52 → rsloop-0.1.54}/src/engine/commands.rs +10 -5
- {rsloop-0.1.52 → rsloop-0.1.54}/src/engine/dispatcher.rs +8 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/engine/loop_core.rs +44 -5
- {rsloop-0.1.52 → rsloop-0.1.54}/src/lib.rs +2 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/module_init.rs +5 -0
- rsloop-0.1.54/src/profile.rs +36 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/transport/stream/core_events.rs +4 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/transport/stream/core_write.rs +12 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/transport/stream/fast.rs +12 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/transport/stream/py_transport.rs +4 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/transport/stream/server_core.rs +7 -0
- rsloop-0.1.54/src/vibeio/batch_allocator.rs +355 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/executor.rs +49 -4
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/fs/mod.rs +9 -21
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/lib.rs +3 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/process/mod.rs +4 -3
- {rsloop-0.1.52 → rsloop-0.1.54}/tests/test_fast_callbacks.py +81 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/tests/test_local_timers.py +25 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/tests/tooling/test_benchmark_loops.py +47 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/tests/tooling/test_hotpath_lab.py +26 -8
- {rsloop-0.1.52 → rsloop-0.1.54}/uv.lock +13 -55
- {rsloop-0.1.52 → rsloop-0.1.54}/.cargo/config.toml +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/.github/workflows/kani.yml +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/.github/workflows/mkdocs.yml +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/.github/workflows/update-version.yml +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/.gitignore +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/.python-version +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/.vscode/settings.json +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/LICENSE +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/benches/compare_granian.py +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/benches/workload_matrix.py +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/build.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/docs/benchmarks.md +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/docs/examples.md +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/docs/fast-streams.md +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/docs/free-threading.md +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/docs/getting-started.md +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/docs/how-it-works.md +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/docs/index.md +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/docs/project-structure.md +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/docs/rsloop.png +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/docs/rust-extensions.md +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/docs/supported-features.md +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/docs/verification.md +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/examples/01_basics.py +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/examples/02_fd_and_sockets.py +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/examples/03_streams.py +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/examples/04_unix_and_accepted_socket.py +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/examples/05_pipes_signals_subprocesses.py +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/examples/README.md +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/examples/fastapi_service.py +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/examples/granian_service.py +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/examples/picows_server.py +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/examples/picows_test.py +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/examples/wsbench_websockets.py +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/justfile +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/mkdocs.yml +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/pyrightconfig.json +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/python/rsloop/__init__.py +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/python/rsloop/__init__.pyi +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/python/rsloop/_bootstrap.py +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/python/rsloop/_loop.pyi +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/python/rsloop/_loop_compat.py +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/python/rsloop/_run.py +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/python/rsloop/py.typed +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/qualirs.toml +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/scripts/build-pgo-wheels.sh +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/scripts/build-wheels.sh +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/scripts/generate_test_tls_certs.py +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/scripts/prepare_anyio_rsloop_tests.py +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/scripts/python-versions.sh +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/scripts/run_all_tests.py +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/scripts/run_python_tests.py +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/scripts/run_rust_tests.py +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/scripts/test-supported-pythons.sh +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/async_event.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/bindings/loop_api/asyncgens.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/bindings/loop_api/asyncio_cache.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/bindings/loop_api/connections.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/bindings/loop_api/executor.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/bindings/loop_api/ffi_helpers.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/bindings/loop_api/lifecycle.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/bindings/loop_api/methods.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/bindings/loop_api/pipes.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/bindings/loop_api/pre_exec.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/bindings/loop_api/process_handles.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/bindings/loop_api/process_spawn.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/bindings/loop_api/process_stdio.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/bindings/loop_api/servers.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/bindings/loop_api/signals.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/bindings/loop_api/sock_ops.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/bindings/loop_api/socket_connect.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/bindings/loop_api/socket_operation.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/bindings/loop_api/sockets.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/bindings/loop_api/spawn_env.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/bindings/loop_api/tls_params.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/bindings/loop_api/watchers.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/bindings/mod.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/blocking.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/build_metadata.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/engine/mod.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/engine/timer_entry.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/errors.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/platform/fd/mod.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/platform/fd/windows.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/platform/mod.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/python_names.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/rust_async.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/transport/mod.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/transport/process/core_events.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/transport/process/core_protocol.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/transport/process/core_state.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/transport/process/mod.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/transport/process/params.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/transport/process/py_pipes.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/transport/process/py_transport.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/transport/process/spawn.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/transport/process/worker.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/transport/stream/accept.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/transport/stream/buffers.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/transport/stream/builder.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/transport/stream/connect.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/transport/stream/core_protocol.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/transport/stream/core_state.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/transport/stream/io_targets.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/transport/stream/mod.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/transport/stream/pipe_transport.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/transport/stream/platform.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/transport/stream/poll.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/transport/stream/protocol.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/transport/stream/py_server.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/transport/stream/reader.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/transport/stream/reader_task.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/transport/stream/server.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/transport/stream/server_types.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/transport/stream/socket_transport.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/transport/stream/stats.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/transport/stream/tls_session.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/transport/stream/tls_transport.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/transport/stream/tuning.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/transport/stream/worker.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/transport/stream/write_queue.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/transport/stream/writer.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/transport/tls/material.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/transport/tls/mod.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/verification.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/UPSTREAM.md +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/blocking/default.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/blocking/mod.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/builder.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/driver/iocp.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/driver/kqueue.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/driver/mio.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/driver/mock.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/driver/mod.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/driver/uring.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/fd_inner.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/fs/file.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/fs/metadata.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/fs/open_options.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/io/buf.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/io/mod.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/io/pipe.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/io/splice.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/io/stdio.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/io/util.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/net/mod.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/net/tcp/listener.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/net/tcp/mod.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/net/tcp/stream.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/net/udp.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/net/unix/listener.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/net/unix/mod.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/net/unix/stream.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/op/accept.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/op/accept_unix.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/op/connect.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/op/fsync.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/op/hard_link.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/op/io_util.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/op/mkdir.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/op/mod.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/op/open.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/op/read.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/op/readat.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/op/readiness.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/op/readv.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/op/recv.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/op/recvfrom.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/op/rename.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/op/send.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/op/sendto.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/op/socket_addr.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/op/splice.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/op/statx.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/op/symlink.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/op/unlink.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/op/waitpid.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/op/write.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/op/writeat.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/op/writev.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/process/reaper.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/signal/mod.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/signal/unix.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/signal/windows.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/task.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/test_support.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/time/interval.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/time/mod.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/time/sleep.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/time/timeout.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/timer.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/util/async_wrap.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/src/vibeio/util/mod.rs +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/tests/conftest.py +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/tests/integration/packages/_smoke.py +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/tests/integration/packages/aiohttp_test.py +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/tests/integration/packages/anyio_test.py +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/tests/integration/packages/beanie_test.py +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/tests/integration/packages/daphne_test.py +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/tests/integration/packages/django_asgi_test.py +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/tests/integration/packages/django_orm_test.py +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/tests/integration/packages/edgy_test.py +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/tests/integration/packages/falcon_test.py +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/tests/integration/packages/fastapi_test.py +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/tests/integration/packages/faststream_test.py +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/tests/integration/packages/hypercorn_test.py +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/tests/integration/packages/litestar_granian_test.py +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/tests/integration/packages/litestar_test.py +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/tests/integration/packages/mangum_test.py +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/tests/integration/packages/ormar_test.py +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/tests/integration/packages/piccolo_test.py +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/tests/integration/packages/quart_test.py +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/tests/integration/packages/sanic_test.py +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/tests/integration/packages/sqlalchemy_test.py +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/tests/integration/packages/sqlmodel_test.py +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/tests/integration/packages/starlette_test.py +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/tests/integration/packages/tortoise_orm_test.py +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/tests/integration/packages/uvicorn_test.py +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/tests/proptest-regressions/transport/stream/fast.txt +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/tests/test_buffered_delivery.py +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/tests/test_compat.py +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/tests/test_free_threading.py +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/tests/test_local_sockets.py +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/tests/test_numeric_addrinfo.py +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/tests/test_run.py +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/tests/test_stream_reader.py +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/tests/test_subprocesses.py +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/tests/test_tls.py +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/tests/test_write_reentrancy.py +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/tests/tooling/test_granian_benchmark.py +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/tests/tooling/test_test_runner.py +0 -0
- {rsloop-0.1.52 → rsloop-0.1.54}/tests/typing/public_api.py +0 -0
|
@@ -69,9 +69,9 @@ jobs:
|
|
|
69
69
|
cache-suffix: anyio-${{ matrix.os_name }}-py${{ matrix.python_version }}
|
|
70
70
|
|
|
71
71
|
- name: Set up Rust
|
|
72
|
-
uses: dtolnay/rust-toolchain@
|
|
72
|
+
uses: dtolnay/rust-toolchain@master
|
|
73
73
|
with:
|
|
74
|
-
toolchain: "
|
|
74
|
+
toolchain: "nightly-2026-09-25"
|
|
75
75
|
|
|
76
76
|
- name: Cache Cargo registry
|
|
77
77
|
uses: Swatinem/rust-cache@v2
|
|
@@ -48,9 +48,9 @@ jobs:
|
|
|
48
48
|
python-version: "3.13"
|
|
49
49
|
|
|
50
50
|
- name: Set up Rust
|
|
51
|
-
uses: dtolnay/rust-toolchain@
|
|
51
|
+
uses: dtolnay/rust-toolchain@master
|
|
52
52
|
with:
|
|
53
|
-
toolchain: "
|
|
53
|
+
toolchain: "nightly-2026-09-25"
|
|
54
54
|
|
|
55
55
|
- name: Cache Cargo registry
|
|
56
56
|
uses: Swatinem/rust-cache@v2
|
|
@@ -80,9 +80,9 @@ jobs:
|
|
|
80
80
|
python-version: "3.13"
|
|
81
81
|
|
|
82
82
|
- name: Set up Rust
|
|
83
|
-
uses: dtolnay/rust-toolchain@
|
|
83
|
+
uses: dtolnay/rust-toolchain@master
|
|
84
84
|
with:
|
|
85
|
-
toolchain: "
|
|
85
|
+
toolchain: "nightly-2026-09-25"
|
|
86
86
|
components: clippy
|
|
87
87
|
|
|
88
88
|
- name: Cache Cargo registry
|
|
@@ -91,6 +91,30 @@ jobs:
|
|
|
91
91
|
- name: Run Clippy
|
|
92
92
|
run: cargo clippy --all-targets --all-features --locked -- -D warnings
|
|
93
93
|
|
|
94
|
+
allocator-miri:
|
|
95
|
+
name: allocator miri (strict provenance)
|
|
96
|
+
runs-on: ubuntu-latest
|
|
97
|
+
timeout-minutes: 15
|
|
98
|
+
steps:
|
|
99
|
+
- name: Check out repository
|
|
100
|
+
uses: actions/checkout@v6
|
|
101
|
+
with:
|
|
102
|
+
persist-credentials: false
|
|
103
|
+
|
|
104
|
+
- name: Set up Rust
|
|
105
|
+
uses: dtolnay/rust-toolchain@master
|
|
106
|
+
with:
|
|
107
|
+
toolchain: "nightly-2026-09-25"
|
|
108
|
+
components: miri,rust-src
|
|
109
|
+
|
|
110
|
+
- name: Cache Cargo registry
|
|
111
|
+
uses: Swatinem/rust-cache@v2
|
|
112
|
+
|
|
113
|
+
- name: Run allocator tests under Miri
|
|
114
|
+
env:
|
|
115
|
+
MIRIFLAGS: -Zmiri-strict-provenance
|
|
116
|
+
run: cargo miri test --manifest-path tools/vibeio-check/Cargo.toml --features scheduler-batch-cache batch_
|
|
117
|
+
|
|
94
118
|
type-check:
|
|
95
119
|
name: pyright
|
|
96
120
|
runs-on: ubuntu-latest
|
|
@@ -165,9 +189,9 @@ jobs:
|
|
|
165
189
|
cache-suffix: anyio
|
|
166
190
|
|
|
167
191
|
- name: Set up Rust
|
|
168
|
-
uses: dtolnay/rust-toolchain@
|
|
192
|
+
uses: dtolnay/rust-toolchain@master
|
|
169
193
|
with:
|
|
170
|
-
toolchain: "
|
|
194
|
+
toolchain: "nightly-2026-09-25"
|
|
171
195
|
|
|
172
196
|
- name: Cache Cargo registry
|
|
173
197
|
uses: Swatinem/rust-cache@v2
|
|
@@ -283,9 +307,9 @@ jobs:
|
|
|
283
307
|
cache-suffix: ${{ matrix.os_name }}-py${{ matrix.python_version }}
|
|
284
308
|
|
|
285
309
|
- name: Set up Rust
|
|
286
|
-
uses: dtolnay/rust-toolchain@
|
|
310
|
+
uses: dtolnay/rust-toolchain@master
|
|
287
311
|
with:
|
|
288
|
-
toolchain: "
|
|
312
|
+
toolchain: "nightly-2026-09-25"
|
|
289
313
|
|
|
290
314
|
- name: Cache Cargo registry
|
|
291
315
|
uses: Swatinem/rust-cache@v2
|
|
@@ -47,9 +47,9 @@ jobs:
|
|
|
47
47
|
persist-credentials: false
|
|
48
48
|
|
|
49
49
|
- name: Set up Rust
|
|
50
|
-
uses: dtolnay/rust-toolchain@
|
|
50
|
+
uses: dtolnay/rust-toolchain@master
|
|
51
51
|
with:
|
|
52
|
-
toolchain: "
|
|
52
|
+
toolchain: "nightly-2026-09-25"
|
|
53
53
|
components: clippy, rustfmt
|
|
54
54
|
|
|
55
55
|
- name: Cache runtime harness build
|
|
@@ -41,7 +41,7 @@ jobs:
|
|
|
41
41
|
- os_name: windows-arm64
|
|
42
42
|
runner: windows-11-arm
|
|
43
43
|
rust_target: aarch64-pc-windows-msvc
|
|
44
|
-
python_versions: "3.11 3.12 3.13 3.14"
|
|
44
|
+
python_versions: "3.11 3.12 3.13 3.14 3.15"
|
|
45
45
|
- os_name: macos-intel
|
|
46
46
|
runner: macos-15-intel
|
|
47
47
|
rust_target: x86_64-apple-darwin
|
|
@@ -64,9 +64,9 @@ jobs:
|
|
|
64
64
|
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b
|
|
65
65
|
|
|
66
66
|
- name: Set up Rust
|
|
67
|
-
uses: dtolnay/rust-toolchain@
|
|
67
|
+
uses: dtolnay/rust-toolchain@master
|
|
68
68
|
with:
|
|
69
|
-
toolchain: "
|
|
69
|
+
toolchain: "nightly-2026-09-25"
|
|
70
70
|
|
|
71
71
|
- name: Install LLVM tools for PGO
|
|
72
72
|
if: github.event_name == 'workflow_dispatch' && inputs.pgo
|
|
@@ -114,9 +114,9 @@ jobs:
|
|
|
114
114
|
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b
|
|
115
115
|
|
|
116
116
|
- name: Set up Rust
|
|
117
|
-
uses: dtolnay/rust-toolchain@
|
|
117
|
+
uses: dtolnay/rust-toolchain@master
|
|
118
118
|
with:
|
|
119
|
-
toolchain: "
|
|
119
|
+
toolchain: "nightly-2026-09-25"
|
|
120
120
|
|
|
121
121
|
- name: Cache Cargo registry and target
|
|
122
122
|
uses: Swatinem/rust-cache@v2
|
|
@@ -2,6 +2,21 @@
|
|
|
2
2
|
# It is not intended for manual editing.
|
|
3
3
|
version = 4
|
|
4
4
|
|
|
5
|
+
[[package]]
|
|
6
|
+
name = "arc-swap"
|
|
7
|
+
version = "1.9.2"
|
|
8
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
9
|
+
checksum = "c049c0be4daef0b145cb3555416b3b8ef5b7888a38aea1a3a155801fe7b0810b"
|
|
10
|
+
dependencies = [
|
|
11
|
+
"rustversion",
|
|
12
|
+
]
|
|
13
|
+
|
|
14
|
+
[[package]]
|
|
15
|
+
name = "ascii"
|
|
16
|
+
version = "1.1.0"
|
|
17
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
18
|
+
checksum = "d92bec98840b8f03a5ff5413de5293bfcd8bf96467cf5452609f939ec6f5de16"
|
|
19
|
+
|
|
5
20
|
[[package]]
|
|
6
21
|
name = "async-channel"
|
|
7
22
|
version = "1.9.0"
|
|
@@ -212,6 +227,12 @@ version = "3.20.3"
|
|
|
212
227
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
213
228
|
checksum = "72f5acc6cb2ba439de613abc23857ec3d78374d8ed5ac84e9d11336e87da8649"
|
|
214
229
|
|
|
230
|
+
[[package]]
|
|
231
|
+
name = "byteorder"
|
|
232
|
+
version = "1.5.0"
|
|
233
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
234
|
+
checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
|
|
235
|
+
|
|
215
236
|
[[package]]
|
|
216
237
|
name = "bytes"
|
|
217
238
|
version = "1.12.1"
|
|
@@ -236,6 +257,12 @@ version = "1.0.4"
|
|
|
236
257
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
237
258
|
checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
|
|
238
259
|
|
|
260
|
+
[[package]]
|
|
261
|
+
name = "chunked_transfer"
|
|
262
|
+
version = "1.5.0"
|
|
263
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
264
|
+
checksum = "6e4de3bc4ea267985becf712dc6d9eed8b04c953b3fcfb339ebc87acd9804901"
|
|
265
|
+
|
|
239
266
|
[[package]]
|
|
240
267
|
name = "cmake"
|
|
241
268
|
version = "0.1.58"
|
|
@@ -294,6 +321,15 @@ version = "0.8.23"
|
|
|
294
321
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
295
322
|
checksum = "a31eee39dddec8330830986fcd7625edb5a24ec90ea038215273bbc3adb08ac6"
|
|
296
323
|
|
|
324
|
+
[[package]]
|
|
325
|
+
name = "deranged"
|
|
326
|
+
version = "0.5.8"
|
|
327
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
328
|
+
checksum = "7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c"
|
|
329
|
+
dependencies = [
|
|
330
|
+
"serde_core",
|
|
331
|
+
]
|
|
332
|
+
|
|
297
333
|
[[package]]
|
|
298
334
|
name = "dunce"
|
|
299
335
|
version = "1.0.5"
|
|
@@ -500,6 +536,16 @@ dependencies = [
|
|
|
500
536
|
"wasm-bindgen",
|
|
501
537
|
]
|
|
502
538
|
|
|
539
|
+
[[package]]
|
|
540
|
+
name = "hdrhistogram"
|
|
541
|
+
version = "7.6.0"
|
|
542
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
543
|
+
checksum = "f49d1053f4708f0af3cf9fc5bffc7e68a914a3c45becb231c80068c9c3f78bea"
|
|
544
|
+
dependencies = [
|
|
545
|
+
"byteorder",
|
|
546
|
+
"num-traits",
|
|
547
|
+
]
|
|
548
|
+
|
|
503
549
|
[[package]]
|
|
504
550
|
name = "heck"
|
|
505
551
|
version = "0.5.0"
|
|
@@ -512,6 +558,52 @@ version = "0.5.3"
|
|
|
512
558
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
513
559
|
checksum = "e17592d60ebacc7d5e169f4663c5f84f9161cc90328abcfe8456f41e4dfcb284"
|
|
514
560
|
|
|
561
|
+
[[package]]
|
|
562
|
+
name = "hotpath"
|
|
563
|
+
version = "0.28.3"
|
|
564
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
565
|
+
checksum = "d553ab03dfbae1d1104652719199823728bf30fb5511afc0764fb02d65a5656b"
|
|
566
|
+
dependencies = [
|
|
567
|
+
"arc-swap",
|
|
568
|
+
"cfg-if",
|
|
569
|
+
"crossbeam-channel",
|
|
570
|
+
"futures-core",
|
|
571
|
+
"hdrhistogram",
|
|
572
|
+
"hotpath-drain",
|
|
573
|
+
"hotpath-macros",
|
|
574
|
+
"libc",
|
|
575
|
+
"pin-project-lite",
|
|
576
|
+
"quanta",
|
|
577
|
+
"regex-lite",
|
|
578
|
+
"serde",
|
|
579
|
+
"serde_json",
|
|
580
|
+
"time",
|
|
581
|
+
"tiny_http",
|
|
582
|
+
]
|
|
583
|
+
|
|
584
|
+
[[package]]
|
|
585
|
+
name = "hotpath-drain"
|
|
586
|
+
version = "0.28.3"
|
|
587
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
588
|
+
checksum = "42349e85f9425bfe533e9c7aadf6dae93b51b2171ca92f308e9b401962ffeb0e"
|
|
589
|
+
|
|
590
|
+
[[package]]
|
|
591
|
+
name = "hotpath-macros"
|
|
592
|
+
version = "0.28.3"
|
|
593
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
594
|
+
checksum = "05dde24c0cc623819d9466bce63175212d0ecbf450278404a33ab54290e35ed8"
|
|
595
|
+
dependencies = [
|
|
596
|
+
"proc-macro2",
|
|
597
|
+
"quote",
|
|
598
|
+
"syn 2.0.119",
|
|
599
|
+
]
|
|
600
|
+
|
|
601
|
+
[[package]]
|
|
602
|
+
name = "httpdate"
|
|
603
|
+
version = "1.0.3"
|
|
604
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
605
|
+
checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9"
|
|
606
|
+
|
|
515
607
|
[[package]]
|
|
516
608
|
name = "io-uring"
|
|
517
609
|
version = "0.7.15"
|
|
@@ -523,6 +615,12 @@ dependencies = [
|
|
|
523
615
|
"libc",
|
|
524
616
|
]
|
|
525
617
|
|
|
618
|
+
[[package]]
|
|
619
|
+
name = "itoa"
|
|
620
|
+
version = "1.0.18"
|
|
621
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
622
|
+
checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682"
|
|
623
|
+
|
|
526
624
|
[[package]]
|
|
527
625
|
name = "jobserver"
|
|
528
626
|
version = "0.1.35"
|
|
@@ -555,9 +653,9 @@ dependencies = [
|
|
|
555
653
|
|
|
556
654
|
[[package]]
|
|
557
655
|
name = "libc"
|
|
558
|
-
version = "0.2.
|
|
656
|
+
version = "0.2.190"
|
|
559
657
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
560
|
-
checksum = "
|
|
658
|
+
checksum = "ce5d3ddc6d3fa000eb1536d85e147bfe31aacaba692ed6a876f95cb7c855be78"
|
|
561
659
|
|
|
562
660
|
[[package]]
|
|
563
661
|
name = "linux-raw-sys"
|
|
@@ -592,6 +690,12 @@ dependencies = [
|
|
|
592
690
|
"windows-sys 0.61.2",
|
|
593
691
|
]
|
|
594
692
|
|
|
693
|
+
[[package]]
|
|
694
|
+
name = "num-conv"
|
|
695
|
+
version = "0.2.2"
|
|
696
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
697
|
+
checksum = "521739c6d2bac4aa25192232afe6841231376b2b26d4d9fae5ecf8ca5772e441"
|
|
698
|
+
|
|
595
699
|
[[package]]
|
|
596
700
|
name = "num-traits"
|
|
597
701
|
version = "0.2.19"
|
|
@@ -684,6 +788,12 @@ version = "1.15.0"
|
|
|
684
788
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
685
789
|
checksum = "05c8b63e8d9609db387f0324918f81d68fe27748f084ef092fb35954d0539a85"
|
|
686
790
|
|
|
791
|
+
[[package]]
|
|
792
|
+
name = "powerfmt"
|
|
793
|
+
version = "0.2.0"
|
|
794
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
795
|
+
checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
|
|
796
|
+
|
|
687
797
|
[[package]]
|
|
688
798
|
name = "ppv-lite86"
|
|
689
799
|
version = "0.2.21"
|
|
@@ -719,9 +829,9 @@ dependencies = [
|
|
|
719
829
|
|
|
720
830
|
[[package]]
|
|
721
831
|
name = "pyo3"
|
|
722
|
-
version = "0.29.
|
|
832
|
+
version = "0.29.3"
|
|
723
833
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
724
|
-
checksum = "
|
|
834
|
+
checksum = "700d18fa267b73b9b521fd7e13580e2f446916f176cacee1ab63fcc8191f1655"
|
|
725
835
|
dependencies = [
|
|
726
836
|
"libc",
|
|
727
837
|
"once_cell",
|
|
@@ -747,18 +857,18 @@ dependencies = [
|
|
|
747
857
|
|
|
748
858
|
[[package]]
|
|
749
859
|
name = "pyo3-build-config"
|
|
750
|
-
version = "0.29.
|
|
860
|
+
version = "0.29.3"
|
|
751
861
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
752
|
-
checksum = "
|
|
862
|
+
checksum = "7b3fc0c4d08f6bb10e71fe39dfb9e2f59c6eb6854e22ec8092f50c69a4499adb"
|
|
753
863
|
dependencies = [
|
|
754
864
|
"target-lexicon",
|
|
755
865
|
]
|
|
756
866
|
|
|
757
867
|
[[package]]
|
|
758
868
|
name = "pyo3-ffi"
|
|
759
|
-
version = "0.29.
|
|
869
|
+
version = "0.29.3"
|
|
760
870
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
761
|
-
checksum = "
|
|
871
|
+
checksum = "dfc0b8e19df29aad7086cf977bb0c2a2f143e30567eb113e9cf72b62ca698330"
|
|
762
872
|
dependencies = [
|
|
763
873
|
"libc",
|
|
764
874
|
"pyo3-build-config",
|
|
@@ -766,9 +876,9 @@ dependencies = [
|
|
|
766
876
|
|
|
767
877
|
[[package]]
|
|
768
878
|
name = "pyo3-macros"
|
|
769
|
-
version = "0.29.
|
|
879
|
+
version = "0.29.3"
|
|
770
880
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
771
|
-
checksum = "
|
|
881
|
+
checksum = "6100e8a4b5eba53afaa5ed078364851a0b2499c553a44c31026b929049b49dc6"
|
|
772
882
|
dependencies = [
|
|
773
883
|
"proc-macro2",
|
|
774
884
|
"pyo3-macros-backend",
|
|
@@ -778,9 +888,9 @@ dependencies = [
|
|
|
778
888
|
|
|
779
889
|
[[package]]
|
|
780
890
|
name = "pyo3-macros-backend"
|
|
781
|
-
version = "0.29.
|
|
891
|
+
version = "0.29.3"
|
|
782
892
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
783
|
-
checksum = "
|
|
893
|
+
checksum = "6143877a16e82b5a727b7127ff4cd86858a24a28d745d72f43e6f227c7b1bdb3"
|
|
784
894
|
dependencies = [
|
|
785
895
|
"heck",
|
|
786
896
|
"proc-macro2",
|
|
@@ -788,6 +898,21 @@ dependencies = [
|
|
|
788
898
|
"syn 2.0.119",
|
|
789
899
|
]
|
|
790
900
|
|
|
901
|
+
[[package]]
|
|
902
|
+
name = "quanta"
|
|
903
|
+
version = "0.12.6"
|
|
904
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
905
|
+
checksum = "f3ab5a9d756f0d97bdc89019bd2e4ea098cf9cde50ee7564dde6b81ccc8f06c7"
|
|
906
|
+
dependencies = [
|
|
907
|
+
"crossbeam-utils",
|
|
908
|
+
"libc",
|
|
909
|
+
"once_cell",
|
|
910
|
+
"raw-cpuid",
|
|
911
|
+
"wasi",
|
|
912
|
+
"web-sys",
|
|
913
|
+
"winapi",
|
|
914
|
+
]
|
|
915
|
+
|
|
791
916
|
[[package]]
|
|
792
917
|
name = "quote"
|
|
793
918
|
version = "1.0.47"
|
|
@@ -847,6 +972,21 @@ dependencies = [
|
|
|
847
972
|
"rand_core",
|
|
848
973
|
]
|
|
849
974
|
|
|
975
|
+
[[package]]
|
|
976
|
+
name = "raw-cpuid"
|
|
977
|
+
version = "11.6.0"
|
|
978
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
979
|
+
checksum = "498cd0dc59d73224351ee52a95fee0f1a617a2eae0e7d9d720cc622c73a54186"
|
|
980
|
+
dependencies = [
|
|
981
|
+
"bitflags",
|
|
982
|
+
]
|
|
983
|
+
|
|
984
|
+
[[package]]
|
|
985
|
+
name = "regex-lite"
|
|
986
|
+
version = "0.1.9"
|
|
987
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
988
|
+
checksum = "cab834c73d247e67f4fae452806d17d3c7501756d98c8808d7c9c7aa7d18f973"
|
|
989
|
+
|
|
850
990
|
[[package]]
|
|
851
991
|
name = "regex-syntax"
|
|
852
992
|
version = "0.8.11"
|
|
@@ -869,7 +1009,7 @@ dependencies = [
|
|
|
869
1009
|
|
|
870
1010
|
[[package]]
|
|
871
1011
|
name = "rsloop"
|
|
872
|
-
version = "0.1.
|
|
1012
|
+
version = "0.1.54"
|
|
873
1013
|
dependencies = [
|
|
874
1014
|
"async-channel 2.5.0",
|
|
875
1015
|
"async-io",
|
|
@@ -879,6 +1019,7 @@ dependencies = [
|
|
|
879
1019
|
"errno",
|
|
880
1020
|
"futures",
|
|
881
1021
|
"futures-util",
|
|
1022
|
+
"hotpath",
|
|
882
1023
|
"io-uring",
|
|
883
1024
|
"libc",
|
|
884
1025
|
"memchr",
|
|
@@ -1021,6 +1162,49 @@ dependencies = [
|
|
|
1021
1162
|
"libc",
|
|
1022
1163
|
]
|
|
1023
1164
|
|
|
1165
|
+
[[package]]
|
|
1166
|
+
name = "serde"
|
|
1167
|
+
version = "1.0.229"
|
|
1168
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1169
|
+
checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba"
|
|
1170
|
+
dependencies = [
|
|
1171
|
+
"serde_core",
|
|
1172
|
+
"serde_derive",
|
|
1173
|
+
]
|
|
1174
|
+
|
|
1175
|
+
[[package]]
|
|
1176
|
+
name = "serde_core"
|
|
1177
|
+
version = "1.0.229"
|
|
1178
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1179
|
+
checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48"
|
|
1180
|
+
dependencies = [
|
|
1181
|
+
"serde_derive",
|
|
1182
|
+
]
|
|
1183
|
+
|
|
1184
|
+
[[package]]
|
|
1185
|
+
name = "serde_derive"
|
|
1186
|
+
version = "1.0.229"
|
|
1187
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1188
|
+
checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348"
|
|
1189
|
+
dependencies = [
|
|
1190
|
+
"proc-macro2",
|
|
1191
|
+
"quote",
|
|
1192
|
+
"syn 3.0.5",
|
|
1193
|
+
]
|
|
1194
|
+
|
|
1195
|
+
[[package]]
|
|
1196
|
+
name = "serde_json"
|
|
1197
|
+
version = "1.0.151"
|
|
1198
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1199
|
+
checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14"
|
|
1200
|
+
dependencies = [
|
|
1201
|
+
"itoa",
|
|
1202
|
+
"memchr",
|
|
1203
|
+
"serde",
|
|
1204
|
+
"serde_core",
|
|
1205
|
+
"zmij",
|
|
1206
|
+
]
|
|
1207
|
+
|
|
1024
1208
|
[[package]]
|
|
1025
1209
|
name = "shlex"
|
|
1026
1210
|
version = "2.0.1"
|
|
@@ -1097,6 +1281,48 @@ version = "0.13.5"
|
|
|
1097
1281
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1098
1282
|
checksum = "adb6935a6f5c20170eeceb1a3835a49e12e19d792f6dd344ccc76a985ca5a6ca"
|
|
1099
1283
|
|
|
1284
|
+
[[package]]
|
|
1285
|
+
name = "time"
|
|
1286
|
+
version = "0.3.55"
|
|
1287
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1288
|
+
checksum = "cdb87b95ec50ddfa440816d227a17b2ccbdda963a316a727fda0fc4334f7d134"
|
|
1289
|
+
dependencies = [
|
|
1290
|
+
"deranged",
|
|
1291
|
+
"num-conv",
|
|
1292
|
+
"powerfmt",
|
|
1293
|
+
"serde_core",
|
|
1294
|
+
"time-core",
|
|
1295
|
+
"time-macros",
|
|
1296
|
+
]
|
|
1297
|
+
|
|
1298
|
+
[[package]]
|
|
1299
|
+
name = "time-core"
|
|
1300
|
+
version = "0.1.9"
|
|
1301
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1302
|
+
checksum = "9e1c906769ad99c88eaa54e728060edef082f8e358ff32030cb7c7d315e81109"
|
|
1303
|
+
|
|
1304
|
+
[[package]]
|
|
1305
|
+
name = "time-macros"
|
|
1306
|
+
version = "0.2.32"
|
|
1307
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1308
|
+
checksum = "7e689342a48d2ea927c87ea50cabf8594854bf940e9310208848d680d668ed85"
|
|
1309
|
+
dependencies = [
|
|
1310
|
+
"num-conv",
|
|
1311
|
+
"time-core",
|
|
1312
|
+
]
|
|
1313
|
+
|
|
1314
|
+
[[package]]
|
|
1315
|
+
name = "tiny_http"
|
|
1316
|
+
version = "0.12.0"
|
|
1317
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1318
|
+
checksum = "389915df6413a2e74fb181895f933386023c71110878cd0825588928e64cdc82"
|
|
1319
|
+
dependencies = [
|
|
1320
|
+
"ascii",
|
|
1321
|
+
"chunked_transfer",
|
|
1322
|
+
"httpdate",
|
|
1323
|
+
"log",
|
|
1324
|
+
]
|
|
1325
|
+
|
|
1100
1326
|
[[package]]
|
|
1101
1327
|
name = "tokio"
|
|
1102
1328
|
version = "1.53.1"
|
|
@@ -1115,9 +1341,9 @@ checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94"
|
|
|
1115
1341
|
|
|
1116
1342
|
[[package]]
|
|
1117
1343
|
name = "unicode-ident"
|
|
1118
|
-
version = "1.0.
|
|
1344
|
+
version = "1.0.26"
|
|
1119
1345
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1120
|
-
checksum = "
|
|
1346
|
+
checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954"
|
|
1121
1347
|
|
|
1122
1348
|
[[package]]
|
|
1123
1349
|
name = "untrusted"
|
|
@@ -1201,6 +1427,38 @@ dependencies = [
|
|
|
1201
1427
|
"unicode-ident",
|
|
1202
1428
|
]
|
|
1203
1429
|
|
|
1430
|
+
[[package]]
|
|
1431
|
+
name = "web-sys"
|
|
1432
|
+
version = "0.3.105"
|
|
1433
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1434
|
+
checksum = "9fbddc4a036f00ec4f18c83445bd3115cb306a91da554919a099d9222fe4a7f8"
|
|
1435
|
+
dependencies = [
|
|
1436
|
+
"js-sys",
|
|
1437
|
+
"wasm-bindgen",
|
|
1438
|
+
]
|
|
1439
|
+
|
|
1440
|
+
[[package]]
|
|
1441
|
+
name = "winapi"
|
|
1442
|
+
version = "0.3.9"
|
|
1443
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1444
|
+
checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
|
|
1445
|
+
dependencies = [
|
|
1446
|
+
"winapi-i686-pc-windows-gnu",
|
|
1447
|
+
"winapi-x86_64-pc-windows-gnu",
|
|
1448
|
+
]
|
|
1449
|
+
|
|
1450
|
+
[[package]]
|
|
1451
|
+
name = "winapi-i686-pc-windows-gnu"
|
|
1452
|
+
version = "0.4.0"
|
|
1453
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1454
|
+
checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
|
|
1455
|
+
|
|
1456
|
+
[[package]]
|
|
1457
|
+
name = "winapi-x86_64-pc-windows-gnu"
|
|
1458
|
+
version = "0.4.0"
|
|
1459
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1460
|
+
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
|
|
1461
|
+
|
|
1204
1462
|
[[package]]
|
|
1205
1463
|
name = "windows-link"
|
|
1206
1464
|
version = "0.2.1"
|
|
@@ -1320,3 +1578,9 @@ name = "zeroize"
|
|
|
1320
1578
|
version = "1.9.0"
|
|
1321
1579
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1322
1580
|
checksum = "e13c156562582aa81c60cb29407084cdb54c4164760106ab78e6c5b0858cf64e"
|
|
1581
|
+
|
|
1582
|
+
[[package]]
|
|
1583
|
+
name = "zmij"
|
|
1584
|
+
version = "1.0.23"
|
|
1585
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1586
|
+
checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b"
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
[package]
|
|
2
2
|
name = "rsloop"
|
|
3
|
-
version = "0.1.
|
|
3
|
+
version = "0.1.54"
|
|
4
4
|
edition = "2024"
|
|
5
5
|
description = "An event loop for asyncio written in Rust"
|
|
6
6
|
documentation = "https://github.com/RustedBytes/rsloop#readme"
|
|
7
7
|
readme = "README.md"
|
|
8
|
-
homepage = "https://github.com/RustedBytes/rsloop"
|
|
9
8
|
repository = "https://github.com/RustedBytes/rsloop"
|
|
10
9
|
license = "Apache-2.0"
|
|
11
10
|
|
|
@@ -26,13 +25,14 @@ crossbeam-queue = "0.3"
|
|
|
26
25
|
errno = { version = "0.3", optional = true }
|
|
27
26
|
futures = { version = "0.3", default-features = false, features = ["std"] }
|
|
28
27
|
futures-util = "0.3"
|
|
28
|
+
hotpath = { version = "0.28.3", optional = true }
|
|
29
29
|
libc = "0.2"
|
|
30
30
|
memchr = "2"
|
|
31
31
|
mio = "1"
|
|
32
32
|
once_cell = { version = "1", optional = true }
|
|
33
33
|
oneshot = { version = "0.2", features = ["async", "std"] }
|
|
34
34
|
pin-project-lite = "0.2"
|
|
35
|
-
pyo3 = { version = "0.29.
|
|
35
|
+
pyo3 = { version = "0.29.3" }
|
|
36
36
|
pyo3-async-runtimes = { version = "0.29", features = ["async-std-runtime"] }
|
|
37
37
|
rustls = "0.23"
|
|
38
38
|
rustls-native-certs = "0.8"
|
|
@@ -47,7 +47,7 @@ tokio = { version = "1", default-features = false, features = ["io-util"] }
|
|
|
47
47
|
proptest = { version = "1", default-features = false, features = ["std"] }
|
|
48
48
|
|
|
49
49
|
[build-dependencies]
|
|
50
|
-
pyo3-build-config = "0.29.
|
|
50
|
+
pyo3-build-config = "0.29.3"
|
|
51
51
|
|
|
52
52
|
[target.'cfg(target_os = "linux")'.dependencies]
|
|
53
53
|
io-uring = "0.7"
|
|
@@ -60,6 +60,9 @@ windows-sys = { version = "0.61", features = ["Wdk_Foundation", "Wdk_Storage_Fil
|
|
|
60
60
|
|
|
61
61
|
[features]
|
|
62
62
|
default = []
|
|
63
|
+
hotpath-profile = ["dep:hotpath", "hotpath/hotpath"]
|
|
64
|
+
# Opt-in: faster scheduler turns, but measured TCP workloads can regress.
|
|
65
|
+
scheduler-batch-cache = []
|
|
63
66
|
blocking-default = ["dep:rusty_pool"]
|
|
64
67
|
# Embedded-runtime modules are opt-in; production wheels retain the default
|
|
65
68
|
# networking/timer build unless a feature is explicitly requested.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: rsloop
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.54
|
|
4
4
|
Classifier: Development Status :: 3 - Alpha
|
|
5
5
|
Classifier: Intended Audience :: Developers
|
|
6
6
|
Classifier: License :: OSI Approved :: Apache Software License
|
|
@@ -15,6 +15,7 @@ Classifier: Programming Language :: Python :: 3.11
|
|
|
15
15
|
Classifier: Programming Language :: Python :: 3.12
|
|
16
16
|
Classifier: Programming Language :: Python :: 3.13
|
|
17
17
|
Classifier: Programming Language :: Python :: 3.14
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.15
|
|
18
19
|
Classifier: Programming Language :: Python :: Free Threading :: 2 - Beta
|
|
19
20
|
Classifier: Programming Language :: Rust
|
|
20
21
|
Classifier: Topic :: Software Development :: Libraries
|
|
@@ -22,7 +23,6 @@ Classifier: Topic :: System :: Networking
|
|
|
22
23
|
License-File: LICENSE
|
|
23
24
|
Summary: An event loop for asyncio written in Rust
|
|
24
25
|
Keywords: asyncio,event-loop,pyo3,python,rust
|
|
25
|
-
Home-Page: https://github.com/RustedBytes/rsloop
|
|
26
26
|
Author: Yehor Smoliakov <egorsmkv@gmail.com>
|
|
27
27
|
Requires-Python: >=3.10
|
|
28
28
|
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
|
|
@@ -58,7 +58,7 @@ The package exposes:
|
|
|
58
58
|
`rsloop.run(...)`, `rsloop.install()`, `rsloop.uninstall()`, and
|
|
59
59
|
`rsloop.build_info()`
|
|
60
60
|
|
|
61
|
-
Repository metadata
|
|
61
|
+
Repository metadata supports CPython 3.10 through 3.15.
|
|
62
62
|
The native runtime requires Linux 6.1+, macOS 13+, or Windows 10+ so its hot
|
|
63
63
|
paths can rely on modern completion, timer, and scheduler primitives.
|
|
64
64
|
Free-threaded CPython (`3.14t`) is supported: the extension declares
|
|
@@ -26,7 +26,7 @@ The package exposes:
|
|
|
26
26
|
`rsloop.run(...)`, `rsloop.install()`, `rsloop.uninstall()`, and
|
|
27
27
|
`rsloop.build_info()`
|
|
28
28
|
|
|
29
|
-
Repository metadata
|
|
29
|
+
Repository metadata supports CPython 3.10 through 3.15.
|
|
30
30
|
The native runtime requires Linux 6.1+, macOS 13+, or Windows 10+ so its hot
|
|
31
31
|
paths can rely on modern completion, timer, and scheduler primitives.
|
|
32
32
|
Free-threaded CPython (`3.14t`) is supported: the extension declares
|