Skip to main content

Trame, a framework to build applications in plain Python

Project description

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.

Community

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 get’s updated. Usually used as :key=”tts” to force some component rebuild.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

trame-2.0.0rc2.tar.gz (10.4 kB view details)

Uploaded Source

Built Distribution

trame-2.0.0rc2-py3-none-any.whl (10.5 kB view details)

Uploaded Python 3

File details

Details for the file trame-2.0.0rc2.tar.gz.

File metadata

  • Download URL: trame-2.0.0rc2.tar.gz
  • Upload date:
  • Size: 10.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.9.12

File hashes

Hashes for trame-2.0.0rc2.tar.gz
Algorithm Hash digest
SHA256 afc48042bed005f92508469d80758f7f510e0d5f57c063a877b9ab3714ecbed5
MD5 e24e9977083746e9bf086d5c9c13d3c6
BLAKE2b-256 c56dfab266dab440e28b5fa4ea96d95c54dd13b1417442941e112a34c59a2b69

See more details on using hashes here.

File details

Details for the file trame-2.0.0rc2-py3-none-any.whl.

File metadata

  • Download URL: trame-2.0.0rc2-py3-none-any.whl
  • Upload date:
  • Size: 10.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.9.12

File hashes

Hashes for trame-2.0.0rc2-py3-none-any.whl
Algorithm Hash digest
SHA256 c26bec99ce22dd43339cee9257eb2e20fae93b349c58efad01122e3d48724e7c
MD5 0f8632b3804649520c83ffa6eec922af
BLAKE2b-256 1adfc9d93c4c709203f546dfeaab72de0481c3d2893b5a6e2fbae852d19b3ea0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page