Skip to main content
Pre-release

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)

Table of built distributions (wheels) for travel-animator 0.2.0a7
File
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
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page