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

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