Skip to main content

streetlevel

streetlevel is a library for downloading panoramas and metadata from street-level imagery services such as Google Street View, Apple Look Around, and several others. It provides a simple abstraction over the internal APIs of the supported services – this means that no API keys are required, but the library may break unexpectedly.

(Nearly) all functions are available as either a sync function using requests or an async function using aiohttp, requiring a ClientSession.

Installation

streetlevel is available on PyPI:

pip install streetlevel

macOS users may need to install additional dependencies:

brew install gettext
brew install inih

Example

Downloading the closest Google Street View panorama to a specific location, sync:

from streetlevel import streetview

pano = streetview.find_panorama(46.883958, 12.169002)
streetview.download_panorama(pano, f"{pano.id}.jpg")

Or async:

from streetlevel import streetview
from aiohttp import ClientSession

async with ClientSession() as session:
    pano = await streetview.find_panorama_async(46.883958, 12.169002, session)
    await streetview.download_panorama_async(pano, f"{pano.id}.jpg", session)

Documentation

Documentation is available at streetlevel.readthedocs.io.

Functionality overview

Services covering multiple countries are on the left; services covering one specific country are on the right.

✔ implemented / available; 🟡 partially implemented; ❌ not implemented; ⚫ not available / not applicable

Google
Street View
Apple
Look Around
Yandex
Panorama
Bing
Streetside
🇨🇳 Baidu
Panorama
🇰🇷 Kakao
Road View
🇰🇷 Naver
Street View
🇨🇿 Mapy.cz
Panorama
🇮🇸 Já
360

Finding panoramas
How panoramas can be retrieved through the API.
Find panoramas around a point 1 1 1 1 1 1
Find panoramas by map tile or bbox 2 2 3
Get specific panorama by ID

Imagery
The type of imagery returned by the service.
Panoramas 4
Depth 5 ❌?10 14

Image projection Equirectangular ??? Equirectangular Cubemap Equirectangular Equirectangular Equirectangular/Cubemap13 Equirectangular Cubemap
Image format JPEG HEIC JPEG JPEG JPEG JPEG JPEG JPEG JPEG

Available metadata
Metadata returned by the API of the service alongside ID and location.
Capture date 6 9
Heading, pitch, roll 7 7 11 7
Elevation 12
Nearby / linked panoramas 8
Historical panoramas
Address
PoIs
Creator

1: Returns closest only
2: Tile, z=17
3: Bounding box
4: Unstitched
5: Appears to be a synthetic depth map created from elevation data and building footprints
6: Month and year only for official coverage, full date for inofficial coverage
7: Only heading; pitch/roll do not appear to be available
8: Previous and next image in sequence
9: Month and year only
10: There is a has_depth field in the raw metadata, but I've yet to find a panorama that actually has depth
11: Pitch/roll are only available for the new 3D imagery
12: Camera altitude is available, however
13: 3D imagery panos have both an equirectangular and a cubemap version; everything else is only available as cubemap
14: Non-3D imagery appears to use a synthetic depthmap created from elevation data and building footprints

Download files

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

Source Distribution

streetlevel-0.12.11.tar.gz (123.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

streetlevel-0.12.11-py3-none-any.whl (94.9 kB view details)

Uploaded Python 3

File details

Details for the file streetlevel-0.12.11.tar.gz.

File metadata

  • Download URL: streetlevel-0.12.11.tar.gz
  • Upload date:
  • Size: 123.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for streetlevel-0.12.11.tar.gz
Algorithm Hash digest
SHA256 2c8748cc016d8c93c12fbc6d60bf84409a3efee2c4c1f18c9b59eaa71884897a
MD5 94ac673f26f19201acfef1f81c02837c
BLAKE2b-256 f7187112bde500d78d4bf038471f32faaa4987af9a7e5a457bdab303509f43a1

See more details on using hashes here.

File details

Details for the file streetlevel-0.12.11-py3-none-any.whl.

File metadata

  • Download URL: streetlevel-0.12.11-py3-none-any.whl
  • Upload date:
  • Size: 94.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for streetlevel-0.12.11-py3-none-any.whl
Algorithm Hash digest
SHA256 811d51cdc9adf930b85d2f22e0bf9a8f2c847acc10ec5227ecd61704d8cc6ef4
MD5 3c7b78c69ad1a3f7253599f3ceba80c9
BLAKE2b-256 cbd018deb139171cae6f858840634b1f7195dc1038ec38fec6535112e9ad9166

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.12.11 This release

2 files

0.12.10

2 files

0.12.9

2 files

0.12.8

2 files

0.12.7

2 files

0.12.6

2 files

0.12.5

2 files

0.12.4

2 files

0.12.3

2 files

0.12.2

2 files

0.12.1

2 files

0.12.0

2 files

0.11.0

2 files

0.10.10

2 files

0.9.1

2 files

0.9.0

2 files

0.8.1

2 files

0.8.0

2 files

0.7.1

2 files

0.7.0

2 files

0.6.5

2 files

0.6.4

2 files

0.6.3

2 files

0.6.2

2 files

0.6.1

2 files

0.6.0

2 files

0.5.5

2 files

0.5.4

2 files

0.5.3

2 files

0.5.2

2 files

0.5.1

2 files

0.5.0

2 files

0.4.0

2 files

0.3.1

2 files

0.3.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page