Skip to content

Python library to plan trips using the Google Maps API

License

Notifications You must be signed in to change notification settings

diagmatrix/py_travel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python travelling library

GitHub License Python ^3.10 GitHub Actions Workflow Status GitHub Issues or Pull Requests PyPI - Status

This is a Python library to use in conjunction with the Google Maps API (at least for now) in order to plan trips and much more! It tries to bring a less JSON-oriented way of using the API.

Roadmap

  1. Distance and timing calculations for trips. ✔️
  2. Geocoding and decoding locations in the globe.
  3. Support for static map images.
  4. Drop googlemaps dependency.
  5. Investigate other APIs to use.
  6. ...

Getting started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Local installation

Prerequisites

You will need the following:

  • Python >= 3.10
  • A Google Maps API key (for testing outside the testing environment)

Installing

For a local installation, just clone this repository inside the parent directory of your project.

git clone https://github.com/diagmatrix/py-travel.git
git checkout main

Then install the dependencies of py-travel.

pip install -r requirements.txt

And there you have it! You can now use this library freely.

Installation

This project is available in PyPy, so you can install it using pip.

pip install py-travel

Usage

There are currently two ways of using the classes provided in the package: by using the built-in Google Maps API clients or by using the googlemaps client directly. The first method will initialize an API client for each of the classes of py-travel that use them, while the second approach will give you more control on which ones can access it.

Using built-in client

from py_travel import init_clients
from py_travel.trip import Trip

init_clients(api_key="<API KEY>")  # Initialize all API clients
my_trip = Trip(origin=(39.25, -4.47), destination="Aveiro, Portugal", config={'mode': 'walking'})

# Get the kms between the points
kms = my_trip.distance

Using googlemaps directly

from py_travel.trip import Trip
import googlemaps

cli = googlemaps.Client(key="<API KEY>")
Trip.set_client(cli)  # Initialize client for the trip class
my_trip = Trip(origin=(39.25, -4.47), destination="Aveiro, Portugal", config={'mode': 'walking'})

# Get the kms between the points
kms = my_trip.distance

Running the tests

In order to run the tests you will first need to install the python package pytest. Then, place yourself in the parent branch of the repository and run the following command:

pytest

For linting tests, this project uses the default ruff configuration.

Contributing

Work in progress

About

Python library to plan trips using the Google Maps API

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages