VTKStreaming
This module provides classes to encode and stream frames from a VTK OpenGL render window using video codecs. It supports video encoding with VP9 (through libvpx) and H.264/H.265 through hardware encoders: NVENC on NVIDIA GPUs, and VideoToolbox on macOS (Apple Silicon and Intel).
Installation
VTKStreaming is available on PyPi on the following platforms:
- Linux x86_64 for python 3.10 to 3.13 included.
- Windows x86_64 for python 3.10 to 3.13 included.
- MacOSX arm64 for python 3.10 to 3.13 included.
It is currently based on VTK 9.6.0.
pip install vtk-streaming
Building from source
There are two build flows:
- Development build: an editable install into a local virtual environment,
built without build isolation. Rebuilds are fast and the generated
compile_commands.jsonstays valid, so clangd/IDE tooling works. - Release build: cibuildwheel produces the exact same distributable wheel as CI, in an isolated environment.
Requirements (both flows):
- Linux: A C++ compiler (GCC 11.4+ or any other compiler supported by VTK.)
- Windows: MSVC (Visual Studio Build Tools). (ensure visual studio environment is initialized)
- macOS: Xcode command line tools. (
xcode-select --installshould have completed successfully)
We recommend uv; it reads the vtk-sdk package
index from pyproject.toml, so no extra index flags are needed.
Development build
The editable install runs with --no-build-isolation, so the build
requirements (scikit-build-core, vtk-sdk, vtk-sdk-python-wheel-helper)
must be present in the environment first, the dev dependency group installs
them along with the test dependencies.
Linux/macOS:
uv venv -p 3.13
. .venv/bin/activate
uv pip install --group dev
uv pip install -e . --no-build-isolation
Windows (open a PowerShell with MSVC initialized, e.g. Visual Studio Developer PowerShell):
uv venv -p 3.13
.venv\Scripts\Activate.ps1
uv pip install --group dev
uv pip install -e . --no-build-isolation
After changing C++ sources, rebuild by re-running the editable install:
uv pip install -e . --no-build-isolation
The CMake build tree persists under build/<wheel_tag>/, which keeps generated
module headers on disk and compile_commands.json valid.
Run the tests with:
pytest tests/ -v
Release build (reproduce CI artifacts)
Wheels are built with cibuildwheel in an
isolated environment; all configuration lives in [tool.cibuildwheel] in
pyproject.toml.
Requirements:
- Linux: Docker (the build runs in a manylinux container).
- Windows: MSVC (Visual Studio Build Tools). (ensure visual studio environment is initialized)
- macOS: Xcode command line tools. (
xcode-select --installshould have completed successfully)
Build a wheel for one Python/platform target:
# Linux
uvx cibuildwheel --only cp310-manylinux_x86_64
# Windows
uvx cibuildwheel --only cp310-win_amd64
# macOS
uvx cibuildwheel --only cp310-macosx_arm64
uvx comes with uv; alternatively
pipx run cibuildwheel or if you use pip:
pip install cibuildwheel
# Linux
cibuildwheel --only cp310-manylinux_x86_64
# Windows
cibuildwheel --only cp310-win_amd64
# macOS
cibuildwheel --only cp310-macosx_arm64
Substitute cp310/cp311/cp312/cp313 to target other Python versions. The wheel is
written to wheelhouse/ and can be installed directly:
pip install wheelhouse/vtk_streaming-*.whl
Examples
- examples/simple_encoder_decoder.py - Live VP9 encode/decode round-trip with two render windows side by side.
- examples/resize_encoder_decoder.py - VP9 encode/decode round-trip that survives window resizes.
- examples/simple_hardware_encoder_record.py - Record a render window for later playback using whichever hardware H.264 encoder
vtkEncoderFactoryselects (Apple VideoToolbox on macOS, NVENC on NVIDIA GPUs). This needsffplayto playback the .h264 file.
Getting help
- For issues with the API, usage or bugs in VTKStreaming libraries, please report them on the original repository.
- For issues with wheel installation, supported Python and VTK versions or Python-side issues, please report them on the GitHub Fork.
Metadata
Release files for vtk-streaming 0.4.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
Total release size: 31.0 MB
Release files / vtk_streaming-0.4.2-cp314-cp314-win_amd64.whl
| Download URL | vtk_streaming-0.4.2-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 2.4 MB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
0b9db83095fb239eead34c3631b5cc3c26c3de0aae1efaa6767f119dde19a46d
|
|
BLAKE2b-256 checksum How to use checksums |
2dca57c719d6d13cbbc4c0099c9a0188799fd1a0d4842ab67f82cea2181b96bb
|
| 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 23, 2026.
Transparency logRelease files / vtk_streaming-0.4.2-cp314-cp314-manylinux_2_28_x86_64.whl
| Download URL | vtk_streaming-0.4.2-cp314-cp314-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 2.3 MB |
| Tags | CPython 3.14 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
38bef2666b1fa992a4efc90483ac4249fbc71e9b2a6aa25ec4d3ce6e2a734499
|
|
BLAKE2b-256 checksum How to use checksums |
d9a5c778c5d18c6a9dabd1471788586e2fb9c0e4dcb6a7a9318af7b3ce70ea5c
|
| 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 23, 2026.
Transparency logRelease files / vtk_streaming-0.4.2-cp314-cp314-macosx_11_0_arm64.whl
| Download URL | vtk_streaming-0.4.2-cp314-cp314-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.5 MB |
| Tags | CPython 3.14 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
f2bdbc5eb7d93ef947946e9bff16015cca9a5008ee70c8299d26f499be2384e3
|
|
BLAKE2b-256 checksum How to use checksums |
71e16d5c2b589024554ddaf89b6b54508c6934adb2bbf992f357efd8076dbaf1
|
| 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 23, 2026.
Transparency logRelease files / vtk_streaming-0.4.2-cp313-cp313-win_amd64.whl
| Download URL | vtk_streaming-0.4.2-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 2.3 MB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
a1f309f1dc9fdc6c2328a6a3d7a5fc5edcbbb483787175401249ccc4245820cc
|
|
BLAKE2b-256 checksum How to use checksums |
414c411a2939d252d2247f80f1ff935fb4c7b9148e2a80ca73a976531f88f55f
|
| 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 23, 2026.
Transparency logRelease files / vtk_streaming-0.4.2-cp313-cp313-manylinux_2_28_x86_64.whl
| Download URL | vtk_streaming-0.4.2-cp313-cp313-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 2.3 MB |
| Tags | CPython 3.13 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
34eb778507ae47102fd367f5d9900da84b5618e536a1bb40cdaabaa38e637fd2
|
|
BLAKE2b-256 checksum How to use checksums |
e10d35567d8b865934ccbf78bd9360e1248ad7375faa96e0871738e7d03b2e4d
|
| 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 23, 2026.
Transparency logRelease files / vtk_streaming-0.4.2-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | vtk_streaming-0.4.2-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.5 MB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
9c7ff025541eef3284158ec1ef1a70a2535bb9855a6c275956ff72c4712868ae
|
|
BLAKE2b-256 checksum How to use checksums |
0444d1081b1646b54e5c49a56395babf6237abe32bb9c2a62e3eaf4326a4519f
|
| 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 23, 2026.
Transparency logRelease files / vtk_streaming-0.4.2-cp312-cp312-win_amd64.whl
| Download URL | vtk_streaming-0.4.2-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 2.3 MB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
deb81f35fbf532fc7a070db2b6af49af0b8c33ee196c527594c43f97f6ddce16
|
|
BLAKE2b-256 checksum How to use checksums |
effa1b8dfceb44db20af2beddc2d57702c5d0e6ca393dbeebdaad93d55195d92
|
| 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 23, 2026.
Transparency logRelease files / vtk_streaming-0.4.2-cp312-cp312-manylinux_2_28_x86_64.whl
| Download URL | vtk_streaming-0.4.2-cp312-cp312-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 2.3 MB |
| Tags | CPython 3.12 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
94e1e890b33d508e63e9199a63948c81ced010c5af7525dae13a9cc2c75a55ff
|
|
BLAKE2b-256 checksum How to use checksums |
d4648bb5cb0190685f5a1618f2e75729a166b3cf19c285f0eee7ed40b7ceec20
|
| 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 23, 2026.
Transparency logRelease files / vtk_streaming-0.4.2-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | vtk_streaming-0.4.2-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.5 MB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
7a449a8be6478ede9220027a1020f163b64fb4f3be030f9fa58f89df33d3c1a4
|
|
BLAKE2b-256 checksum How to use checksums |
0b4edf7443522571dd5c7ca5c5fb1a28e8fbc57d68a76fcdcfaffdccbafefec6
|
| 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 23, 2026.
Transparency logRelease files / vtk_streaming-0.4.2-cp311-cp311-win_amd64.whl
| Download URL | vtk_streaming-0.4.2-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 2.3 MB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
b0fc030acd85513bd7cef761d223340d0d138b95fb8c768383093319a6897a81
|
|
BLAKE2b-256 checksum How to use checksums |
f34d05c18a2b9f4fd8c26bd6cbe705a7c724a605a5a562e7a4f567378a300255
|
| 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 23, 2026.
Transparency logRelease files / vtk_streaming-0.4.2-cp311-cp311-manylinux_2_28_x86_64.whl
| Download URL | vtk_streaming-0.4.2-cp311-cp311-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 2.3 MB |
| Tags | CPython 3.11 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
d5b852a41e2c4eb9d34f7e06ec7b41af3fb2d9397be1fea76885936f5653fc7f
|
|
BLAKE2b-256 checksum How to use checksums |
3af98b32b6d52c17b48f9f1b438ab02198e90f2517ee59586c825f5fb83c2602
|
| 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 23, 2026.
Transparency logRelease files / vtk_streaming-0.4.2-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | vtk_streaming-0.4.2-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.5 MB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
ab26942b5c9cbfe24cd82b67e0831296b1a5b65a830a969a1682571474c18d67
|
|
BLAKE2b-256 checksum How to use checksums |
de80e4f4feddb843d861540ebf5d754daa29e415efdfaadda2a924e9fa0c5b25
|
| 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 23, 2026.
Transparency logRelease files / vtk_streaming-0.4.2-cp310-cp310-win_amd64.whl
| Download URL | vtk_streaming-0.4.2-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 2.3 MB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
6671614e2bd2a4744ca18363c6e7b9a8dba2d2a1ca3dddd68e590014092650c7
|
|
BLAKE2b-256 checksum How to use checksums |
a5bff478b7a418b6b97d79557b9ac62c0acf2d8661f0eaeb2e367435adc6c752
|
| 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 23, 2026.
Transparency logRelease files / vtk_streaming-0.4.2-cp310-cp310-manylinux_2_28_x86_64.whl
| Download URL | vtk_streaming-0.4.2-cp310-cp310-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 2.3 MB |
| Tags | CPython 3.10 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
2fa77f940bb6de02cfc02eebe219a2853386c4039a3b6eb5d851a2b67151aa65
|
|
BLAKE2b-256 checksum How to use checksums |
5e071aac5324b3b2919c625b30c645480145c3756944d410ae094e943c9c6a49
|
| 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 23, 2026.
Transparency logRelease files / vtk_streaming-0.4.2-cp310-cp310-macosx_11_0_arm64.whl
| Download URL | vtk_streaming-0.4.2-cp310-cp310-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.5 MB |
| Tags | CPython 3.10 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
9aecbce9869a9f262789ac371521c76b3d46373fa580116a7a4ddbe29c9a34a5
|
|
BLAKE2b-256 checksum How to use checksums |
52cd82d06a3be9f75f815b0ef0fc34e5ed275b0d944b787ea7c0233e0ca519a0
|
| 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 23, 2026.
Transparency log