All Projects → Kitware → trame

Kitware / trame

Licence: other
Trame let you weave various components and technologies into a Web Application solely written in Python.

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to trame

PVGeo
🌍 Python package of VTK-based algorithms to analyze geoscientific data and models
Stars: ✭ 156 (+212%)
Mutual labels:  vtk, paraview
vtkbool
A new boolean operations filter for VTK
Stars: ✭ 77 (+54%)
Mutual labels:  vtk, paraview
gis-snippets
Some code snippets for GIS tasks
Stars: ✭ 45 (-10%)
Mutual labels:  vtk, paraview
Interactive-3D-Plotting-in-Seurat-3.0.0
This repository contains R code, with which you can create 3D UMAP and tSNE plots of Seurat analyzed scRNAseq data
Stars: ✭ 80 (+60%)
Mutual labels:  plotting
GMT.jl
Generic Mapping Tools Library Wrapper for Julia
Stars: ✭ 148 (+196%)
Mutual labels:  plotting
CRAWLAB-Code-Snippets
Small pieces of code for use in CRAWLAB research
Stars: ✭ 12 (-76%)
Mutual labels:  plotting
SlicerVirtualReality
A Slicer extension that enables user to interact with a Slicer scene using virtual reality.
Stars: ✭ 70 (+40%)
Mutual labels:  vtk
plottr
A flexible plotting and data analysis tool.
Stars: ✭ 32 (-36%)
Mutual labels:  plotting
planetMagFields
Routines to plot magnetic fields of planets in our solar system
Stars: ✭ 27 (-46%)
Mutual labels:  plotting
GRUtils.jl
Tools for using the GR framework in Julia
Stars: ✭ 29 (-42%)
Mutual labels:  plotting
RTGraph
A simple Python application for plotting and storing data in real time
Stars: ✭ 45 (-10%)
Mutual labels:  plotting
observable-jupyter
Embed visualizations and code from Observable notebooks in Jupyter
Stars: ✭ 27 (-46%)
Mutual labels:  plotting
oxyplot-avalonia
A cross-platform plotting library for .NET. This package targets Avalonia apps.
Stars: ✭ 102 (+104%)
Mutual labels:  plotting
vioplot
Development version of vioplot R package (CRAN maintainer)
Stars: ✭ 25 (-50%)
Mutual labels:  plotting
trase
📊 A lightweight plotting library
Stars: ✭ 75 (+50%)
Mutual labels:  plotting
ElectricPy
Electrical Engineering Python Module
Stars: ✭ 35 (-30%)
Mutual labels:  plotting
BeautifulMakie
https://lazarusa.github.io/BeautifulMakie/
Stars: ✭ 281 (+462%)
Mutual labels:  plotting
dufte
📈 Minimalistic Matplotlib style
Stars: ✭ 196 (+292%)
Mutual labels:  plotting
SmoothLivePlot.jl
A Julia package for creating live-style plots during calculations.
Stars: ✭ 24 (-52%)
Mutual labels:  plotting
elementary-plotlib
C/C++ Plotting Library
Stars: ✭ 19 (-62%)
Mutual labels:  plotting

trame: simple, powerful, innovative

trame - a web framework that weaves together open source components into customized visual analytics easily.

trame is French for

  • the core that ties things together
  • a guide providing the essence of a task

Welcome to trame and 3D visualization

With trame, create stunning, interactive web applications compactly and intuitively.

image_1 image_2 image_3

3D Visualization

With best-in-class VTK and ParaView platforms at its core, trame provides complete control of 3D visualizations and data movements. Developers benefit from a write-once environment while trame simply exposes both local and remote rendering through a single method.

Rich Features

trame leverages existing libraries and tools such as Vuetify, Altair, Vega, deck.gl, VTK, ParaView, and more, to create vivid content for visual analytics applications.

Problem Focused

By relying simply on Python, trame focuses on one's data and associated analysis and visualizations while hiding the complications of web app development.

Desktop to cloud

The resulting trame applications can act as local desktop applications or remote cloud applications both accessed through a browser.

Installing

trame can be installed with pip:

pip install --upgrade trame --pre

Usage

The Trame Tutorial is the place to go to learn how to use the library and start building your own application.

The API Reference documentation provides API-level documentation.

License

trame is made available under the Apache License, Version 2.0. For more details, see LICENSE

Community

Trame | Discussions | Issues | RoadMap | Contact Us

Enjoying trame?

Share your experience with a testimonial or with a brand approval.

Optional dependencies

When 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 capture which may need to add depending on your usage:

  • pywebview : Needed for desktop usage (--app)
  • jupyterlab : Needed to run inside jupyter-lab
  • notebook : Needed to run inside jupyter-notebook
  • requests : Needed when using remote assets such as GDrive files

Environments variables

  • TRAME_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 callbacks

Life cycle events are directly managed on the application controller and are prefixed with on_*.

  • on_server_ready : All protocols initialized and available for client to connect
  • on_client_connected : Connection established to server
  • on_client_exited : Linked to browser "beforeunload" event
  • on_server_exited : Trame is exiting its event loop
  • on_server_reload : If callback registered it is use for reloading server side modules

Reserved state entries

The 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 for internal purpose. To prevent any conflict with any user we are prefixing our internal variable with trame__*. 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 a 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 request 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.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].