xyzservices is a lightweight library providing a repository of available XYZ services
offering raster basemap tiles. The repository is provided via Python API and as a
compressed JSON file.
XYZ tiles can be used as background for your maps to provide necessary spatial context.
xyzservices offer specifications of many tile services and provide an easy-to-use
tools to plug them into your work, no matter if interactive or static.
Using xyzservices is simple and in most cases does not involve more than a line of
code.
You can install xyzservices from conda or pip:
conda install xyzservices -c conda-forgepip install xyzservicesThe package does not depend on any other apart from those built-in in Python.
The key part of xyzservices are providers:
>>> import xyzservices.providers as xyzxyzservices.providers or just xyz for short is a Bunch of providers, an enhanced
dict. If you are in Jupyter-like environment, xyz will offer collapsible inventory
of available XYZ tile sources. You can also explore it as a standard dict using
xyz.keys(). Once you have picked your provider, you get its details as a
TileProvider object with all the details you may need:
>>> xyz.CartoDB.Positron.url
'https://{s}.basemaps.cartocdn.com/{variant}/{z}/{x}/{y}{r}.png'
>>> xyz.CartoDB.Positron.attribution
'(C) OpenStreetMap contributors (C) CARTO'You can also check if the TileProvider needs API token and pass it to the object if
needed.
>>> xyz.MapBox.requires_token()
True
>>> xyz.MapBox["accessToken"] = "my_personal_token"
>>> xyz.MapBox.requires_token()
FalseAfter the installation, you will find the JSON used as a database of providers in
share/xyzservices/providers.json if you want to use it outside of a Python ecosystem.
xyzservices is developed by a community of enthusiastic volunteers and lives under
geopandas GitHub organization. You can see a full list
of contributors here.
The main group of providers is retrieved from the leaflet-providers
project that contains both openly
accessible providers as well as those requiring registration. All of them are considered
free.
If you would like to contribute to the project, have a look at the list of open issues, particularly those labeled as good first issue.
BSD 3-Clause License
Resources coming from the leaflet-providers
project are licensed under BSD
2-Clause License (© 2013 Leaflet Providers)