Skip to main content

A Python client for Mapbox services

Project description

https://travis-ci.org/mapbox/mapbox-sdk-py.png https://coveralls.io/repos/mapbox/mapbox-sdk-py/badge.png

A Python client for Mapbox web services

Services

  • Geocoding

    • Forward (place names ⇢ longitude, latitude)

    • Reverse (longitude, latitude ⇢ place names)

  • Other services coming soon

Installation

$ pip install mapbox

API Usage

To begin geocoding, import the mapbox module and create a new Geocoder object with your Mapbox access token.

import mapbox

geocoder = mapbox.Geocoder(access_token='YOUR_ACCESS_TOKEN')

Geocoder’s methods return Requests style response objects.

response = geocoder.forward('Chester, NJ')

# response.json() returns the geocoding result as GeoJSON.
# response.status_code returns the HTTP API status code.

response = geocoder.reverse(lon=-74.7083, lat=40.7851)

See import mapbox; help(mapbox.Geocoder) for more detailed usage.

Command Line Interface

The mapbox module includes a CLI program named mbx.

$ mbx --help
Usage: mbx [OPTIONS] COMMAND [ARGS]...

  This is the command line interface to Mapbox web services.

  Mapbox web services require an access token. Your token is shown on the
  https://www.mapbox.com/developers/api/ page when you are logged in. The
  token can be provided on the command line

    $ mbx --access-token MY_TOKEN ...

  or as an environment variable named MAPBOX_ACCESS_TOKEN or
  MapboxAccessToken.

    $ export MAPBOX_ACCESS_TOKEN=MY_TOKEN
    $ mbx ...

Options:
  --access-token TEXT  Your Mapbox access token.
  -v, --verbose        Increase verbosity.
  --version            Show the version and exit.
  -q, --quiet          Decrease verbosity.
  --help               Show this message and exit.

Commands:
  geocode  Geocode an address or coordinates.

The mbx-geocode command can do forward or reverse geocoding.

$ mbx geocode --help
Usage: mbx geocode [OPTIONS] [QUERY]

  This command returns places matching an address (forward mode) or places
  matching coordinates (reverse mode).

  In forward (the default) mode the query argument shall be an address such
  as '1600 pennsylvania ave nw'.

    $ mbx geocode '1600 pennsylvania ave nw'

  In reverse mode the query argument shall be a JSON encoded array of
  longitude and latitude (in that order) in decimal degrees.

    $ mbx geocode --reverse '[-77.4371, 37.5227]'

  An access token is required, see `mbx --help`.

Options:
  --forward / --reverse  Perform a forward or reverse geocode. [default:
                         forward]
  -i, --include          Include HTTP headers in the output.
  --lat FLOAT            Bias results toward this latitude (decimal degrees).
                         --lon is also required.
  --lon FLOAT            Bias results toward this longitude (decimal degrees).
                         --lat is also required.
  -t, --place-type NAME  Restrict results to one or more of these place types:
                         ['address', 'country', 'place', 'poi', 'postcode',
                         'region'].
  -o, --output TEXT      Save output to a file.
  --help                 Show this message and exit.

Its output can be piped to geojsonio using geojsonio-cli.

$ mbx geocode 'Chester, NJ' | geojsonio

Testing

pip install -e .[test]
py.test

See Also

https://github.com/mapbox/mapbox-sdk-js

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mapbox-0.1.0.tar.gz (5.9 kB view details)

Uploaded Source

Built Distributions

mapbox-0.1.0-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

mapbox-0.1.0-py2-none-any.whl (9.6 kB view details)

Uploaded Python 2

File details

Details for the file mapbox-0.1.0.tar.gz.

File metadata

  • Download URL: mapbox-0.1.0.tar.gz
  • Upload date:
  • Size: 5.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for mapbox-0.1.0.tar.gz
Algorithm Hash digest
SHA256 13cd5b1fbedd69ca19074b86df57d3d47776d1ce306e8e1b8f679475b5d46ce0
MD5 5b08cf20f2c76375ec4aba250d4c5113
BLAKE2b-256 11a26d29c19ebf5391487611ec3416557fed9ec4c7061a7130a5bd28b6df14db

See more details on using hashes here.

File details

Details for the file mapbox-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for mapbox-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 177a5e388193d11e7112f6f32afa72c246ae7094e3be84f86c9fdf02c511bed4
MD5 ab911bd9bfd0ed9c1f4ad8bc63c80160
BLAKE2b-256 4f5fe85af5e9feb44b4c0d99c212fc0b50078921fe3dbb1a88dee9bc93004450

See more details on using hashes here.

File details

Details for the file mapbox-0.1.0-py2-none-any.whl.

File metadata

File hashes

Hashes for mapbox-0.1.0-py2-none-any.whl
Algorithm Hash digest
SHA256 1f9aa02a12f9f9531a67a69a774f8d8e81e35c652cca7b8db80595239f45c8de
MD5 0aa7d7b8658875aa2ba6ef22e2597736
BLAKE2b-256 b3e169e3ddecd3b2516b4c7f762bb605ad96743ba63f9d7aa5506165d9338c62

See more details on using hashes here.

Supported by

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