This release is a pre-release and may not be stable for production use.
travel-animator
Render videos for the Travel Animator app.
A companion to the Travel Animator service; it needs an account. See licence for the terms.
The Python import path is tada_render.
Install
pip install travel-animator
Requirements: Python 3.12+, an OpenGL implementation (a GPU driver in production, Mesa/llvmpipe for CPU-only use on Linux), and FFmpeg/PyAV's usual runtime libraries.
Linux, macOS, and Windows are all supported. On Windows the GL context comes from WGL, which needs an interactive desktop session: a service (session 0) cannot create one, and there is no software-render fallback as on Linux.
For the MCP server, install the mcp extra:
pip install "travel-animator[mcp]"
The extra keeps the MCP SDK out of the base install (and out of the GPU worker's dependency set — the renderer itself never imports it).
CLI
Console script: travel-animator.
travel-animator login # interactive magic-link login, or store a bearer token
travel-animator logout # remove locally stored credentials (local only; see below)
travel-animator render-bundle # render a prepared, offline bundle to MP4
travel-animator mcp # run the stdio MCP server (requires the `mcp` extra, below)
login authenticates against the same account system the Travel Animator
mobile app uses. With no argument on an interactive terminal it runs a
magic-link flow (email -> 6-digit code); with a token argument, -, or piped
stdin it stores a bearer token directly (for CI). Credentials are written to
~/.config/tada/credentials.json (or $XDG_CONFIG_HOME/tada/credentials.json)
with mode 0600 — the same XDG-style location on every platform; %APPDATA% is
not used. On Windows 0600 is a no-op beyond the read-only bit, so protection
comes from the ACLs your user profile already grants.
logout removes whatever is stored locally. There is currently no
server-side session revocation: a stolen credentials file remains valid at
the login service until it naturally expires. logout only stops this
machine from presenting it.
render-bundle renders a prepared bundle with no network access. Its --encoder
default is libx264, which runs anywhere; pass --encoder h264_nvenc for NVIDIA
hardware encoding. Run travel-animator render-bundle --help for the full flag
reference.
MCP server
The mcp extra adds travel-animator mcp, a stdio MCP server that lets an AI
assistant do the whole job for you: plan a route, tune how the animation looks,
and render the video. A typical MCP client configuration:
{
"mcpServers": {
"travel-animator-mcp": {
"command": "travel-animator",
"args": ["mcp"]
}
}
}
Run travel-animator login in a terminal first — tools that need a credential
fail with a clear message telling you to do so, and auth_status lets an
agent check before it builds a trip it cannot render.
Licence
travel-animator is published under a limited use licence, not an open-source
licence. In short: you may install and run it unmodified to prepare and
render Travel Animator content and to talk to Lascade's services. You may not
redistribute it, modify it, or build a competing service with it. The full
terms ship inside the package at tada_render/LICENSE.
The bundled fonts (SIL Open Font License 1.1) and flag artwork (MIT) are
third-party assets under their own licences, which that restriction does not
touch. Their notices and full licence texts are in
tada_render/THIRD-PARTY-NOTICES.md.
For redistribution or modification rights, contact Lascade.
Release files for travel-animator 0.2.0a6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| travel_animator-0.2.0a6-py3-none-win_amd64.whl | Python 3 | none | Windows x86-64 | Details |
| travel_animator-0.2.0a6-py3-none-manylinux_2_34_aarch64.whl | Python 3 | none | Linux glibc 2.34+ ARM64 | Details |
| travel_animator-0.2.0a6-py3-none-manylinux_2_28_x86_64.whl | Python 3 | none | Linux glibc 2.28+ x86-64 | Details |
| travel_animator-0.2.0a6-py3-none-macosx_11_0_arm64.whl | Python 3 | none | macOS 11.0+ ARM64 | Details |
Total release size: 326.0 MB
Release files / travel_animator-0.2.0a6-py3-none-win_amd64.whl
| Download URL | travel_animator-0.2.0a6-py3-none-win_amd64.whl |
|---|---|
| Size | 81.8 MB |
| Tags | Python 3 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
5539a15c70bb54dfd7ba5ac3ad1215cb5a07942404691f5b8d286a7ced75b6fa
|
|
BLAKE2b-256 checksum How to use checksums |
77485d040d98a6bb8d614d6224ffd3010c7e839f5e634aed120c9918c153b612
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / travel_animator-0.2.0a6-py3-none-manylinux_2_34_aarch64.whl
| Download URL | travel_animator-0.2.0a6-py3-none-manylinux_2_34_aarch64.whl |
|---|---|
| Size | 81.7 MB |
| Tags | Linux glibc 2.34+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
c45d467bcdc00a4d4fca7705ca192756e00d9592f8ecc6eb118b65ad3668b9b4
|
|
BLAKE2b-256 checksum How to use checksums |
1edd4cc65a5b6462ddf3214bc7a03ed8db12afda6f386bbc8436c6fbaf707719
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / travel_animator-0.2.0a6-py3-none-manylinux_2_28_x86_64.whl
| Download URL | travel_animator-0.2.0a6-py3-none-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 82.6 MB |
| Tags | Linux glibc 2.28+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
381a42a40503de917a97d9840e48c751e5ae903e7b9604702426f567d3fe3144
|
|
BLAKE2b-256 checksum How to use checksums |
d06c194ce0be8991422e1674bb31b5cc1d8d0ad8744b25cd4c2ee4326b5a501b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / travel_animator-0.2.0a6-py3-none-macosx_11_0_arm64.whl
| Download URL | travel_animator-0.2.0a6-py3-none-macosx_11_0_arm64.whl |
|---|---|
| Size | 80.0 MB |
| Tags | Python 3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
64df0dcff751bcd36cef6ea85d31a0012025c3620254fc6512f58646cb5063de
|
|
BLAKE2b-256 checksum How to use checksums |
4d24547c589da9e7c6aee9a49628451c2887e6e29456d0d531403e25054fe862
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|