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.0a5
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.0a5-py3-none-win_amd64.whl | Python 3 | none | Windows x86-64 | Details |
| travel_animator-0.2.0a5-py3-none-manylinux_2_34_aarch64.whl | Python 3 | none | Linux glibc 2.34+ ARM64 | Details |
| travel_animator-0.2.0a5-py3-none-manylinux_2_28_x86_64.whl | Python 3 | none | Linux glibc 2.28+ x86-64 | Details |
| travel_animator-0.2.0a5-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.0a5-py3-none-win_amd64.whl
| Download URL | travel_animator-0.2.0a5-py3-none-win_amd64.whl |
|---|---|
| Size | 81.7 MB |
| Tags | Python 3 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
98223573d02413da5d447a961937d4d102426ed394b05b81ea94e4ed0f08de0e
|
|
BLAKE2b-256 checksum How to use checksums |
621daccaae022843f1d224f52538b1bbfbdc5a1cf2a568c0e688e75f4d3457bd
|
| 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.0a5-py3-none-manylinux_2_34_aarch64.whl
| Download URL | travel_animator-0.2.0a5-py3-none-manylinux_2_34_aarch64.whl |
|---|---|
| Size | 81.6 MB |
| Tags | Linux glibc 2.34+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
878426b14aadbec3a665280211c8cb3a10d474d90b456d788d4dc691f4677bc7
|
|
BLAKE2b-256 checksum How to use checksums |
7f6e20650f1d5bc0d0427fe96614f857a8c11910e1a06cc2396bc0c308efd8be
|
| 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.0a5-py3-none-manylinux_2_28_x86_64.whl
| Download URL | travel_animator-0.2.0a5-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 |
cf4c1d77d30a1e27932690c6c3a01e7ef2f562a1e8d35d0c036ea583d64a5e98
|
|
BLAKE2b-256 checksum How to use checksums |
a1eecfb2eee0440af602d0b154e4ceba925340f3ced6b37884fab73b50dafe97
|
| 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.0a5-py3-none-macosx_11_0_arm64.whl
| Download URL | travel_animator-0.2.0a5-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 |
f607b7912cf3a867da33565ae9ec2d19773748f778eca62e11eb8b7192c2dc6c
|
|
BLAKE2b-256 checksum How to use checksums |
b920f16bd8b0a9e3c596c308f77724b68f9751cc5df7c961681fbafe4ef80e40
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|