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.0a5

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.0a5
File
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
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