Development roadmap¶
This page tracks the near-term direction for gotime. Every item
lives here — not in PM reviews, not in scattered TODO comments — so that a
contributor can open a single document and see what is coming.
Short term¶
Python 3.13 → 3.14 migration¶
gotime currently targets Python 3.13. The move to 3.14 is
intentionally deferred because the scripts/merge/ importer image builds
pandas from source on python:3.14-slim:
pandas≤ 2.2.3 does not publish acp314-manylinux_*wheel.python:3.14-slimdoes not include a C compiler toolchain (gcc,g++,cc), so the build fails withERROR: Unknown compiler(s): [['cc'], ['gcc'], ['clang'], …].
Mitigation already shipped: pandas was removed from the importer
image because the SQLite/CSV importers only rely on the standard library
(csv, sqlite3) plus psycopg[binary] and sqlalchemy. The importer
still builds cleanly on 3.14 today.
Upgrade checklist (when pandas or any other transitive dep we introduce
ships a 3.14 wheel, or when upstream adds a gcc-bearing official slim
variant):
Flip
requires-python, classifiers,.python-version,target-version(black,ruff,mypy), Docker base images, Read the Docs config, and CI workflows from3.13→3.14.Run
uv lock --upgrade(when we adopt a lockfile) andpytestagainst both Python versions in a temporary CI matrix.Delete this section from the roadmap, update
docs/versioning.mdcompatibility statement, and add aCHANGELOG.mdentry.
Documentation polish¶
Cross-link every provider doc from the CLI
providers listoutput.
Tier 2 provider integrations¶
The current Tier 1 providers (Google, Bing, TomTom, HERE, MapQuest, Mapbox, Azure) cover the commercial routing market. Tier 2 providers will add open-source / ecosystem-specific options once Tier 1 is stable on 3.14.
Provider |
Status |
Notes |
|---|---|---|
Apple MapKit (Directions) |
Planned |
Requires JWT-based MapKit JS tokens. Needs a dedicated auth flow and private-key handling distinct from the existing API-key model. |
Valhalla (self-hosted or Mapbox-hosted) |
Planned |
Open source. Unifies nicely with MapTiler / Stadia stacks. |
OSRM |
Planned |
Open source, fast, no traffic data; useful as a baseline. |
GraphHopper |
Stretch |
Has a hosted API and open core. |
Stadia Maps / Mapillary Routing |
Stretch |
Already have partial historical data in the legacy dumps (see |
Tier 2 work is tracked under docs/providers/tier2-placeholder.md
(planned) and will land as a single gotime[tier2] extras group so that
library users can opt in to heavier dependencies.
Longer term¶
Ship pre-computed trip-delta rollups (hourly / daily) as Postgres materialized views managed through Alembic.