Trame v2 is out and available via
pip install trame. Consequently the documentation is now reporting the updated API and capabilities. If you were already working with Trame v1 you can look at our migration guide.
Trame is an open-source platform for creating interactive and powerful visual analytics applications. Based on Python, and leveraging platforms such as VTK, ParaView, and Vega, it is possible to create web-based applications in minutes.
Trame is a Python integration framework to easily build web applications with minimal knowledge of web development or technology. Before trame, building such applications typically required a full-stack developer at least a day. Now any Python developer can build applications in minutes.
- Open-source - You can confidently build, deploy, and commercialize applications without the usual hassles associated with proprietary systems, and with the knowledge that trame will not disappear - it is not tied to the fortunes of any proprietary vendor.
- All-in-one platform - Unlike other libraries or platforms, trame comes with most all the components you need to build visualization analytics applications; and if a capability is missing it can easily be added.
- Design - Trame apps look beautiful out of the box. Our built-in Material Design widget library enables you to create beautiful desktop-like GUI components.
- Real apps - With Trame, you get high-performing interactive applications that can operate locally, or across the web.
Building apps with Trame is this simple:
- Install trame - Create a Python virtual environment and
pip install trame. Once working locally, deploy it using Docker or as Desktop app bundle.
- Business logic - Create your processing functions in plain Python and the state that needs to be shared with the UI.
- State reactivity - Define methods which respond to state change (e.g. a slider changing a sampling parameter).
- Design your UI - Build beautiful, accessible user interfaces by defining the layout of your application and connecting your state and functions to your UI elements directly.
- Run it anywhere - Once working, you can choose to run it locally as a desktop or client/server application, or deploy it in the cloud and use it as a service.
At the end of the day, building a trame application is just a matter of orchestrating the various pieces in a convenient and transparent manner thanks to the trame shared state, and associated controller for dealing with event management.