gotime

gotime is a multi-provider driving-directions library with a Typer CLI and SQL persistence. This site documents the architecture, schema, provider coverage, pricing / free-tier strategy, compliance posture for persisting raw responses, and release engineering.

Legacy data migration

Older iterations of the project produced SQLite databases, Postgres dumps, and CSV exports. The turnkey Docker pipeline for consolidating those into a fresh gotime schema lives outside the PyPI package, in the workspace at scripts/merge/README.md. That directory is deliberately not shipped with the library — operators who need it should grab it from the gotime repository.

At a glance

  • Tier-1 providers: Google, Bing, TomTom, HERE, MapQuest, Mapbox, Azure.

  • Normalized TripResult with typed units (seconds, meters, plus helpers).

  • SQLAlchemy 2.x schema with Alembic migrations (SQLite + Postgres).

  • Black (120-col) + Ruff + mypy + pytest-cov ≥ 90 %.

  • Dockerized integration tests and CI via GitHub Actions.

Install

pip install gotime

Quick CLI tour

gotime providers list
gotime db info
gotime query \
  --origin 42.3554,-71.0654 \
  --destination 42.3467,-71.0972 \
  --provider google --provider tomtom --json