Remote Controlled Area 
Remote Controlled Area widget for trame provide components and communication infrastructure to display remote generated image based content while allowing interaction forwarding such as mouse, touch and multi-pointer devices.
This library aims to provide a core that can then be extended or specialized for any backend. But its initial integration will be focused toward VTK and/or ParaView for enabling interactive remote rendering. But because it aims to be generic, you should be able to rely on its core to connect and drive any kind of backend that could produce images/video-stream and react to mouse interaction.
License
trame-rca is made available under the Apache Software License.
Development
The client-side code is split into a framework-agnostic core (js-components) and Vue/React adapters that depend on it. Install and build the core first, then the adapter(s) you need.
cd js-components
npm i
cd ../vue-components
npm i
npm run build
# optional React adapter
cd ../react-components
npm i
npm run build
cd -
Install the component
pip install -e .
Optional dependencies
TurboJPEG
Faster Jpeg encoding using TurboJPEG.
macOS system install
# macOS
brew install jpeg-turbo
Windows install
Download and install from Github: https://github.com/libjpeg-turbo/libjpeg-turbo/releases
Linux install
# RHEL/CentOS/Fedora
# YUM doc: https://libjpeg-turbo.org/Downloads/YUM
# Ubuntu
apt-get install libturbojpeg
Once your system is ready, you can try our code example:
pip install trame trame-vuetify vtk
pip install "trame-rca[turbo]"
# other encoders: jpeg, avif, turbo-jpeg, png, webp
python ./examples/01_vtk/vtk_cone_simple.py --encoder turbo-jpeg
Video encoding with VTKStreaming
VTKStreaming provides tools for encoding and streaming frames from a VTK OpenGL render window using video codecs. When NVENC is available, it enables H.264/H.265 hardware encoding; otherwise, software encoding falls back to VP9 via libvpx.
The codec is negotiated when the video-decoder display mounts: the client asks the server which codecs it can encode (trame.rca.video.codecs), filters them with VideoDecoder.isConfigSupported, and sends the accepted list back (trame.rca.video.negotiate). The server then creates the encoder with vtkEncoderFactory preferences Hardware=true;Codec=<accepted list>. No frames are pushed before negotiation. Pass on_video_codec to create_view_handler to be told what was selected (codec, backend, hardware, label or error).
You can try our code example:
pip install trame trame-vuetify vtk
pip install "trame-rca[vtkstreaming]"
python ./examples/05_video/vtk_cone_simple_video.py
In order to use source-build of vtkstreaming, please clone [VTKStreaming](https://github.com/Kitware/VTKStreaming.git) one level up outside the trame-rca directory, checkout the wheel branch, and install it inside the trame-rca virtual environment
cd ..
git clone https://github.com/Kitware/VTKStreaming.git
cd VTKstreaming
uv pip install --group dev # build deps into active venv; index from tool.uv.index
uv pip install -e . --no-build-isolation
cd ../trame-rca
python ./examples/05_video/vtk_cone_simple_video.py
Release files for trame-rca 2.11.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| trame_rca-2.11.3.tar.gz | 68.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| trame_rca-2.11.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 145.6 kB
Release files / trame_rca-2.11.3.tar.gz
| Download URL | trame_rca-2.11.3.tar.gz |
|---|---|
| Size | 68.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
54c8c42dbea7aeaf2d8dfcb22d492ee944e92bb1ad988ffd6d14b49a8568cc38
|
|
BLAKE2b-256 checksum How to use checksums |
4abc3b01e2c7b7831d8d8e948ba840ab0ae91c868bf72d87dc8219ca4d3fe6ae
|
| 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 18, 2026.
Transparency logRelease files / trame_rca-2.11.3-py3-none-any.whl
| Download URL | trame_rca-2.11.3-py3-none-any.whl |
|---|---|
| Size | 77.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3913b80b9a8477b80ef02080d998d5bbd8c32cf48f60345fe54a74ec4a933668
|
|
BLAKE2b-256 checksum How to use checksums |
41d1290fbbeba41b900c41da53a44c39cf92db4d2fa35c88177d0dc4dfc90012
|
| 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 18, 2026.
Transparency log