trame-router
Vue Router widgets for trame
What it is and what it does
trame-router integrates Vue Router—the official Vue.js routing library—into trame, a Python web framework for building interactive applications. It extends trame's widget and UI layers with router components and helpers, allowing developers to define multi-page applications with URL-based navigation and parameterized routes. Routes are defined using RouterViewLayout context managers that map URL paths to UI content, and navigation is handled through standard Vue Router mechanisms.
The package is a thin Python wrapper around Vue Router's core functionality, designed to streamline routing setup within trame's declarative UI model. It supports both hash-based and HTML5 history routing modes (controlled via environment variable), and integrates with trame's existing widget ecosystem like vuetify. With one runtime dependency (trame-client) and a pure-Python wheel, installation is straightforward, though the package has been dormant for over two years.
Use it for:
- Build multi-page trame applications where different URL paths render different UI layouts and content.
- Create parameterized routes (e.g., /bar/:id) to display dynamic content based on URL parameters.
- Implement navigation bars or menus that link to different application pages using standard Vue Router button components.
- Deploy trame apps as single-page applications with client-side routing instead of server-side page reloads.
- Integrate trame dashboards or tools that need bookmarkable, shareable URLs for different application states.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Adds multi-page navigation to trame applications using Vue Router components, enabling URL-based routing and parameterized views within trame's web framework.
Yes, if you are already committed to trame and need multi-page routing. The package is stable and has no known vulnerabilities, but its dormant maintenance status (739 days since last release) means you should verify compatibility with your trame and Vue.js versions before adopting it. Low install friction and permissive licensing make it a straightforward addition to a trame project.
Install
trame-router on PyPI
pip
pip install trame-routeruv
uv add trame-routerpoetry
poetry add trame-routerInstalling trame-router
Before you install
Low install friction with a single pure-Python wheel dependency on trame-client. Maintenance is dormant—last release was 739 days ago—so expect no active bug fixes or feature updates, though the package is marked Production/Stable.
License in practice
MIT license (permissive) allows commercial and private use with minimal restrictions, matching Vue Router's own licensing.
Quickstart
pip install trame-router
from trame.ui.router import RouterViewLayout
from trame.widgets import router
with RouterViewLayout(server, "/"):
vuetify.VCard()
with RouterViewLayout(server, "/foo"):
vuetify.VCard()
router.RouterView()
Requires an existing trame application server instance; router history mode (html5 vs hash) is controlled by __TRAME_ROUTER_HISTORY_MODE__ environment variable.
Verify before relying
- Whether dormant status (739 days since last release) affects compatibility with recent trame or Vue.js versions.
- Specific Python version requirements (requires_python is unspecified in metadata).
- Performance characteristics with complex routing hierarchies or large parameter sets.
Package facts
| License | MIT (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — trame-client |
| Maintenance | dormant — 739 days since the last release |
| First released | |
| Downloads | 107,857/month — #12,590 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: trame_router-2.3.0-py3-none-any.whl
Keywords: Python, Interactive, Web, Application, Framework
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
trame-componentsProvides Vue.js utility widgets and helper…
permissive · top 15,000 on PyPI
sanic-routingSanic-routing is a low-level AST-style router…
permissive · top 5,000 on PyPI
trame-clienttrame-client is the browser-side runtime for…
permissive · top 5,000 on PyPI
trame-vuetifyProvides Material Design UI components…
permissive · top 5,000 on PyPI
trameTrame is a Python web framework for building…
permissive · top 5,000 on PyPI
trame-vtkProvides VTK and ParaView visualization widgets…
permissive · top 5,000 on PyPI
trame-servertrame-server provides the server-side runtime…
permissive · top 5,000 on PyPI
extra-streamlit-componentsProvides additional UI components for Streamlit…
permissive · top 15,000 on PyPI
trame-commonProvides shared helper functions, decorators,…
permissive · top 5,000 on PyPI
semantic-routerSemantic Router routes LLM requests to…
permissive · top 15,000 on PyPI