trame


Nametrame JSON
Version 3.6.0 PyPI version JSON
download
home_pageNone
SummaryTrame, a framework to build applications in plain Python
upload_time2024-04-10 23:38:35
maintainerNone
docs_urlNone
authorKitware Inc.
requires_pythonNone
licenseApache License 2.0
keywords python interactive web application framework
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            trame: simple, powerful, innovative
===========================================================

|badge_1| |badge_2|

.. |badge_1| image:: https://github.com/Kitware/trame/actions/workflows/test_and_release.yml/badge.svg
    :target: https://github.com/Kitware/trame/actions/workflows/test_and_release.yml
    :alt: Test and Release

.. |badge_2| image:: https://img.shields.io/pypi/dm/trame
    :alt: Download stats

**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

.. image:: https://raw.githubusercontent.com/Kitware/trame/master/docs/vitepress/assets/images/examples/mstar.jpg
  :alt: Welcome to trame and 3D visualization

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

|image_1| |image_2| |image_3|

.. |image_1| image:: https://raw.githubusercontent.com/Kitware/trame/master/docs/vitepress/assets/images/examples/CarotidFlow.jpg
  :width: 30%
.. |image_2| image:: https://raw.githubusercontent.com/Kitware/trame/master/docs/vitepress/assets/images/examples/UberPickupsNYC.jpg
  :width: 30%
.. |image_3| image:: https://raw.githubusercontent.com/Kitware/trame/master/docs/vitepress/assets/images/examples/FiniteElementAnalysis.jpg
  :width: 30%

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 <https://pypi.org/project/trame/>`_:

.. code-block:: bash

    pip install --upgrade trame

Usage
-----------------------------------------------------------

The `Trame Tutorial <https://kitware.github.io/trame/guide/tutorial/>`_ is the place to go to learn how to use the library and start building your own application.

The `API Reference <https://trame.readthedocs.io/en/latest/index.html>`_ documentation provides API-level documentation.


License
-----------------------------------------------------------

trame is made available under the Apache License, Version 2.0. For more details, see `LICENSE <https://github.com/Kitware/trame/blob/master/LICENSE>`_


Community
-----------------------------------------------------------

`Trame <https://kitware.github.io/trame/>`_ | `Discussions <https://github.com/Kitware/trame/discussions>`_ | `Issues <https://github.com/Kitware/trame/issues>`_ | `RoadMap <https://github.com/Kitware/trame/projects/1>`_ | `Contact Us <https://www.kitware.com/contact-us/>`_

.. image:: https://zenodo.org/badge/410108340.svg
    :target: https://zenodo.org/badge/latestdoi/410108340


Enjoying trame?
-----------------------------------------------------------

