Skip to main content
PyCon US is happening May 14th-22nd in Pittsburgh, PA USA.  Learn more

A Python client for the Mobility Database API

Project description

Mobility Database API Client

PyPI version Tests codecov License: MIT Documentation

A Python client for downloading GTFS files through the Mobility Database API.

Features

  • Search for GTFS providers by country, name or id
  • Download GTFS datasets from hosted or direct sources
  • Track dataset metadata and changes
  • Thread-safe and process-safe operations
  • Automatic token refresh and error handling

Installation

pip install mobility-db-api

Quick Example

from mobility_db_api import MobilityAPI

# Initialize client (uses MOBILITY_API_REFRESH_TOKEN env var)
api = MobilityAPI()

# Search for providers in Belgium
providers = api.get_providers_by_country("BE")
print(f"Found {len(providers)} providers")

# Download a dataset
if providers:
    dataset_path = api.download_latest_dataset(providers[0]['id'])
    print(f"Dataset downloaded to: {dataset_path}")

Documentation

Full documentation is available at bdamokos.github.io/mobility-db-api, including:

Development

# Clone repository
git clone https://github.com/bdamokos/mobility-db-api.git
cd mobility-db-api

# Install in development mode
pip install -e ".[dev]"

# Run tests
pytest

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page