Metadata-Version: 2.5
Name: trame-vtkjs
Version: 0.1.0
Summary: vtk.js scene replication and shared-context rendering for trame
Project-URL: Repository, https://github.com/PaulHax/trame-vtkjs
Project-URL: Issues, https://github.com/PaulHax/trame-vtkjs/issues
Author: Kitware Inc., Paul Elliott
License: Apache Software License
License-File: LICENSE
Keywords: Application,Framework,Interactive,Python,Web
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Web Environment
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.9
Requires-Dist: trame
Requires-Dist: trame-common
Provides-Extra: dev
Requires-Dist: mypy; extra == 'dev'
Requires-Dist: pre-commit; extra == 'dev'
Requires-Dist: pytest; extra == 'dev'
Requires-Dist: pytest-asyncio; extra == 'dev'
Requires-Dist: ruff; extra == 'dev'
Requires-Dist: trame-client[test]; extra == 'dev'
Provides-Extra: vtk
Requires-Dist: vtk<9.7,>=9.6; extra == 'vtk'
Description-Content-Type: text/markdown

# trame-vtkjs

Render Python VTK scenes in the browser with vtk.js. The Python server and
browser client ship together in one wheel, with scene updates, picking,
streaming, and recovery across connected clients.

| View | Rendering context |
| --- | --- |
| `VtkJsLocalView` | Own canvas and camera controls |
| `VtkJsSharedView` | Host-owned WebGL context, including MapLibre |

## Install and try it

Install a wheel built from this repository or downloaded from its releases:

```sh
python -m pip install "./dist/trame_vtkjs-<version>-py3-none-any.whl[vtk]"
```

The `vtk` extra installs the supported VTK 9.6 series. The Python namespace is
`trame_vtkjs`; application widgets are available through trame:

```python
from trame.widgets.vtkjs import VtkJsLocalView, VtkJsSharedView
```

From the checkout, run the interactive cone example:

```sh
python examples/vtk/vtkjs_cone.py
```

The [MapLibre example](https://github.com/PaulHax/trame-vtkjs/blob/main/examples/vtk/maplibre_demo/README.md) combines shared
rendering, textures, editable landmarks, and streamed geometry.

## Documentation

- [API and rendering contracts](https://github.com/PaulHax/trame-vtkjs/blob/main/docs/api.md)
- [Build and test](https://github.com/PaulHax/trame-vtkjs/blob/main/docs/development.md)
- [Releases and publisher setup](https://github.com/PaulHax/trame-vtkjs/blob/main/docs/releases.md)
- [Contributing](https://github.com/PaulHax/trame-vtkjs/blob/main/CONTRIBUTING.md)

Licensed under [Apache 2.0](https://github.com/PaulHax/trame-vtkjs/blob/main/LICENSE), retaining Kitware's copyright and
attribution. Maintained by Paul Elliott.