Share your experience `with a testimonial <https://github.com/Kitware/trame/issues/18>`_ or `with a brand approval <https://github.com/Kitware/trame/issues/19>`_.


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 captures what 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 used 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 internally. 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 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.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "trame",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": "Python, Interactive, Web, Application, Framework",
    "author": "Kitware Inc.",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/77/5b/6886f3ea4b3875757ec293406ee7872cbc21ae1733e691148c6f6958a1e6/trame-3.6.0.tar.gz",
    "platform": null,
    "description": "trame: simple, powerful, innovative\n===========================================================\n\n|badge_1| |badge_2|\n\n.. |badge_1| image:: https://github.com/Kitware/trame/actions/workflows/test_and_release.yml/badge.svg\n    :target: https://github.com/Kitware/trame/actions/workflows/test_and_release.yml\n    :alt: Test and Release\n\n.. |badge_2| image:: https://img.shields.io/pypi/dm/trame\n    :alt: Download stats\n\n**trame** - a web framework that weaves together open source components into customized visual analytics easily.\n\n**trame** is French for\n\n* the core that ties things together\n* a guide providing the essence of a task\n\n.. image:: https://raw.githubusercontent.com/Kitware/trame/master/docs/vitepress/assets/images/examples/mstar.jpg\n  :alt: Welcome to trame and 3D visualization\n\nWith **trame**, create stunning, interactive web applications compactly and intuitively.\n\n|image_1| |image_2| |image_3|\n\n.. |image_1| image:: https://raw.githubusercontent.com/Kitware/trame/master/docs/vitepress/assets/images/examples/CarotidFlow.jpg\n  :width: 30%\n.. |image_2| image:: https://raw.githubusercontent.com/Kitware/trame/master/docs/vitepress/assets/images/examples/UberPickupsNYC.jpg\n  :width: 30%\n.. |image_3| image:: https://raw.githubusercontent.com/Kitware/trame/master/docs/vitepress/assets/images/examples/FiniteElementAnalysis.jpg\n  :width: 30%\n\n3D Visualization\n-----------------------------------------------------------\n\nWith best-in-class VTK and ParaView platforms at its core, **trame** provides complete control of 3D visualizations and data movements.\nDevelopers benefit from a write-once environment while **trame** simply exposes both local and remote rendering through a single method.\n\nRich Features\n-----------------------------------------------------------\n\n**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.\n\nProblem Focused\n-----------------------------------------------------------\n\nBy relying simply on Python, **trame** focuses on one's data and associated analysis and visualizations while hiding the complications of web app development.\n\nDesktop to cloud\n-----------------------------------------------------------\n\nThe resulting **trame** applications can act as local desktop applications or remote cloud applications both accessed through a browser.\n\n\nInstalling\n-----------------------------------------------------------\n\ntrame can be installed with `pip <https://pypi.org/project/trame/>`_:\n\n.. code-block:: bash\n\n    pip install --upgrade trame\n\nUsage\n-----------------------------------------------------------\n\nThe `Trame Tutorial <https://kitware.github.io/trame/guide/tutorial/>`_ is the place to go to learn how to use the library and start building your own application.\n\nThe `API Reference <https://trame.readthedocs.io/en/latest/index.html>`_ documentation provides API-level documentation.\n\n\nLicense\n-----------------------------------------------------------\n\ntrame is made available under the Apache License, Version 2.0. For more details, see `LICENSE <https://github.com/Kitware/trame/blob/master/LICENSE>`_\n\n\nCommunity\n-----------------------------------------------------------\n\n`Trame <https://kitware.github.io/trame/>`_ | `Discussions <https://github.com/Kitware/trame/discussions>`_ | `Issues <https://github.com/Kitware/trame/issues>`_ | `RoadMap <https://github.com/Kitware/trame/projects/1>`_ | `Contact Us <https://www.kitware.com/contact-us/>`_\n\n.. image:: https://zenodo.org/badge/410108340.svg\n    :target: https://zenodo.org/badge/latestdoi/410108340\n\n\nEnjoying trame?\n-----------------------------------------------------------\n\nShare your experience `with a testimonial <https://github.com/Kitware/trame/issues/18>`_ or `with a brand approval <https://github.com/Kitware/trame/issues/19>`_.\n\n\nOptional dependencies\n-----------------------------------------------------------\n\nWhen 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.\nThe list below captures what may need to add depending on your usage:\n\n* **pywebview**  : Needed for desktop usage (--app)\n* **jupyterlab** : Needed to run inside jupyter-lab\n* **notebook**   : Needed to run inside jupyter-notebook\n* **requests**   : Needed when using remote assets such as GDrive files\n\n\nEnvironments variables\n-----------------------------------------------------------\n\n* **TRAME_LOG_NETWORK**     : Path to log file for capturing network exchange. (default: None)\n* **TRAME_WS_MAX_MSG_SIZE** : Maximum size in bytes of any ws message. (default: 10MB)\n* **TRAME_WS_HEART_BEAT**   : Time in second before assuming the server is non-responsive. (default: 30s)\n\n\nLife cycle callbacks\n--------------------------------------------------------------------------\n\nLife cycle events are directly managed on the application controller\nand are prefixed with `on_*`.\n\n* **on_server_ready**     : All protocols initialized and available for client to connect\n* **on_client_connected** : Connection established to server\n* **on_client_exited**    : Linked to browser \"beforeunload\" event\n* **on_server_exited**    : Trame is exiting its event loop\n\n* **on_server_reload**    : If callback registered it is used for reloading server side modules\n\n\nReserved state entries\n--------------------------------------------------------------------------\n\nThe shared state allow us to synchronize the server with the client.\nRather than creating another mechanism to handle similar needs throughout\nthe application we purposely reuse that state internally. To prevent any conflict with any user we are prefixing our internal\nvariable with `trame__*`. In general those state values should not be use\nor changed by the user except for the one listed below:\n\nRead/Write:\n  - **trame__favicon**: Update it to replace the displayed favicon in your\n    browser. The content needs to be an image encoded url.\n  - **trame__title**: Update it to replace your page title\n    (tab name / window name).\n\nRead-only:\n  - **trame__busy**: Provide information if we have pending requests waiting\n    for the server to respond.\n  - **tts**: Template Time Stamp to regenerate sub elements when a template\n    gets updated. Usually used as `:key=\"tts\"` to force some component\n    rebuild.\n",
    "bugtrack_url": null,
    "license": "Apache License 2.0",
    "summary": "Trame, a framework to build applications in plain Python",
    "version": "3.6.0",
    "project_urls": null,
    "split_keywords": [
        "python",
        " interactive",
        " web",
        " application",
        " framework"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c8beca3ed4606b74338f196d7ce51d857790b1ddb2732f25b6a8c71f9641caf7",
                "md5": "03f83e93a06c9b4b6f767677343a3d7c",
                "sha256": "0e22579013806544fedfd7c72a04f1510e3c2d14fe2face9292a06a11008b00c"
            },
            "downloads": -1,
            "filename": "trame-3.6.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "03f83e93a06c9b4b6f767677343a3d7c",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 29271,
            "upload_time": "2024-04-10T23:38:32",
            "upload_time_iso_8601": "2024-04-10T23:38:32.721223Z",
            "url": "https://files.pythonhosted.org/packages/c8/be/ca3ed4606b74338f196d7ce51d857790b1ddb2732f25b6a8c71f9641caf7/trame-3.6.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "775b6886f3ea4b3875757ec293406ee7872cbc21ae1733e691148c6f6958a1e6",
                "md5": "d7a0233cbb3dd718329a87a049efd7df",
                "sha256": "287c4bbdee185fddeea38ec0011485514f7c4f41a1a7aa413fae12f40542353e"
            },
            "downloads": -1,
            "filename": "trame-3.6.0.tar.gz",
            "has_sig": false,
            "md5_digest": "d7a0233cbb3dd718329a87a049efd7df",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 24780,
            "upload_time": "2024-04-10T23:38:35",
            "upload_time_iso_8601": "2024-04-10T23:38:35.599493Z",
            "url": "https://files.pythonhosted.org/packages/77/5b/6886f3ea4b3875757ec293406ee7872cbc21ae1733e691148c6f6958a1e6/trame-3.6.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-10 23:38:35",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "trame"
}
        
Elapsed time: 0.25500s