Skip to main content

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 ID3D12Resource for 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 abi3 wheel, 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.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for rapidshot-native 0.2.1
File Interpreter ABI Platform
rapidshot_native-0.2.1-cp39-abi3-win_amd64.whl CPython 3.9 abi3 Windows x86-64 Details

Release files / rapidshot_native-0.2.1-cp39-abi3-win_amd64.whl

Download URL rapidshot_native-0.2.1-cp39-abi3-win_amd64.whl
Size 407.7 kB
Tags CPython 3.9 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
0d9079b7e3aea6bfd3b0b9f7da0409046cd003fdbb19561ec93d9a6bca5e2e3a
BLAKE2b-256 checksum
How to use checksums
726e1c63032756318a5f718efb859640bbf7bca2520a0c40183ba10520db3bce
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 25, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.1 This release

1 release file

0.2.0

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page