trame
Trame, a framework to build applications in plain Python
What it is and what it does
Trame is a Python web framework designed to let developers build interactive visual analytics applications without writing HTML, CSS, or JavaScript. It integrates VTK and ParaView for 3D visualization, combines them with UI libraries like Vuetify and Altair for charts and dashboards, and handles all the web infrastructure automatically. The framework synchronizes state between Python backend and browser frontend, letting you write the entire application in Python.
Applications built with trame run as local desktop apps or remote cloud services, both accessed through a browser. The framework abstracts away web development complexity so developers can focus on data, analysis, and visualization logic. It supports lifecycle callbacks for server and client events, shared state management, and environment variable configuration for network behavior and message sizing.
Use it for:
- Build interactive 3D scientific visualization dashboards combining VTK/ParaView rendering with Python analysis
- Create data exploration tools that sync Python computations with live browser-based charts and controls
- Deploy desktop or cloud-hosted visual analytics applications without learning web frameworks
- Integrate existing Python libraries (NumPy, SciPy, pandas) into interactive web UIs for data-driven workflows
- Develop remote visualization applications accessible via browser from any machine
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Trame is a Python web framework for building interactive visual analytics applications that combine 3D visualization, data analysis, and web UI components into a single browser-based or desktop application.
Yes. Trame is actively maintained, production-stable, has low install friction, carries no known vulnerabilities, and solves a real problem—letting Python developers build sophisticated interactive web applications without web development expertise. It's well-suited if you need 3D visualization, data dashboards, or scientific computing UIs. The permissive Apache 2.0 license poses no restrictions. Consider it essential if your workflow involves VTK/ParaView or visual analytics.
Install
trame on PyPI
pip
pip install trameuv
uv add tramepoetry
poetry add trameInstalling trame
Before you install
Installation is straightforward via pip with low friction. The package is actively maintained, last released 91 days ago, and marked as Production/Stable. Five runtime dependencies (trame-server, trame-client, trame-common, wslink, pyyaml) are all part of the trame ecosystem or well-established libraries.
License in practice
Trame is licensed under Apache License 2.0, a permissive open-source license. You can use, modify, and distribute it freely in both open-source and commercial projects, provided you include a copy of the license and state significant changes.
Quickstart
pip install --upgrade trame
from trame.app import Trame
from trame.widgets import html
app = Trame()
with app.layout:
html.div("Hello from trame")
app.run()
Requires Python 3.10 or later. Desktop mode (--app) requires optional pywebview dependency; Jupyter integration requires jupyterlab or notebook.
Verify before relying
- Whether VTK and ParaView integration is included in the base package or requires separate installation
- Performance characteristics and scalability limits for large 3D datasets or concurrent users
- Specific browser compatibility and minimum versions required for full functionality
Package facts
| License | Apache License 2.0 (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 5 — trame-server, trame-client, trame-common, wslink, pyyaml |
| Maintenance | actively maintained — 91 days since the last release |
| First released | |
| Downloads | 922,899/month — #4,714 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: trame-3.13.2-py3-none-any.whl
Keywords: Python, Interactive, Web, Application, Framework
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
trame-servertrame-server provides the server-side runtime…
permissive · top 5,000 on PyPI
trame-vtkProvides VTK and ParaView visualization widgets…
permissive · top 5,000 on PyPI
trame-clienttrame-client is the browser-side runtime for…
permissive · top 5,000 on PyPI
trame-routerAdds multi-page navigation to trame…
permissive · top 15,000 on PyPI
trame-vuetifyProvides Material Design UI components…
permissive · top 5,000 on PyPI
trame-componentsProvides Vue.js utility widgets and helper…
permissive · top 15,000 on PyPI
ansys-tools-visualization-interfaceProvides a Python API that abstracts…
permissive · top 15,000 on PyPI
gravisGravis generates interactive graph…
permissive · top 15,000 on PyPI
meshcatmeshcat is a Python interface to a…
permissive · top 5,000 on PyPI
trame-commonProvides shared helper functions, decorators,…
permissive · top 5,000 on PyPI