rapidshot-native
Prebuilt native GPU-interop extension for RapidShot. Install it when you want the GPU paths without installing a Rust toolchain:
pip install rapidshot rapidshot-native
That is the whole integration. This package contains no Python logic of its
own — RapidShot finds it automatically, and rapidshot.native.is_available()
starts returning True.
What it adds
RapidShot's capture path is pure Python and works without this package. The extension covers the parts Python cannot do:
- The GPU tensor. One compute dispatch turns a captured frame into a
model-ready NCHW float32 tensor that never leaves VRAM, exposed as an
ID3D12Resourcefor DirectML or as a shared NT handle for CUDA. - Cross-adapter transfer. Moves a captured frame to a second GPU on hybrid laptops, where Desktop Duplication cannot capture from the discrete adapter at all — including the asynchronous path and its producer/consumer fence handshake.
- AVX2 colour conversion. Byte-exact against the NumPy path, and about
6.4x faster on the synthetic conversion benchmark. Note that end-to-end this
is worth closer to 1.1x on
grab(), because the staging read dominates; the honest reason to install this package is the two items above.
Without it, RapidShot converts colour in NumPy and the GPU paths raise a clear error naming what is missing. Nothing silently degrades.
Requirements
- Windows. Desktop Duplication and D3D12 have no cross-platform equivalent, so there are no wheels for other platforms and there will not be.
- Python 3.9+. Built as an
abi3wheel, so one binary covers every supported version — including versions of Python released after it was built. - x86-64. AVX2 is detected at runtime, with scalar fallbacks, so the wheel runs on pre-AVX2 hardware.
Versioning
Versioned independently of rapidshot: this wheel changes when the Rust
changes, which is not on every RapidShot release. rapidshot declares the
minimum it needs, so pip resolves a working pair. If you pin, pin both.
Building from source
You do not need to — that is what this package is for — but if you want to:
cd native
cargo build --release
python install_dev.py
Needs Rust 1.88+ and the MSVC C++ build tools. See
RELEASING.md in the repository for how the published wheels are produced.
License
MIT, same as RapidShot.
Release files for rapidshot-native 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| rapidshot_native-0.2.0-cp39-abi3-win_amd64.whl | CPython 3.9 | abi3 | Windows x86-64 | Details |
Release files / rapidshot_native-0.2.0-cp39-abi3-win_amd64.whl
| Download URL | rapidshot_native-0.2.0-cp39-abi3-win_amd64.whl |
|---|---|
| Size | 281.3 kB |
| Tags | CPython 3.9 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
8c5512958be6857d6b197da3cfeb521149c9631df90752a2370e0c6933436631
|
|
BLAKE2b-256 checksum How to use checksums |
74a5371cb9f73871f8930c6b18c300fd0d9bf73cb15b7431b51800f10dfb3264
|
| 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 20, 2026.
Transparency log