diff --git a/.codespellrc b/.codespellrc index 52f99bf1..2e3fee61 100644 --- a/.codespellrc +++ b/.codespellrc @@ -1,4 +1,4 @@ [codespell] -skip = **/package-lock.json,*.vti,PKG-INFO,**/dist/**,CHANGELOG.md,**/*.js +skip = **/package-lock.json,*.vti,PKG-INFO,**/dist/**,CHANGELOG.md,**/*.js,docs/**.py ignore-words-list = hist ignore-regex = name="ba" diff --git a/.github/workflows/website.yaml b/.github/workflows/website.yaml index 93d34c02..ae4370b1 100644 --- a/.github/workflows/website.yaml +++ b/.github/workflows/website.yaml @@ -5,6 +5,10 @@ name: Deploy VitePress site to Pages on: push: branches: [master] + + # Runs daily at midnight + schedule: + - cron: '0 0 * * *' # Allows you to run this workflow manually from the Actions tab workflow_dispatch: @@ -37,6 +41,9 @@ jobs: - uses: actions/setup-python@v5 with: python-version: "3.12" + - name: Install Python dependencies + working-directory: docs/vitepress + run: "pip install -r requirements.txt" - name: Setup Pages uses: actions/configure-pages@v3 - name: Install dependencies @@ -45,6 +52,11 @@ jobs: - name: Update blogs working-directory: docs/vitepress run: python update_blogs.py + - name: Fetch trame repos + working-directory: docs/vitepress + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: python fetch_repos.py - name: Build with VitePress working-directory: docs/vitepress run: | diff --git a/docs/vitepress/.vitepress/config.mjs b/docs/vitepress/.vitepress/config.mjs index 3944faa2..9fc54ddf 100644 --- a/docs/vitepress/.vitepress/config.mjs +++ b/docs/vitepress/.vitepress/config.mjs @@ -102,6 +102,7 @@ export default defineConfig({ { text: "How to start", link: "/guide/intro/getting_started" }, { text: "Cheatsheet", link: "/guide/intro/cheatsheet" }, { text: "Widgets", link: "/guide/intro/widgets" }, + { text: "Applications", link: "/guide/intro/applications" }, { text: "Course", link: "/guide/intro/course" }, { text: "API", link: "/guide/intro/api" }, { text: "Citing", link: "/guide/intro/citing" }, diff --git a/docs/vitepress/.vitepress/theme/RepoList.vue b/docs/vitepress/.vitepress/theme/RepoList.vue new file mode 100644 index 00000000..a129c36b --- /dev/null +++ b/docs/vitepress/.vitepress/theme/RepoList.vue @@ -0,0 +1,211 @@ + + + + + \ No newline at end of file diff --git a/docs/vitepress/external_repos.yml b/docs/vitepress/external_repos.yml new file mode 100644 index 00000000..559b2c37 --- /dev/null +++ b/docs/vitepress/external_repos.yml @@ -0,0 +1,68 @@ +https://github.com/kmarchais/mmgpy: + topics: [trame, trame-app, vtk] + image: "https://github.com/kmarchais/mmgpy/raw/main/assets/mechanical_piece_remeshing.png" + +https://github.com/dhruvhaldar/FOAMFlask: + image: "https://github.com/dhruvhaldar/FOAMFlask/raw/dev_pyvista_ts_lkgc/Screenshots/geometry.png" + +https://github.com/MBradley1985/SAGE-Viewer: + topics: [trame, trame-app] + image: "https://raw.githubusercontent.com/MBradley1985/SAGE-Viewer/main/docs/images/hero.png" + +https://github.com/jwindgassen/jupyter-trame-proxy: + topics: [trame, trame-app, paraview] + +https://github.com/utkarshayachit/simplified-batch: + topics: [trame, trame-app, paraview] + +https://github.com/vicentebolea/virtual-thermostat: + topics: [trame, trame-app] + +https://github.com/linson7017/pymipf: + topics: [trame, trame-app, vtk] + image: "https://github.com/linson7017/pymipf/raw/master/imgs/multi_view.png" + +https://github.com/ndminhvn/interactive-population-visualization: + topics: [trame, trame-app, vtk] + +https://github.com/Chahat08/BioSET_Visualizer: + topics: [trame, trame-app, vtk] + +https://github.com/jph6366/trame-aoc: + topics: [trame, trame-app] + +https://github.com/brendanjmeade/fennil: + topics: [trame, trame-app] + image: "https://raw.githubusercontent.com/brendanjmeade/fennil/main/fennil.jpg" + +https://github.com/brendanjmeade/parsli: + topics: [trame, trame-app, vtk] + image: "https://raw.githubusercontent.com/brendanjmeade/parsli/refs/heads/main/parsli.png" + +https://github.com/XAITK/xaitk-saliency-web-demo: + topics: [trame, trame-app] + image: "https://raw.githubusercontent.com/XAITK/xaitk-saliency-web-demo/master/gallery/xaitk-classification-rise-4.jpg" + +https://github.com/festim-dev/festim-gui: + topics: [trame, trame-app, vtk] + +https://github.com/cardinalgeo/drilldown: + topics: [trame, trame-app, vtk] + image: "https://github.com/cardinalgeo/drilldown/raw/main/media/poster.jpg" + +https://github.com/MXJK851/SpinView: + topics: [trame, trame-app] + image: "https://github.com/MXJK851/SpinView/raw/main/docs/assets/readme.png" + +https://gitlab.kitware.com/keu-public/trame-catalyst-demo: + topics: [trame, trame-app, vtk] + nameWithOwner: "keu-public/trame-catalyst-demo" + name: "trame-catalyst-demo" + image: "https://gitlab.kitware.com/keu-public/trame-catalyst-demo/-/raw/main/screenshot.png" + commitCount: 10 + createdAt: "2026-05-07T00:00:00Z" + description: "A trame application for Catalyst live visualization." + lastCommitDate: "2026-05-28T00:00:00Z" + pullRequestCount: 0 + stars: 0 + trusted: true \ No newline at end of file diff --git a/docs/vitepress/fetch_repos.py b/docs/vitepress/fetch_repos.py new file mode 100644 index 00000000..83e67cbe --- /dev/null +++ b/docs/vitepress/fetch_repos.py @@ -0,0 +1,210 @@ +#!/usr/bin/env python3 +""" +Generate a repos.json file with information about repositories both from repos of trusted github +owners with `trame` topic and from the `external_repos.yml` file. + +Fetches: name, url, description, image, topics, stars, commit count, PR count, creation date, most +recent commit date, and whether it was created within the last year. + +```mermaid +flowchart LR + subgraph Wrapper [ + info contains: name, description, topics, image url, stars, last commit date, creation date, + commits count, PRs count. + ] + direction LR + A[external_repos.yml] + B[GH repos in
trusted_owners
list with
`trame` topic] + C((+)) + A -- "trusted
+= False" --> C + B -- "trusted
= True" --> C + C -- "url: {
trusted,
info
}" --> D((x)) + E[Fetch GH
for info] + D -- GH url --> E + D -- non GH url --> F((+)) + E --> F + F -- "+is_new
if created
within last
year" --> G[repos.json] + end + + style Wrapper fill:none,stroke:none +``` +""" + +import subprocess +import os +import json +import re +from datetime import datetime, timedelta, timezone +import yaml + + +def minify_graphql(query): + query = re.sub(r"#.*$", "", query, flags=re.MULTILINE) + query = re.sub(r"\s+", " ", query) + for char in ["{", "}", "(", ")", ":", ","]: + query = query.replace(f" {char}", char) + query = query.replace(f"{char} ", char) + query = query.strip() + return query + + +def make_gh_request(request: list[str]): + result = subprocess.run(request, capture_output=True, text=True, env=os.environ) + if result.returncode != 0: + raise Exception(f"Error: {result.stderr}") + return result.stdout + + +def retrieve_gh_repos_from_topic(topic: str, owners: list = []): + repos = {} + for owner in owners: + request = [ + "gh", + "search", + "repos", + "--topic", + topic, + "--owner", + owner, + "--limit", + "1000", + "--json", + "url", + ] + result = json.loads(make_gh_request(request)) + for t in result: + repos[t["url"]] = {"trusted": True} + return repos + + +def retrieve_repos_from_file(filename: str) -> list[str]: + with open(filename, "r") as f: + repos = yaml.safe_load(f) + for repo_url, repo_info in repos.items(): + repo_info["trusted"] = ( + repo_info["trusted"] if "trusted" in repo_info else False + ) + return repos + + +def retrieve_multiple_repos_graphql(repos: dict): + repo_queries = [] + for repo_url, repo_info in repos.items(): + owner, name = repo_url[19:].split("/") + alias = repo_url[19:].replace("/", "_").replace("-", "_") + repo_query = f""" + {alias}: repository(owner: "{owner}", name: "{name}") {{ + name + nameWithOwner + description + openGraphImageUrl + createdAt + stargazerCount + repositoryTopics(first: 10) {{ + nodes {{ + topic {{ + name + }} + }} + }} + pullRequests {{ + totalCount + }} + defaultBranchRef {{ + target {{ + ... on Commit {{ + history(first: 1) {{ + totalCount + nodes {{ + committedDate + }} + }} + }} + }} + }} + }}""" + repo_queries.append(repo_query) + query = f""" + query {{ + {",".join(repo_queries)} + }} + """.strip() + mini_query = minify_graphql(query) + cmd = ["gh", "api", "graphql", "-f", f"query={mini_query}"] + data = json.loads(make_gh_request(cmd))["data"] + return data + + +def is_gh_url(url): + return url.startswith("https://github.com/") + + +def repos_data_to_json(repos_data): + fetched_repos = {} + for repo_data in repos_data.values(): + topics = [ + node["topic"]["name"] for node in repo_data["repositoryTopics"]["nodes"] + ] + url = f"https://github.com/{repo_data['nameWithOwner']}" + + commit_count = 0 + last_commit_date = None + if repo_data.get("defaultBranchRef"): + history = repo_data["defaultBranchRef"]["target"]["history"] + commit_count = history["totalCount"] + if history.get("nodes"): + last_commit_date = history["nodes"][0]["committedDate"] + + fetched_repos[url] = { + "name": repo_data["name"], + "description": repo_data["description"], + "image": repo_data["openGraphImageUrl"], + "topics": topics, + "createdAt": repo_data["createdAt"], + "lastCommitDate": last_commit_date, + "stars": repo_data["stargazerCount"], + "commitCount": commit_count, + "pullRequestCount": repo_data["pullRequests"]["totalCount"], + } + return fetched_repos + + +def fetch_gh_info(gh_repos): + repos_data = retrieve_multiple_repos_graphql(gh_repos) + json_repos_info = repos_data_to_json(repos_data) + + fetched_repos_info = json_repos_info.copy() + for url, repo_info in gh_repos.items(): + fetched_repos_info[url] |= repo_info + return fetched_repos_info + + +def add_info(repos): + one_year_ago = datetime.now(timezone.utc) - timedelta(days=365) + for url, repo_info in repos.items(): + if not repo_info["trusted"]: + repo_info["topics"].append("...") + + created_at = datetime.fromisoformat( + repo_info["createdAt"].replace("Z", "+00:00") + ) + repo_info["createdWithinLastYear"] = created_at >= one_year_ago + + +if __name__ == "__main__": + trusted_repos = retrieve_gh_repos_from_topic("trame", ["Kitware", "KitwareMedical"]) + external_repos = retrieve_repos_from_file("external_repos.yml") + repos = trusted_repos | external_repos + + gh_repos = {k: v for k, v in repos.items() if is_gh_url(k)} + non_gh_repos = {k: v for k, v in repos.items() if not is_gh_url(k)} + fetched_gh_repos = fetch_gh_info(gh_repos) + repos_w_info = non_gh_repos | fetched_gh_repos + add_info(repos_w_info) + + with open("repos.json", "w") as f: + json.dump( + repos_w_info, + f, + sort_keys=True, + ) diff --git a/docs/vitepress/guide/intro/applications.md b/docs/vitepress/guide/intro/applications.md new file mode 100644 index 00000000..aea6e3cd --- /dev/null +++ b/docs/vitepress/guide/intro/applications.md @@ -0,0 +1,18 @@ + + +# Application catalog + +⚠️: Non Kitware-owned repository +
+ + \ No newline at end of file diff --git a/docs/vitepress/guide/intro/widgets.md b/docs/vitepress/guide/intro/widgets.md index 49a46aa9..3c34ec57 100644 --- a/docs/vitepress/guide/intro/widgets.md +++ b/docs/vitepress/guide/intro/widgets.md @@ -1,69 +1,17 @@ -# Known available widgets + -::: warning -This table may be incomplete or slightly out of date. Please [correct it](https://github.com/Kitware/trame/pulls) or [reach out](https://github.com/Kitware/trame/discussions) for up-to-date information. +# Widget catalog -If you are looking for specific widgets, contributions are welcome you can [ask for support](https://www.kitware.com/trame/). -::: +⚠️: Non Kitware-owned repository +
-::: info Legend -🆕 created recently - -🔥 actively being developed - -👍 recent updates/improvements - -🏗️ Work in progress - -⚠️ Caution => Check tooltip for detail -::: + \ No newline at end of file diff --git a/docs/vitepress/repos.json b/docs/vitepress/repos.json new file mode 100644 index 00000000..a2ca5096 --- /dev/null +++ b/docs/vitepress/repos.json @@ -0,0 +1 @@ +{"https://github.com/Chahat08/BioSET_Visualizer": {"commitCount": 393, "createdAt": "2026-01-28T15:52:35Z", "createdWithinLastYear": true, "description": "A multi resolution volume renderer, specifically for analysing biomarker interactions in 3D CyCIF.", "image": "https://opengraph.githubassets.com/d1cbbc85fa0e67205e458f1758a08dabd499e166bd16bdafc279ec183ec0952e/Chahat08/BioSET_Visualizer", "lastCommitDate": "2026-04-14T12:16:13Z", "name": "BioSET_Visualizer", "pullRequestCount": 51, "stars": 0, "topics": ["trame", "trame-app", "vtk", "..."], "trusted": false}, "https://github.com/Kitware/VERACore": {"commitCount": 98, "createdAt": "2022-09-06T20:43:40Z", "createdWithinLastYear": false, "description": "VERACore is a Python application for visualization and engineering analyses of output data from VERA (Virtual Environment for Reactor Applications). Implemented in Python, it provides instantaneous 2D and 3D images, 1D plots, and alphanumeric data from VERA multi-physics simulations.", "image": "https://repository-images.githubusercontent.com/533496282/a7c4e57f-fcc1-498a-b6e4-419dfa23c2cd", "lastCommitDate": "2025-01-23T15:46:18Z", "name": "VERACore", "pullRequestCount": 6, "stars": 14, "topics": ["trame", "trame-app", "vtk"], "trusted": true}, "https://github.com/Kitware/conceptual-modeler": {"commitCount": 17, "createdAt": "2021-06-16T21:07:55Z", "createdWithinLastYear": false, "description": "Conceptual Modeler based on GemPy and trame", "image": "https://opengraph.githubassets.com/905c4bf62517461d46ae1e3d6e4282574f096c5725152ce2c23b5ab80a12d28e/Kitware/conceptual-modeler", "lastCommitDate": "2024-04-02T22:54:29Z", "name": "conceptual-modeler", "pullRequestCount": 3, "stars": 13, "topics": ["trame-app", "trame", "python"], "trusted": true}, "https://github.com/Kitware/multivariate-view": {"commitCount": 97, "createdAt": "2024-04-12T21:06:42Z", "createdWithinLastYear": false, "description": "Multivariate volume visualizer", "image": "https://repository-images.githubusercontent.com/785890887/e42c292d-c11c-404c-8a81-4dc2b60bfffb", "lastCommitDate": "2026-05-15T21:59:30Z", "name": "multivariate-view", "pullRequestCount": 14, "stars": 6, "topics": ["trame", "trame-app", "vtk"], "trusted": true}, "https://github.com/Kitware/nrtk-explorer": {"commitCount": 473, "createdAt": "2023-12-08T22:23:25Z", "createdWithinLastYear": false, "description": "DataSet Visualizer", "image": "https://opengraph.githubassets.com/eb27d02bd995f2d5c82696db6aa8642b71dc3cc19730d9012671c9bc3d7aa267/Kitware/nrtk-explorer", "lastCommitDate": "2026-03-06T03:34:39Z", "name": "nrtk-explorer", "pullRequestCount": 202, "stars": 11, "topics": ["trame-app", "trame"], "trusted": true}, "https://github.com/Kitware/pan3d": {"commitCount": 664, "createdAt": "2022-05-02T20:29:51Z", "createdWithinLastYear": false, "description": "Python library for easily loading, interacting and visualizing XArray dataset using VTK and trame.", "image": "https://opengraph.githubassets.com/c1e22d14780fbe20af6c8f969663c1c5a1294337e56800d98423e009f0dbfe07/Kitware/pan3d", "lastCommitDate": "2026-04-27T17:43:14Z", "name": "pan3d", "pullRequestCount": 93, "stars": 36, "topics": ["3d", "trame", "visualization", "vtk", "xarray", "xarray-accessor"], "trusted": true}, "https://github.com/Kitware/paraview-trame-components": {"commitCount": 156, "createdAt": "2024-04-11T16:22:13Z", "createdWithinLastYear": false, "description": "High level components for ParaView and trame", "image": "https://repository-images.githubusercontent.com/785311795/cd3a3f01-5053-485d-a095-8bd18f46fa40", "lastCommitDate": "2026-02-10T10:03:34Z", "name": "paraview-trame-components", "pullRequestCount": 20, "stars": 13, "topics": ["paraview", "trame", "trame-app"], "trusted": true}, "https://github.com/Kitware/pf-simulation-modeler": {"commitCount": 59, "createdAt": "2022-01-25T23:15:36Z", "createdWithinLastYear": false, "description": "Simulation modeler for ParFlow. Trame application providing user interface for configuring a parflow simulation.", "image": "https://opengraph.githubassets.com/5417a3911b073fd9e59d7908ff63d8b4f1c90031756f3c54ce0c0e8d807fa9a7/Kitware/pf-simulation-modeler", "lastCommitDate": "2023-07-26T18:50:52Z", "name": "pf-simulation-modeler", "pullRequestCount": 4, "stars": 1, "topics": ["trame-app", "trame"], "trusted": true}, "https://github.com/Kitware/trame": {"commitCount": 652, "createdAt": "2021-09-24T21:38:47Z", "createdWithinLastYear": false, "description": "Trame lets you weave various components and technologies into a Web Application solely written in Python.", "image": "https://opengraph.githubassets.com/0404300fd276ec8ee1449826094238fceb0f72f49e3b3beb8ad7736f8762cb69/Kitware/trame", "lastCommitDate": "2026-07-11T03:11:30Z", "name": "trame", "pullRequestCount": 133, "stars": 683, "topics": ["data-visualization", "plotting", "3d", "vtk", "paraview", "trame", "python3", "web-ui", "trame-maintenance-program"], "trusted": true}, "https://github.com/Kitware/trame-bbox": {"commitCount": 1, "createdAt": "2024-05-07T21:36:11Z", "createdWithinLastYear": false, "description": "Widget library for trame to draw or interact with bounding box via svg.", "image": "https://opengraph.githubassets.com/e1bcebf07b2391e5c68ef628b5eff4a7fe04a28c60576b0d0bf06d4b3bfb386d/Kitware/trame-bbox", "lastCommitDate": "2024-05-07T22:47:09Z", "name": "trame-bbox", "pullRequestCount": 0, "stars": 2, "topics": ["trame"], "trusted": true}, "https://github.com/Kitware/trame-client": {"commitCount": 340, "createdAt": "2022-05-04T22:46:35Z", "createdWithinLastYear": false, "description": "Internal client side implementation of trame", "image": "https://opengraph.githubassets.com/436bba775f7d481841accd5b62b24aad601cc1f7e5d835a5edaf16fbdd2f0c4a/Kitware/trame-client", "lastCommitDate": "2026-06-16T15:29:03Z", "name": "trame-client", "pullRequestCount": 54, "stars": 12, "topics": ["trame", "trame-maintenance-program"], "trusted": true}, "https://github.com/Kitware/trame-code": {"commitCount": 38, "createdAt": "2022-11-10T23:52:12Z", "createdWithinLastYear": false, "description": "VS Code text editor widget for trame ", "image": "https://repository-images.githubusercontent.com/564540701/c6ef1f15-4b10-4267-8bb0-ad5a488256f4", "lastCommitDate": "2026-06-17T15:26:27Z", "name": "trame-code", "pullRequestCount": 5, "stars": 7, "topics": ["trame", "trame-maintenance-program", "trame-widget", "vue2", "vue3"], "trusted": true}, "https://github.com/Kitware/trame-colormaps": {"commitCount": 62, "createdAt": "2026-05-13T23:09:00Z", "createdWithinLastYear": true, "description": "Trame widget and dataclass to control vtk mapper and colormaps", "image": "https://repository-images.githubusercontent.com/1238205135/92448d3c-1f03-45d9-b27f-03f5d6b0e53f", "lastCommitDate": "2026-07-01T16:35:09Z", "name": "trame-colormaps", "pullRequestCount": 17, "stars": 0, "topics": ["trame", "trame-maintenance-program", "trame-widget", "vue3"], "trusted": true}, "https://github.com/Kitware/trame-components": {"commitCount": 54, "createdAt": "2022-05-11T21:03:27Z", "createdWithinLastYear": false, "description": "Helper widgets for trame", "image": "https://opengraph.githubassets.com/4e4f2270b991fbcff569370fc5edd4bb5849ddd6d8f79ab70ac8faf991557e0d/Kitware/trame-components", "lastCommitDate": "2025-05-30T14:21:33Z", "name": "trame-components", "pullRequestCount": 4, "stars": 3, "topics": ["trame", "trame-maintenance-program", "trame-widget", "vue2", "vue3"], "trusted": true}, "https://github.com/Kitware/trame-cookiecutter": {"commitCount": 74, "createdAt": "2022-01-03T01:17:58Z", "createdWithinLastYear": false, "description": "Cookie Cutter template for creating trame application/module", "image": "https://opengraph.githubassets.com/6eb65cf4af93d50703e34f90438b3c132726b61d24fad0c377bd6965f7aafd1e/Kitware/trame-cookiecutter", "lastCommitDate": "2026-06-16T15:10:22Z", "name": "trame-cookiecutter", "pullRequestCount": 16, "stars": 20, "topics": ["cookiecutter", "trame", "trame-maintenance-program"], "trusted": true}, "https://github.com/Kitware/trame-dataclass": {"commitCount": 103, "createdAt": "2025-08-26T16:43:31Z", "createdWithinLastYear": true, "description": "Typed Python dataclasses with automatic server-to-browser state sync for trame applications", "image": "https://opengraph.githubassets.com/e2cff070f3036eea96ed6b715163ba810e2aac4e039b3d8cdf2657326f4262d4/Kitware/trame-dataclass", "lastCommitDate": "2026-06-30T23:46:00Z", "name": "trame-dataclass", "pullRequestCount": 10, "stars": 1, "topics": ["trame", "trame-maintenance-program", "trame-widget", "vue2", "vue3"], "trusted": true}, "https://github.com/Kitware/trame-datagrid": {"commitCount": 22, "createdAt": "2024-01-18T20:34:00Z", "createdWithinLastYear": false, "description": "Trame wrapper to RevoGrid component", "image": "https://repository-images.githubusercontent.com/745195298/ad63d855-38b3-4121-a5bc-017e36734fe3", "lastCommitDate": "2025-06-04T17:03:18Z", "name": "trame-datagrid", "pullRequestCount": 2, "stars": 9, "topics": ["trame", "trame-maintenance-program", "trame-widget", "vue3"], "trusted": true}, "https://github.com/Kitware/trame-deckgl": {"commitCount": 29, "createdAt": "2022-05-11T19:36:02Z", "createdWithinLastYear": false, "description": "Deck.gl widget for trame", "image": "https://repository-images.githubusercontent.com/491248891/6e788ae7-c0dd-4ff3-8eee-581a9f64fc7f", "lastCommitDate": "2026-02-03T18:36:37Z", "name": "trame-deckgl", "pullRequestCount": 3, "stars": 3, "topics": ["trame", "trame-maintenance-program", "trame-widget", "vue2", "vue3"], "trusted": true}, "https://github.com/Kitware/trame-dockview": {"commitCount": 27, "createdAt": "2025-06-22T04:38:42Z", "createdWithinLastYear": false, "description": "Trame wrapper to a Docking Layout Manager", "image": "https://repository-images.githubusercontent.com/1006355758/26f0f8a4-850a-42b2-ac5c-ad0e77a1de6d", "lastCommitDate": "2026-05-18T15:15:12Z", "name": "trame-dockview", "pullRequestCount": 5, "stars": 0, "topics": ["trame", "trame-maintenance-program", "trame-widget", "vue3"], "trusted": true}, "https://github.com/Kitware/trame-formkit": {"commitCount": 12, "createdAt": "2023-02-13T20:24:32Z", "createdWithinLastYear": false, "description": "FormKit widgets exposed in trame", "image": "https://repository-images.githubusercontent.com/601319791/fc13a8d1-1a61-49f4-a3ff-9c9457fea802", "lastCommitDate": "2025-01-09T21:18:00Z", "name": "trame-formkit", "pullRequestCount": 0, "stars": 1, "topics": ["trame", "trame-maintenance-program", "trame-widget", "vue3"], "trusted": true}, "https://github.com/Kitware/trame-grid-layout": {"commitCount": 21, "createdAt": "2022-09-09T21:44:30Z", "createdWithinLastYear": false, "description": "Bring grid-layout widgets to trame ", "image": "https://repository-images.githubusercontent.com/534814820/8609d8cf-b704-476a-9a5a-5f358c7a9eb2", "lastCommitDate": "2025-04-15T00:59:03Z", "name": "trame-grid-layout", "pullRequestCount": 1, "stars": 3, "topics": ["trame", "trame-widget", "vue2"], "trusted": true}, "https://github.com/Kitware/trame-gwc": {"commitCount": 36, "createdAt": "2024-10-15T15:14:26Z", "createdWithinLastYear": false, "description": "Bring girder-web-components widgets to trame", "image": "https://opengraph.githubassets.com/a3e7e9a2c21f4d590e83d9bce67ef866e4cd17fe8cc97f79e86e3fd849c2ec3d/Kitware/trame-gwc", "lastCommitDate": "2026-05-26T14:07:38Z", "name": "trame-gwc", "pullRequestCount": 13, "stars": 2, "topics": ["girder", "trame", "trame-maintenance-program", "trame-widget", "vue3"], "trusted": true}, "https://github.com/Kitware/trame-iframe": {"commitCount": 22, "createdAt": "2023-03-28T20:38:16Z", "createdWithinLastYear": false, "description": "Helper widget for trame to help for cross-origin communication between window/iframe", "image": "https://opengraph.githubassets.com/7413ac78fefb09e80e42690a5578f0caf7a5c6da1c1b1d311ee62561f10360e0/Kitware/trame-iframe", "lastCommitDate": "2025-01-01T06:19:37Z", "name": "trame-iframe", "pullRequestCount": 2, "stars": 4, "topics": ["trame", "trame-maintenance-program", "trame-widget", "vue2", "vue3"], "trusted": true}, "https://github.com/Kitware/trame-image-tools": {"commitCount": 13, "createdAt": "2025-04-16T14:35:15Z", "createdWithinLastYear": false, "description": "Interactive annotation tool using SVG shapes. ", "image": "https://repository-images.githubusercontent.com/967492396/8b34d802-4943-4128-9131-31e9399ef525", "lastCommitDate": "2025-08-05T21:15:42Z", "name": "trame-image-tools", "pullRequestCount": 2, "stars": 5, "topics": ["trame", "trame-maintenance-program", "trame-widget", "vue3"], "trusted": true}, "https://github.com/Kitware/trame-jupyter-extension": {"commitCount": 26, "createdAt": "2023-07-24T20:18:24Z", "createdWithinLastYear": false, "description": "Jupyter extension for trame client/server communication", "image": "https://opengraph.githubassets.com/04f04e19bf84f1ba9b963195fcf8bd05b68aa792d2143991484abd3afaa0d9d0/Kitware/trame-jupyter-extension", "lastCommitDate": "2025-01-01T23:16:17Z", "name": "trame-jupyter-extension", "pullRequestCount": 2, "stars": 13, "topics": ["trame", "trame-maintenance-program"], "trusted": true}, "https://github.com/Kitware/trame-leaflet": {"commitCount": 34, "createdAt": "2022-05-11T20:03:28Z", "createdWithinLastYear": false, "description": "Enable leaflet widgets into trame", "image": "https://repository-images.githubusercontent.com/491256235/fb92a96a-9dd8-4f95-bf0c-6426eb2e11ba", "lastCommitDate": "2025-03-09T20:00:33Z", "name": "trame-leaflet", "pullRequestCount": 6, "stars": 4, "topics": ["trame", "trame-maintenance-program", "trame-widget", "vue2", "vue3"], "trusted": true}, "https://github.com/Kitware/trame-markdown": {"commitCount": 34, "createdAt": "2022-05-10T20:40:39Z", "createdWithinLastYear": false, "description": "Trame widget to embed markdown content into a trame application", "image": "https://opengraph.githubassets.com/e4bf2246a767fb203c29230f590badf0b95500f0cf45ea699fb6e705928da1fb/Kitware/trame-markdown", "lastCommitDate": "2025-06-11T14:13:50Z", "name": "trame-markdown", "pullRequestCount": 2, "stars": 1, "topics": ["trame", "trame-maintenance-program", "trame-widget", "vue2", "vue3"], "trusted": true}, "https://github.com/Kitware/trame-matplotlib": {"commitCount": 21, "createdAt": "2022-05-10T23:12:15Z", "createdWithinLastYear": false, "description": "Trame widget for Matplotlib", "image": "https://repository-images.githubusercontent.com/490887975/47386bcb-fe4d-409b-a958-fac274ec444d", "lastCommitDate": "2025-04-15T01:04:44Z", "name": "trame-matplotlib", "pullRequestCount": 2, "stars": 6, "topics": ["trame", "trame-maintenance-program", "trame-widget", "vue2", "vue3"], "trusted": true}, "https://github.com/Kitware/trame-mnist": {"commitCount": 22, "createdAt": "2022-02-12T00:19:08Z", "createdWithinLastYear": false, "description": "Simple trame demonstrator using the MNIST dataset with XAITK for saliency analysis", "image": "https://repository-images.githubusercontent.com/458378860/01982c09-0c47-4774-8bbe-c5df9754c248", "lastCommitDate": "2025-04-15T01:04:14Z", "name": "trame-mnist", "pullRequestCount": 4, "stars": 1, "topics": ["trame", "trame-app"], "trusted": true}, "https://github.com/Kitware/trame-monitor": {"commitCount": 6, "createdAt": "2022-05-22T17:21:57Z", "createdWithinLastYear": false, "description": "Trame application and utility functions for resource monitoring", "image": "https://opengraph.githubassets.com/80e5541c8c399f14047d69b33bfc3d4a62f118624d231eda24a560926831b20a/Kitware/trame-monitor", "lastCommitDate": "2022-05-30T23:22:43Z", "name": "trame-monitor", "pullRequestCount": 0, "stars": 2, "topics": ["trame"], "trusted": true}, "https://github.com/Kitware/trame-plotly": {"commitCount": 40, "createdAt": "2022-05-10T17:43:30Z", "createdWithinLastYear": false, "description": "trame-plotly brings Plotly charts into trame", "image": "https://repository-images.githubusercontent.com/490802069/f220246a-9323-401b-815f-c340662a8e4a", "lastCommitDate": "2026-04-18T04:20:09Z", "name": "trame-plotly", "pullRequestCount": 5, "stars": 5, "topics": ["trame", "trame-maintenance-program", "trame-widget", "vue2", "vue3"], "trusted": true}, "https://github.com/Kitware/trame-quasar": {"commitCount": 15, "createdAt": "2023-08-17T03:49:25Z", "createdWithinLastYear": false, "description": "About trame-quasar brings Quasar UI Material Components into trame", "image": "https://repository-images.githubusercontent.com/679528211/aa0a9ccf-de96-45b5-9f65-a25a835cdc37", "lastCommitDate": "2025-04-15T00:58:02Z", "name": "trame-quasar", "pullRequestCount": 2, "stars": 5, "topics": ["trame", "trame-maintenance-program", "trame-widget", "vue3"], "trusted": true}, "https://github.com/Kitware/trame-radial-menu": {"commitCount": 48, "createdAt": "2026-05-28T11:57:12Z", "createdWithinLastYear": true, "description": "A trame widget that creates a radial menu around the mouse cursor", "image": "https://repository-images.githubusercontent.com/1252316706/4562feeb-8037-4399-8462-336317272c40", "lastCommitDate": "2026-06-23T08:57:07Z", "name": "trame-radial-menu", "pullRequestCount": 2, "stars": 0, "topics": ["trame", "trame-widget", "trame-component", "vue3"], "trusted": true}, "https://github.com/Kitware/trame-rca": {"commitCount": 172, "createdAt": "2022-10-06T15:45:31Z", "createdWithinLastYear": false, "description": "Remote Controlled Area: Enable remote rendering from any backend. VTK integration supported with either image or video encoding. This is a modern implementation of trame-vtk for handling remote rendering.", "image": "https://repository-images.githubusercontent.com/546760215/39187e72-59ea-4257-ae59-c20fadaf2621", "lastCommitDate": "2026-07-11T23:18:18Z", "name": "trame-rca", "pullRequestCount": 44, "stars": 7, "topics": ["trame", "trame-maintenance-program", "trame-widget", "vue2", "vue3"], "trusted": true}, "https://github.com/Kitware/trame-router": {"commitCount": 33, "createdAt": "2022-05-05T23:27:29Z", "createdWithinLastYear": false, "description": "trame-router brings Vue Router capabilities into trame widgets and ui", "image": "https://repository-images.githubusercontent.com/489154515/ec70c4ee-dbd2-4b8c-8a87-f01db5be1ed1", "lastCommitDate": "2025-04-15T00:56:21Z", "name": "trame-router", "pullRequestCount": 1, "stars": 2, "topics": ["trame", "trame-maintenance-program", "trame-widget", "vue2", "vue3"], "trusted": true}, "https://github.com/Kitware/trame-server": {"commitCount": 297, "createdAt": "2022-05-04T22:05:18Z", "createdWithinLastYear": false, "description": "Internal server side implementation of trame", "image": "https://opengraph.githubassets.com/71bde28e4326978fea085444763f4e122bef754f618a190e97be0377885dac5f/Kitware/trame-server", "lastCommitDate": "2026-07-06T15:44:51Z", "name": "trame-server", "pullRequestCount": 79, "stars": 16, "topics": ["trame", "trame-maintenance-program"], "trusted": true}, "https://github.com/Kitware/trame-simput": {"commitCount": 132, "createdAt": "2022-05-26T22:03:18Z", "createdWithinLastYear": false, "description": "Simple input forms for any data model.", "image": "https://repository-images.githubusercontent.com/496784210/c51f590b-0441-43ca-8051-18cd5863c825", "lastCommitDate": "2026-06-16T05:53:16Z", "name": "trame-simput", "pullRequestCount": 33, "stars": 10, "topics": ["trame", "trame-maintenance-program", "trame-widget", "vue2", "vue3"], "trusted": true}, "https://github.com/Kitware/trame-tauri": {"commitCount": 66, "createdAt": "2022-10-11T22:36:05Z", "createdWithinLastYear": false, "description": "Widgets/utils library to help with Tauri desktop bundle interaction", "image": "https://repository-images.githubusercontent.com/549889902/0ffbb351-fa26-4b03-9a66-21213912d87d", "lastCommitDate": "2025-10-21T15:48:45Z", "name": "trame-tauri", "pullRequestCount": 10, "stars": 14, "topics": ["trame", "trame-maintenance-program", "trame-widget", "vue2", "vue3"], "trusted": true}, "https://github.com/Kitware/trame-tutorial": {"commitCount": 55, "createdAt": "2021-11-15T20:45:13Z", "createdWithinLastYear": false, "description": "Tutorial material for trame. ", "image": "https://opengraph.githubassets.com/d0ba6b1accddc8f48b7000a80fdd395c7bdf8766be16049c4e6c8fedd3316b9e/Kitware/trame-tutorial", "lastCommitDate": "2026-05-12T00:39:31Z", "name": "trame-tutorial", "pullRequestCount": 4, "stars": 23, "topics": ["trame"], "trusted": true}, "https://github.com/Kitware/trame-vega": {"commitCount": 26, "createdAt": "2022-05-11T15:51:21Z", "createdWithinLastYear": false, "description": "Vega widget for trame", "image": "https://repository-images.githubusercontent.com/491177541/9fc2495f-d418-44d5-aacd-267a3f022696", "lastCommitDate": "2025-04-15T00:57:18Z", "name": "trame-vega", "pullRequestCount": 1, "stars": 3, "topics": ["trame", "trame-maintenance-program", "trame-widget", "vue2", "vue3"], "trusted": true}, "https://github.com/Kitware/trame-vtk": {"commitCount": 336, "createdAt": "2022-05-05T23:02:08Z", "createdWithinLastYear": false, "description": "VTK/ParaView widgets for trame enabling remote and local rendering", "image": "https://repository-images.githubusercontent.com/489149930/93fc7ee7-c195-460b-84ec-0a1de19063ee", "lastCommitDate": "2026-06-30T16:24:09Z", "name": "trame-vtk", "pullRequestCount": 63, "stars": 32, "topics": ["trame", "trame-maintenance-program", "trame-widget", "vue2", "vue3"], "trusted": true}, "https://github.com/Kitware/trame-vtklocal": {"commitCount": 289, "createdAt": "2024-02-19T21:40:38Z", "createdWithinLastYear": false, "description": "Local Rendering using VTK.wasm to match server side rendering pipeline on the client side.", "image": "https://repository-images.githubusercontent.com/760145891/777ba66a-a13a-43e5-93a7-335da292e87c", "lastCommitDate": "2026-07-09T21:38:47Z", "name": "trame-vtklocal", "pullRequestCount": 37, "stars": 28, "topics": ["trame", "trame-maintenance-program", "trame-widget", "vue2", "vue3"], "trusted": true}, "https://github.com/Kitware/trame-vuetify": {"commitCount": 114, "createdAt": "2022-05-05T22:21:25Z", "createdWithinLastYear": false, "description": "trame-vuetify brings Vuetify UI Material Components into trame", "image": "https://repository-images.githubusercontent.com/489141723/e803b4de-bb8c-4d90-99e7-2f302630e3fa", "lastCommitDate": "2026-06-08T15:44:50Z", "name": "trame-vuetify", "pullRequestCount": 22, "stars": 13, "topics": ["trame", "trame-maintenance-program", "trame-widget", "vue2", "vue3"], "trusted": true}, "https://github.com/Kitware/trame-xterm": {"commitCount": 31, "createdAt": "2023-04-05T22:02:54Z", "createdWithinLastYear": false, "description": "XTerm widget for trame", "image": "https://repository-images.githubusercontent.com/624163216/265cb988-f93a-4d11-82e5-e4d9aa7322ba", "lastCommitDate": "2026-03-14T01:08:31Z", "name": "trame-xterm", "pullRequestCount": 0, "stars": 1, "topics": ["trame", "trame-maintenance-program", "trame-widget", "vue2", "vue3"], "trusted": true}, "https://github.com/Kitware/vtk-prompt": {"commitCount": 158, "createdAt": "2025-01-22T03:44:34Z", "createdWithinLastYear": false, "description": "Control VTK using natural language", "image": "https://repository-images.githubusercontent.com/920382769/0f37dbda-c867-4c5f-8721-0dd069f238d3", "lastCommitDate": "2026-06-30T23:18:16Z", "name": "vtk-prompt", "pullRequestCount": 37, "stars": 12, "topics": ["llm", "openai-api", "trame", "vtk", "sci-vi"], "trusted": true}, "https://github.com/KitwareMedical/trame-slicer": {"commitCount": 300, "createdAt": "2025-01-30T15:04:34Z", "createdWithinLastYear": false, "description": "Bring the capabilities of 3D Slicer to the web with modern UI using the trame framework!", "image": "https://repository-images.githubusercontent.com/924733486/bea134dd-f0c3-446a-9510-032d4dca3ac3", "lastCommitDate": "2026-07-09T06:44:15Z", "name": "trame-slicer", "pullRequestCount": 77, "stars": 62, "topics": ["3d-slicer", "medical-imaging", "trame", "3d-slicer-custom-application", "3d-slicer-fork", "3d-slicer-software", "trame-app", "trame-maintenance-program", "vue3", "trame-widget"], "trusted": true}, "https://github.com/MBradley1985/SAGE-Viewer": {"commitCount": 195, "createdAt": "2026-06-14T06:54:28Z", "createdWithinLastYear": true, "description": "Interactive 3D visualization of dark matter haloes and SAGE galaxies across cosmic time \u2014 PyVista + Trame", "image": "https://raw.githubusercontent.com/MBradley1985/SAGE-Viewer/main/docs/images/hero.png", "lastCommitDate": "2026-07-01T22:56:09Z", "name": "SAGE-Viewer", "pullRequestCount": 27, "stars": 1, "topics": ["trame", "trame-app", "..."], "trusted": false}, "https://github.com/MXJK851/SpinView": {"commitCount": 34, "createdAt": "2023-09-18T14:08:12Z", "createdWithinLastYear": false, "description": "SpinView: General interactive visual analysis tool for multi-scale computational magnetism", "image": "https://github.com/MXJK851/SpinView/raw/main/docs/assets/readme.png", "lastCommitDate": "2023-11-15T21:32:29Z", "name": "SpinView", "pullRequestCount": 0, "stars": 32, "topics": ["trame", "trame-app", "..."], "trusted": false}, "https://github.com/XAITK/xaitk-saliency-web-demo": {"commitCount": 102, "createdAt": "2021-10-07T14:36:05Z", "createdWithinLastYear": false, "description": "Demonstration Web UI to visualize XAITK Saliency functionality.", "image": "https://raw.githubusercontent.com/XAITK/xaitk-saliency-web-demo/master/gallery/xaitk-classification-rise-4.jpg", "lastCommitDate": "2025-03-13T18:33:10Z", "name": "xaitk-saliency-web-demo", "pullRequestCount": 22, "stars": 18, "topics": ["trame", "trame-app", "..."], "trusted": false}, "https://github.com/brendanjmeade/fennil": {"commitCount": 110, "createdAt": "2025-11-24T13:14:34Z", "createdWithinLastYear": true, "description": "fennel", "image": "https://raw.githubusercontent.com/brendanjmeade/fennil/main/fennil.jpg", "lastCommitDate": "2026-06-03T19:28:30Z", "name": "fennil", "pullRequestCount": 3, "stars": 3, "topics": ["trame", "trame-app", "..."], "trusted": false}, "https://github.com/brendanjmeade/parsli": {"commitCount": 234, "createdAt": "2025-01-16T23:00:38Z", "createdWithinLastYear": false, "description": "Visualization of celeri and skies results", "image": "https://raw.githubusercontent.com/brendanjmeade/parsli/refs/heads/main/parsli.png", "lastCommitDate": "2026-07-07T19:22:56Z", "name": "parsli", "pullRequestCount": 35, "stars": 12, "topics": ["trame", "trame-app", "vtk", "..."], "trusted": false}, "https://github.com/cardinalgeo/drilldown": {"commitCount": 250, "createdAt": "2023-11-15T18:42:40Z", "createdWithinLastYear": false, "description": "Visualization tools for \"drilling down\" into ore deposits datasets", "image": "https://github.com/cardinalgeo/drilldown/raw/main/media/poster.jpg", "lastCommitDate": "2024-10-24T11:46:06Z", "name": "drilldown", "pullRequestCount": 19, "stars": 63, "topics": ["trame", "trame-app", "vtk", "..."], "trusted": false}, "https://github.com/dhruvhaldar/FOAMFlask": {"commitCount": 1351, "createdAt": "2025-09-06T13:07:06Z", "createdWithinLastYear": true, "description": "Yet another OpenFOAM frontend", "image": "https://opengraph.githubassets.com/51aeb8990715fcaa2ead662772c8ee9f59cfc774a2958a5441b751100918e290/dhruvhaldar/FOAMFlask", "lastCommitDate": "2026-07-08T19:45:29Z", "name": "FOAMFlask", "pullRequestCount": 512, "stars": 2, "topics": ["docker", "openfoam", "openfoam-solver", "python3", "pyvista", "trame", "trame-app", "vtk", "vtk-applications", "post-processing", "..."], "trusted": false}, "https://github.com/festim-dev/festim-gui": {"commitCount": 56, "createdAt": "2026-04-15T18:10:44Z", "createdWithinLastYear": true, "description": "Repo for the FESTIM gui developed with Trame", "image": "https://opengraph.githubassets.com/289f3b5dc9c880e3b40403f0ce39afb83cfac95e1e09103f3d09e516861ab861/festim-dev/festim-gui", "lastCommitDate": "2026-07-02T01:04:50Z", "name": "festim-gui", "pullRequestCount": 3, "stars": 1, "topics": ["trame", "trame-app", "vtk", "..."], "trusted": false}, "https://github.com/jph6366/trame-aoc": {"commitCount": 24, "createdAt": "2024-12-22T20:26:57Z", "createdWithinLastYear": false, "description": "Kitware provides Trame, an open-source oriented framework with a Python-centric API and built on VueJs. This repo is implemented for Advent of Code", "image": "https://opengraph.githubassets.com/7d4b85d534af78da601680aa5d91029f7165e016e90336f4c520e9c5c4233d29/jph6366/trame-aoc", "lastCommitDate": "2025-02-21T20:46:16Z", "name": "trame-aoc", "pullRequestCount": 1, "stars": 0, "topics": ["trame", "trame-app", "..."], "trusted": false}, "https://github.com/jwindgassen/jupyter-trame-proxy": {"commitCount": 6, "createdAt": "2022-11-30T18:33:48Z", "createdWithinLastYear": false, "description": "JupyterServerProxy for trame and ParaView Visualizer", "image": "https://opengraph.githubassets.com/103a4954a4ac0264f0d7363607a9d7cb14ff06d2c012f9649d56b4848ffd0fef/jwindgassen/jupyter-trame-proxy", "lastCommitDate": "2022-12-06T17:35:51Z", "name": "jupyter-trame-proxy", "pullRequestCount": 0, "stars": 1, "topics": ["trame", "trame-app", "paraview", "..."], "trusted": false}, "https://github.com/kmarchais/mmgpy": {"commitCount": 376, "createdAt": "2024-12-01T21:31:38Z", "createdWithinLastYear": false, "description": "Pythonic remeshing library based on the MMG software.", "image": "https://github.com/kmarchais/mmgpy/raw/main/assets/mechanical_piece_remeshing.png", "lastCommitDate": "2026-07-12T09:33:03Z", "name": "mmgpy", "pullRequestCount": 267, "stars": 21, "topics": ["trame", "trame-app", "vtk", "..."], "trusted": false}, "https://github.com/linson7017/pymipf": {"commitCount": 22, "createdAt": "2025-01-15T14:47:47Z", "createdWithinLastYear": false, "description": "medical image web viewer with python", "image": "https://github.com/linson7017/pymipf/raw/master/imgs/multi_view.png", "lastCommitDate": "2025-04-03T01:30:57Z", "name": "pymipf", "pullRequestCount": 0, "stars": 1, "topics": ["trame", "trame-app", "vtk", "..."], "trusted": false}, "https://github.com/ndminhvn/interactive-population-visualization": {"commitCount": 5, "createdAt": "2025-12-01T05:32:47Z", "createdWithinLastYear": true, "description": "An interactive visualization system designed to explore county-level population trends", "image": "https://opengraph.githubassets.com/20508c5b8fe53dd6b39543c4c3e496befb736fedf3fb54a54a48df523c5d014e/ndminhvn/interactive-population-visualization", "lastCommitDate": "2025-12-08T04:07:01Z", "name": "interactive-population-visualization", "pullRequestCount": 0, "stars": 0, "topics": ["trame", "trame-app", "vtk", "..."], "trusted": false}, "https://github.com/utkarshayachit/simplified-batch": {"commitCount": 36, "createdAt": "2022-10-11T19:05:46Z", "createdWithinLastYear": false, "description": "HPC applications on Azure using Azure Batch", "image": "https://opengraph.githubassets.com/88102053bc51895321647518de140e6eeb62691aae1dfc614f26299d3775d117/utkarshayachit/simplified-batch", "lastCommitDate": "2023-11-04T12:50:20Z", "name": "simplified-batch", "pullRequestCount": 0, "stars": 1, "topics": ["trame", "trame-app", "paraview", "..."], "trusted": false}, "https://github.com/vicentebolea/virtual-thermostat": {"commitCount": 20, "createdAt": "2025-05-18T00:46:21Z", "createdWithinLastYear": false, "description": "AC without Thermostat? here is your free OSS solution", "image": "https://repository-images.githubusercontent.com/985529189/2dd89436-7c75-4954-a33e-d31dead923bc", "lastCommitDate": "2025-06-29T03:48:39Z", "name": "virtual-thermostat", "pullRequestCount": 0, "stars": 1, "topics": ["trame", "trame-app", "..."], "trusted": false}, "https://gitlab.kitware.com/keu-public/trame-catalyst-demo": {"commitCount": 10, "createdAt": "2026-05-07T00:00:00Z", "createdWithinLastYear": true, "description": "A trame application for Catalyst live visualization.", "image": "https://gitlab.kitware.com/keu-public/trame-catalyst-demo/-/raw/main/screenshot.png", "lastCommitDate": "2026-05-28T00:00:00Z", "name": "trame-catalyst-demo", "nameWithOwner": "keu-public/trame-catalyst-demo", "pullRequestCount": 0, "stars": 0, "topics": ["trame", "trame-app", "vtk"], "trusted": true}} \ No newline at end of file diff --git a/docs/vitepress/requirements.txt b/docs/vitepress/requirements.txt new file mode 100644 index 00000000..4818cc54 --- /dev/null +++ b/docs/vitepress/requirements.txt @@ -0,0 +1 @@ +pyyaml \ No newline at end of file