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.0a7
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.0a7-py3-none-win_amd64.whl | Python 3 | none | Windows x86-64 | Details |
| travel_animator-0.2.0a7-py3-none-manylinux_2_34_aarch64.whl | Python 3 | none | Linux glibc 2.34+ ARM64 | Details |
| travel_animator-0.2.0a7-py3-none-manylinux_2_28_x86_64.whl | Python 3 | none | Linux glibc 2.28+ x86-64 | Details |
| travel_animator-0.2.0a7-py3-none-macosx_11_0_arm64.whl | Python 3 | none | macOS 11.0+ ARM64 | Details |
Total release size: 329.7 MB
Release files / travel_animator-0.2.0a7-py3-none-win_amd64.whl
| Download URL | travel_animator-0.2.0a7-py3-none-win_amd64.whl |
|---|---|
| Size | 82.7 MB |
| Tags | Python 3 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
40d6e2117f6cf024b85128ac9f4ad331fec59adda8e2a83bc617d34f1408562f
|
|
BLAKE2b-256 checksum How to use checksums |
067b27325122ac6914ab1b50e426561e9d8f64b86276378c92009777cb3811e7
|
| 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.0a7-py3-none-manylinux_2_34_aarch64.whl
| Download URL | travel_animator-0.2.0a7-py3-none-manylinux_2_34_aarch64.whl |
|---|---|
| Size | 82.6 MB |
| Tags | Linux glibc 2.34+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
dbce2637ea73cb1123de7471a5ab9bb47e5ec42a608c4e21091567d4154cab5e
|
|
BLAKE2b-256 checksum How to use checksums |
c61e810ab8f7991f43d4f79935997a5eec8b3be483e82115545cc0f4e75b89f4
|
| 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.0a7-py3-none-manylinux_2_28_x86_64.whl
| Download URL | travel_animator-0.2.0a7-py3-none-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 83.5 MB |
| Tags | Linux glibc 2.28+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
a6212711ed3de000f1fa19fd3af70bfb407e8ee161702f63404dc96728442fe1
|
|
BLAKE2b-256 checksum How to use checksums |
3b842f7258bc7eb6d247d3b308d8c7f479355d8a609c064919f8603fa719e434
|
| 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.0a7-py3-none-macosx_11_0_arm64.whl
| Download URL | travel_animator-0.2.0a7-py3-none-macosx_11_0_arm64.whl |
|---|---|
| Size | 80.9 MB |
| Tags | Python 3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
d0fccf3332f89a7089c1a146e0d7034a7a3aedd30b65c81da049dfc8ec74753f
|
|
BLAKE2b-256 checksum How to use checksums |
41c82e56dbbaa79053b7193dbbca784a6be38fb4ae41167939b0af39fcb71806
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|