/mapillary-python-sdk

A Python 3 library built on the Mapillary API v4 to facilitate retrieving and working with Mapillary data.

Primary LanguagePythonMIT LicenseMIT

Mapillary Python SDK

Contributors Forks Stargazers Issues MIT License


LinkedIn Email Twitter Facebook

Mapillary's official Python SDK for GeoSpatial Data
Explore the docs »

View Demo · Report Bug · Request Feature · See Documentation

Table Of Contents

About

Mapillary's Python SDK provides an easy mechanism for accessing and retrieving information from Mapillary's web application.

For more information, please visit Mapillary and Mapillary's Blog.

Getting Started

Installation

To get started, simply install mapillary by running,

pip install mapillary

A quick demo,

"""
Getting image coordinates from a nearby set of coordinates
"""

# Importing mapillary
import mapillary.interface as mly

# JSON import
import json

# Get image points close to in the given coordinates
data = mly.get_image_close_to(longitude=31, latitude=30).to_dict()

# Save the data as JSON
file_name = "get_image_close_to_1.json"
with open(file_name, mode="w") as f:
    json.dump(data, f, indent=4)

You can check out all the implemented functionality from the demo.

Or you can check out the documentation!

Development

Formatting/Linting

To run the formatter black, and the linter flake8, run,

flake8 mapillary & black mapillary

Or, if you are on Linux, you can simply run,

make style

This runs the style policy from the Makefile.

Dev Setup

Aliases for setting up the environment have been provided in Makefile to reduce burden of replication.

The steps to execute are, in order of running them,

  1. make setup-dev: Install developer dependencies
  2. make build: Build the package
  3. make local-install: Install package locally in the dev environment

To use the new package installed locally, first use pipenv to change into the environment that the package was installed into by running,

pipenv shell

Then run,

python # assuming running python opens the Python3 shell

Then import and use as required,

# import package here
import mapillary.interface as mly

# more code to follow here

Trouble shooting

If you get messed up dependencies, feel free to delete the Pipfile.lock file with rm Pipfile.lock, then start again with the first step in Dev Setup.

If you ever need to start with a clean build, you can always run make clean which will clean the dist directory, then you can simply start again from the second step in Dev Setup.

Upgrading A Package

If you upgrade any package in Pipfile, be sure to run pipenv install to update the Pipfile.lock as well.

Possible Issues

Failed installation/dev setup because of libgeos_c.so or libgeos_c_1.so
With UNIX based systems, you would to install the `geos` package with you package manager.

In debian systems, sudo apt install geos. In arch based systems, sudo pacman -S geos.

Contributing

We welcome contributions! See CONTRIBUTING for details on how to get started, and our code of conduct.

Acknowledgements

Links

More About Mapillary

Legal