Package: trame
trame- a web framework that weaves together open source components into customized visual analytics easily.trameis French forthe core that ties things togethera guide providing the essence of a taskWithtrame, create stunning, interactive web applications compactly and intuitively.3D VisualizationWith best-in-class VTK and ParaView platforms at its core,trameprovides complete control of 3D visualizations and data movements.
Developers benefit from a write-once environment whiletramesimply exposes both local and remote rendering through a single method.Rich Featurestrameleverages existing libraries and tools such as Vuetify, Altair, Vega, deck.gl, VTK, ParaView, and more, to create vivid content for visual analytics applications.Problem FocusedBy relying simply on Python,tramefocuses on one’s data and associated analysis and visualizations while hiding the complications of web app development.Desktop to cloudThe resultingtrameapplications can act as local desktop applications or remote cloud applications both accessed through a browser.Installingtrame can be installed withpip:pipinstall--upgradetrameUsageTheTrame Tutorialis the place to go to learn how to use the library and start building your own application.TheAPI Referencedocumentation provides API-level documentation.Licensetrame is made available under the Apache License, Version 2.0. For more details, seeLICENSECommunityTrame|Discussions|Issues|RoadMap|Contact UsEnjoying trame?Share your experiencewith a testimonialorwith a brand approval.Optional dependenciesWhen installing trame using pip (pip install trame) you will get the core infrastructure for any trame application to work but more advanced usage may require additional dependencies.
The list below captures what may need to add depending on your usage:pywebview: Needed for desktop usage (–app)jupyterlab: Needed to run inside jupyter-labnotebook: Needed to run inside jupyter-notebookrequests: Needed when using remote assets such as GDrive filesEnvironments variablesTRAME_LOG_NETWORK: Path to log file for capturing network exchange. (default: None)TRAME_WS_MAX_MSG_SIZE: Maximum size in bytes of any ws message. (default: 10MB)TRAME_WS_HEART_BEAT: Time in second before assuming the server is non-responsive. (default: 30s)Life cycle callbacksLife cycle events are directly managed on the application controller
and are prefixed withon_*.on_server_ready: All protocols initialized and available for client to connecton_client_connected: Connection established to serveron_client_exited: Linked to browser “beforeunload” eventon_server_exited: Trame is exiting its event loopon_server_reload: If callback registered it is used for reloading server side modulesReserved state entriesThe shared state allow us to synchronize the server with the client.
Rather than creating another mechanism to handle similar needs throughout
the application we purposely reuse that state internally. To prevent any conflict with any user we are prefixing our internal
variable withtrame__*. In general those state values should not be use
or changed by the user except for the one listed below:Read/Write:trame__favicon: Update it to replace the displayed favicon in your
browser. The content needs to be an image encoded url.trame__title: Update it to replace your page title
(tab name / window name).Read-only:trame__busy: Provide information if we have pending requests waiting
for the server to respond.tts: Template Time Stamp to regenerate sub elements when a template
gets updated. Usually used as:key=”tts”to force some component
rebuild.