Run your Application from Anywhere

trame is a Python library for creating interactive applications that can then be used locally on a desktop, in a client/server mode, in the cloud, within Jupyter, or on HPC. trame relies on a web based front-end that can be fully described within Python. By blurring the lines of Web and Python, trame empowers you to quickly create interactive user interfaces. In addition to vue.js and Python, trame can be applied to other technologies and frameworks.

Powerful and Robust
Trame focuses on exposing vue.js reactive templating infrastructure in a Pythonic fashion. Since trame components are not connected to a specific API, you can virtually integrate any vue.js component.

Flexible
Trame gives you the flexibility to run and deploy a given trame application across many targets without requiring any code change. Trame relies on the core Python asyncio library, so it can virtually be integrated into any modern Python framework. It can run on its own (e.g. if you need to process really large data) or it can be scheduled as an asynchronous task within a shared Python interpreter like we do within Jupyter.

Open Source
Trame is free to use under the Apache 2 license terms. This gives you the freedom to use it to build proprietary tools. You can easily integrate it into your existing infrastructure.

Features

  • Comes with many built-in components and capabilities.
  • Reduced application maintenance and development costs.
  • Compatible with popular widget libraries Vuetify and Quasar.
  • Leverages VTK and ParaView capabilities while seamlessly enabling remote or local rendering.
  • Charting using matplotlib, plotly, and Altair/vega.
  • Can embed an advanced text editor (like VSCode) to allow syntax highlighting, completion helper, and inline documentation hints.
  • The terminal component lets you print logs to be displayed or directly interact with a remote system to input information and get feedback.
  • Interactive tiling maps with leaflet.
  • Compatible with Markdown, one of the world’s most popular markup languages.
  • UI generation from meta description (e.g. Simput and FormKit).
  • Expandable, so if there is something missing, Kitware can add it for you.
flexibility powered by VTK

Trame is the achievement of many years in developing VTK and ParaView Web at Kitware. With best-in-class VTK and ParaView platforms at its core, trame provides complete control of 3D visualizations and data processing while hiding all the boilerplate code. This alleviates most of the complexity for users while maintaining the full flexibility and capabilities of the original frameworks. We believe that this tool will broaden the pool of developers who can create impactful, interactive applications thanks to the user-friendly web interface.