Skip to main content

Fast and direct raster I/O for use with Numpy and SciPy

Project description

Rasterio reads and writes geospatial raster data.

https://app.travis-ci.com/rasterio/rasterio.svg?branch=master https://coveralls.io/repos/github/mapbox/rasterio/badge.svg?branch=master https://img.shields.io/pypi/v/rasterio

Geographic information systems use GeoTIFF and other formats to organize and store gridded, or raster, datasets. Rasterio reads and writes these formats and provides a Python API based on N-D arrays.

Rasterio 1.3 works with Python 3.8+, Numpy 1.18+, and GDAL 3.1+. Official binary packages for Linux, macOS, and Windows with most built-in format drivers plus HDF5, netCDF, and OpenJPEG2000 are available on PyPI. Unofficial binary packages for Windows are available through other channels.

Read the documentation for more details: https://rasterio.readthedocs.io/.

Example

Here’s an example of some basic features that Rasterio provides. Three bands are read from an image and averaged to produce something like a panchromatic band. This new band is then written to a new single band TIFF.

import numpy as np
import rasterio

# Read raster bands directly to Numpy arrays.
#
with rasterio.open('tests/data/RGB.byte.tif') as src:
    r, g, b = src.read()

# Combine arrays in place. Expecting that the sum will
# temporarily exceed the 8-bit integer range, initialize it as
# a 64-bit float (the numpy default) array. Adding other
# arrays to it in-place converts those arrays "up" and
# preserves the type of the total array.
total = np.zeros(r.shape)

for band in r, g, b:
    total += band

total /= 3

# Write the product as a raster band to a new 8-bit file. For
# the new file's profile, we start with the meta attributes of
# the source file, but then change the band count to 1, set the
# dtype to uint8, and specify LZW compression.
profile = src.profile
profile.update(dtype=rasterio.uint8, count=1, compress='lzw')

with rasterio.open('example-total.tif', 'w', **profile) as dst:
    dst.write(total.astype(rasterio.uint8), 1)

The output:

http://farm6.staticflickr.com/5501/11393054644_74f54484d9_z_d.jpg

API Overview

Rasterio gives access to properties of a geospatial raster file.

with rasterio.open('tests/data/RGB.byte.tif') as src:
    print(src.width, src.height)
    print(src.crs)
    print(src.transform)
    print(src.count)
    print(src.indexes)

# Printed:
# (791, 718)
# {u'units': u'm', u'no_defs': True, u'ellps': u'WGS84', u'proj': u'utm', u'zone': 18}
# Affine(300.0379266750948, 0.0, 101985.0,
#        0.0, -300.041782729805, 2826915.0)
# 3
# [1, 2, 3]

A rasterio dataset also provides methods for getting read/write windows (like extended array slices) given georeferenced coordinates.

with rasterio.open('tests/data/RGB.byte.tif') as src:
    window = src.window(*src.bounds)
    print(window)
    print(src.read(window=window).shape)

# Printed:
# Window(col_off=0.0, row_off=0.0, width=791.0000000000002, height=718.0)
# (3, 718, 791)

Rasterio CLI

Rasterio’s command line interface, named “rio”, is documented at cli.rst. Its rio insp command opens the hood of any raster dataset so you can poke around using Python.

$ rio insp tests/data/RGB.byte.tif
Rasterio 0.10 Interactive Inspector (Python 3.4.1)
Type "src.meta", "src.read(1)", or "help(src)" for more information.
>>> src.name
'tests/data/RGB.byte.tif'
>>> src.closed
False
>>> src.shape
(718, 791)
>>> src.crs
{'init': 'epsg:32618'}
>>> b, g, r = src.read()
>>> b
masked_array(data =
 [[-- -- -- ..., -- -- --]
 [-- -- -- ..., -- -- --]
 [-- -- -- ..., -- -- --]
 ...,
 [-- -- -- ..., -- -- --]
 [-- -- -- ..., -- -- --]
 [-- -- -- ..., -- -- --]],
             mask =
 [[ True  True  True ...,  True  True  True]
 [ True  True  True ...,  True  True  True]
 [ True  True  True ...,  True  True  True]
 ...,
 [ True  True  True ...,  True  True  True]
 [ True  True  True ...,  True  True  True]
 [ True  True  True ...,  True  True  True]],
       fill_value = 0)

>>> np.nanmin(b), np.nanmax(b), np.nanmean(b)
(0, 255, 29.94772668847656)

Rio Plugins

Rio provides the ability to create subcommands using plugins. See cli.rst for more information on building plugins.

See the plugin registry for a list of available plugins.

Installation

Please install Rasterio in a virtual environment so that its requirements don’t tamper with your system’s Python.

SSL certs

The Linux wheels on PyPI are built on CentOS and libcurl expects certs to be in /etc/pki/tls/certs/ca-bundle.crt. Ubuntu’s certs, for example, are in a different location. You may need to use the CURL_CA_BUNDLE environment variable to specify the location of SSL certs on your computer. On an Ubuntu system set the variable as shown below.

$ export CURL_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt

Dependencies

Rasterio has a C library dependency: GDAL >= 3.1. GDAL itself depends on some other libraries provided by most major operating systems and also depends on the non standard GEOS and PROJ libraries. How to meet these requirement will be explained below.

Rasterio’s Python dependencies are (see the package metadata file):

affine
attrs
certifi
click>=4.0
cligj>=0.5
numpy>=1.18
snuggs>=1.4.1
click-plugins
setuptools

[all]
hypothesis
pytest-cov>=2.2.0
matplotlib
boto3>=1.2.4
numpydoc
pytest>=2.8.2
shapely
ipython>=2.0
sphinx
packaging
ghp-import
sphinx-rtd-theme

[docs]
ghp-import
numpydoc
sphinx
sphinx-rtd-theme

[ipython]
ipython>=2.0

[plot]
matplotlib

[s3]
boto3>=1.2.4

[test]
boto3>=1.2.4
hypothesis
packaging
pytest-cov>=2.2.0
pytest>=2.8.2
shapely

Development requires Cython and other packages.

Binary Distributions

Use a binary distribution that directly or indirectly provides GDAL if possible.

The rasterio wheels on PyPI include GDAL and its own dependencies.

Rasterio

GDAL

1.2.3

3.2.2

1.2.4+

3.3.0

Linux

Rasterio distributions are available from UbuntuGIS and Anaconda’s conda-forge channel.

Manylinux1 wheels are available on PyPI.

OS X

Binary distributions with GDAL, GEOS, and PROJ4 libraries included are available for OS X versions 10.9+. To install, run pip install rasterio. These binary wheels are preferred by newer versions of pip.

If you don’t want these wheels and want to install from a source distribution, run pip install rasterio --no-binary rasterio instead.

The included GDAL library is fairly minimal, providing only the format drivers that ship with GDAL and are enabled by default. To get access to more formats, you must build from a source distribution (see below).

Windows

Binary wheels for rasterio and GDAL are created by Christoph Gohlke and are available from his website.

To install rasterio, simply download both binaries for your system (rasterio and GDAL) and run something like this from the downloads folder, adjusting for your Python version.

$ pip install -U pip
$ pip install GDAL-3.1.4-cp39-cp39‑win_amd64.whl
$ pip install rasterio‑1.1.8-cp39-cp39-win_amd64.whl

You can also install rasterio with conda using Anaconda’s conda-forge channel.

$ conda install -c conda-forge rasterio

Source Distributions

Rasterio is a Python C extension and to build you’ll need a working compiler (XCode on OS X etc). You’ll also need Numpy preinstalled; the Numpy headers are required to run the rasterio setup script. Numpy has to be installed (via the indicated requirements file) before rasterio can be installed. See rasterio’s Travis configuration for more guidance.

Linux

The following commands are adapted from Rasterio’s Travis-CI configuration.

$ sudo add-apt-repository ppa:ubuntugis/ppa
$ sudo apt-get update
$ sudo apt-get install gdal-bin libgdal-dev
$ pip install -U pip
$ pip install rasterio

Adapt them as necessary for your Linux system.

OS X

For a Homebrew based Python environment, do the following.

$ brew update
$ brew install gdal
$ pip install -U pip
$ pip install --no-binary rasterio

Windows

You can download a binary distribution of GDAL from here. You will also need to download the compiled libraries and headers (include files).

When building from source on Windows, it is important to know that setup.py cannot rely on gdal-config, which is only present on UNIX systems, to discover the locations of header files and libraries that rasterio needs to compile its C extensions. On Windows, these paths need to be provided by the user. You will need to find the include files and the library files for gdal and use setup.py as follows. You will also need to specify the installed gdal version through the GDAL_VERSION environment variable.

$ python setup.py build_ext -I<path to gdal include files> -lgdal_i -L<path to gdal library> install

With pip

$ pip install --no-use-pep517 --global-option -I<path to gdal include files> -lgdal_i -L<path to gdal library> .

Note: --no-use-pep517 is required as pip currently hasn’t implemented a way for optional arguments to be passed to the build backend when using PEP 517. See here for more details.

Alternatively environment variables (e.g. INCLUDE and LINK) used by MSVC compiler can be used to point to include directories and library files.

We have had success compiling code using the same version of Microsoft’s Visual Studio used to compile the targeted version of Python (more info on versions used here.).

Note: The GDAL DLL and gdal-data directory need to be in your Windows PATH otherwise rasterio will fail to work.

Support

The primary forum for questions about installation and usage of Rasterio is https://rasterio.groups.io/g/main. The authors and other users will answer questions when they have expertise to share and time to explain. Please take the time to craft a clear question and be patient about responses.

Please do not bring these questions to Rasterio’s issue tracker, which we want to reserve for bug reports and other actionable issues.

Development and Testing

See CONTRIBUTING.rst.

Documentation

See docs/.

License

See LICENSE.txt.

Authors

The rasterio project was begun at Mapbox and was transferred to the rasterio Github organization in October 2021.

See AUTHORS.txt.

Changes

See CHANGES.txt.

Who is Using Rasterio?

See here.

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

rasterio-1.3.8.post1.tar.gz (411.3 kB view details)

Uploaded Source

Built Distributions

rasterio-1.3.8.post1-cp312-cp312-win_amd64.whl (23.3 MB view details)

Uploaded CPython 3.12 Windows x86-64

rasterio-1.3.8.post1-cp312-cp312-macosx_11_0_arm64.whl (18.7 MB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

rasterio-1.3.8.post1-cp312-cp312-macosx_10_15_x86_64.whl (22.9 MB view details)

Uploaded CPython 3.12 macOS 10.15+ x86-64

rasterio-1.3.8.post1-cp311-cp311-win_amd64.whl (23.3 MB view details)

Uploaded CPython 3.11 Windows x86-64

rasterio-1.3.8.post1-cp311-cp311-macosx_11_0_arm64.whl (18.8 MB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

rasterio-1.3.8.post1-cp311-cp311-macosx_10_15_x86_64.whl (22.9 MB view details)

Uploaded CPython 3.11 macOS 10.15+ x86-64

rasterio-1.3.8.post1-cp310-cp310-win_amd64.whl (23.3 MB view details)

Uploaded CPython 3.10 Windows x86-64

rasterio-1.3.8.post1-cp310-cp310-macosx_11_0_arm64.whl (18.8 MB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

rasterio-1.3.8.post1-cp310-cp310-macosx_10_15_x86_64.whl (22.9 MB view details)

Uploaded CPython 3.10 macOS 10.15+ x86-64

rasterio-1.3.8.post1-cp39-cp39-win_amd64.whl (23.3 MB view details)

Uploaded CPython 3.9 Windows x86-64

rasterio-1.3.8.post1-cp39-cp39-macosx_11_0_arm64.whl (18.8 MB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

rasterio-1.3.8.post1-cp39-cp39-macosx_10_15_x86_64.whl (22.9 MB view details)

Uploaded CPython 3.9 macOS 10.15+ x86-64

rasterio-1.3.8.post1-cp38-cp38-win_amd64.whl (23.4 MB view details)

Uploaded CPython 3.8 Windows x86-64

rasterio-1.3.8.post1-cp38-cp38-macosx_11_0_arm64.whl (18.7 MB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

rasterio-1.3.8.post1-cp38-cp38-macosx_10_15_x86_64.whl (22.9 MB view details)

Uploaded CPython 3.8 macOS 10.15+ x86-64

File details

Details for the file rasterio-1.3.8.post1.tar.gz.

File metadata

  • Download URL: rasterio-1.3.8.post1.tar.gz
  • Upload date:
  • Size: 411.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for rasterio-1.3.8.post1.tar.gz
Algorithm Hash digest
SHA256 98d5efd2dca85eb9d36af3928cc2dc430a2d29a7b24ee38b5004122860d75f77
MD5 e67d8053a886c17579bbb23ff656c35f
BLAKE2b-256 6d36bbcd4d1ca8010da5b7df0a907e8da2f89a5e3e045b7632dea30be19fa64b

See more details on using hashes here.

File details

Details for the file rasterio-1.3.8.post1-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for rasterio-1.3.8.post1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 47189a2fe20bfccb1d80da5d1327275a7cfcc8ccc4ee34f93194dde3704cc66a
MD5 6ce0d7e201e2c411b0244cbafcae833a
BLAKE2b-256 9906afe2227b067f8019b3d4e4847bff1ce6493e0ebe6d7f55fc659516c4e9b6

See more details on using hashes here.

File details

Details for the file rasterio-1.3.8.post1-cp312-cp312-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rasterio-1.3.8.post1-cp312-cp312-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 876e2db5c63ee7b84d73210b6009665edab70b9dcd9710504ab33ab43257eb04
MD5 dcf37086a865bbc85f50f68a85af3a3d
BLAKE2b-256 0f8ff5dbf5b8cf1be1a5ad1607b78018dea3e681fdc577ec0da02a28574bc497

See more details on using hashes here.

File details

Details for the file rasterio-1.3.8.post1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rasterio-1.3.8.post1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b839203635b258b62fdb7f0053c2a95adc5c688f652260031ba95a37751275ba
MD5 244997609b5759d77c73b84980bed004
BLAKE2b-256 f3cef4127613f6c5910978ece508b4dd55fcb5c6e74d8ecc077a57b0bff7ffe3

See more details on using hashes here.

File details

Details for the file rasterio-1.3.8.post1-cp312-cp312-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for rasterio-1.3.8.post1-cp312-cp312-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 1c1e2f300382bd9206c10a36fc53462d92ee82ec19149874763513666ad305b0
MD5 49fb96445d4a992385b64d0aff3bafa1
BLAKE2b-256 e526c2a93dc9308d2ba33011bac44d7865ed3336cfe7993391621252296842e5

See more details on using hashes here.

File details

Details for the file rasterio-1.3.8.post1-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for rasterio-1.3.8.post1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 f562cfb7bed623266ab0f8303af6d9cbbb640a36b1674db100cb2695dd05209a
MD5 dd24c8f247adea1fd7ea89638b020322
BLAKE2b-256 65aa7c9ef596f7ea55714113d6ad6e94c29542ee0dc4bc6ef41b0b8b2181ff1e

See more details on using hashes here.

File details

Details for the file rasterio-1.3.8.post1-cp311-cp311-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rasterio-1.3.8.post1-cp311-cp311-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d9c76948ce12a367d217e8619842ef4058ada1106b038aafbfceffb7f9611f83
MD5 745d31b25d7d75f16463bfcf65e34d01
BLAKE2b-256 412ab69d549f0b5ef63759bffb3fede650a576e91205e514b59163ca380113ac

See more details on using hashes here.

File details

Details for the file rasterio-1.3.8.post1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rasterio-1.3.8.post1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 951594874ca95e7dc7613f210913db34d54536ed59635e2c70da2608b4ab3109
MD5 64bdbba38febc6e4456fb5741acfeadd
BLAKE2b-256 34d14cd5b8e99ff4ae448374b699c7c840f7642b1d6c979cbf0cf6b026b982ff

See more details on using hashes here.

File details

Details for the file rasterio-1.3.8.post1-cp311-cp311-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for rasterio-1.3.8.post1-cp311-cp311-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 928ade337a40d144f3c45769e866cad4ea1a0d11fa1b210657633a61f6a78ee7
MD5 e629dc111f0c3c6409c519e038d93d04
BLAKE2b-256 50683300792dd53f9486fdb119cef8bfbabd62e2919f4774644e582f6160c12e

See more details on using hashes here.

File details

Details for the file rasterio-1.3.8.post1-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for rasterio-1.3.8.post1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 c403492d269428592e5738b2e72f6ec6cbe506234bd45d826c9ba8db5c5d61f0
MD5 606579065a980553170a334cb160fc4c
BLAKE2b-256 288756d36d7d4cb47f3b66c7b69a4915c82a662a07cb35aa7d9b36b316bc471f

See more details on using hashes here.

File details

Details for the file rasterio-1.3.8.post1-cp310-cp310-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rasterio-1.3.8.post1-cp310-cp310-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d4e614b55c9775c73eaa615e524e1ccd5d5cee990a8554e9283283c9baa8aa2c
MD5 d52332ed8f4549993230f9838a202a2d
BLAKE2b-256 61f14a27ad41254106614c6010dbacef05d751773b293bd35902f549cec56d54

See more details on using hashes here.

File details

Details for the file rasterio-1.3.8.post1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rasterio-1.3.8.post1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 76539ca990484264f2f0de602e3785ab7714222539060dae30a8545b7d003513
MD5 2593ddb440c0e5ad13a5a1ee51288f05
BLAKE2b-256 53ebffe0c3b713d948dbf5a2456d7503c863f8c0ad35dfef2619a3007008e07b

See more details on using hashes here.

File details

Details for the file rasterio-1.3.8.post1-cp310-cp310-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for rasterio-1.3.8.post1-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 6eaa393f82096672b639e4a31e32a89888935238939e6cb2ce8a00a0dd64e1aa
MD5 3f41389c5f99c59f13992879389cd18a
BLAKE2b-256 840729d0c75677630c6cbd816b89e68aa2c8f387717b09c7950f1be28fe328a1

See more details on using hashes here.

File details

Details for the file rasterio-1.3.8.post1-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for rasterio-1.3.8.post1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 d387bb9ac9a016437caeac8c11655171399e3e4813eb7e678c460d5e0d301b9f
MD5 9e9bd45b561d358c1a71b097e15bc394
BLAKE2b-256 cf72e9dff8b0fcbc0983874fdb01f26ba84983de8e30f4ef164cb4ffe94b016c

See more details on using hashes here.

File details

Details for the file rasterio-1.3.8.post1-cp39-cp39-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rasterio-1.3.8.post1-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 db2c0753fb0feb401b773eef896ee83d1c483b312e1614f865eb467fac8edefc
MD5 47402fce210568a98bf5f4eccd646179
BLAKE2b-256 191027fc61c8ea50eef09c6594199501eca26565e8cd42a6fb7faf57c3074425

See more details on using hashes here.

File details

Details for the file rasterio-1.3.8.post1-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rasterio-1.3.8.post1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c05c89d3a6d1dbb7ed21632755d80391749cf982c5da894f75b9836b7ccc11db
MD5 53e6f063502fbcd3cc3078ab96495eb0
BLAKE2b-256 3b52c6eb30ec7f77a0c250bceae9cc2c8ef49386c8a955374088f9ce383d0987

See more details on using hashes here.

File details

Details for the file rasterio-1.3.8.post1-cp39-cp39-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for rasterio-1.3.8.post1-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 81579436a08cbb571593dac8b7e0dce4450c5cbdf6853d7f7e684c10bb676ee5
MD5 11c48de3d14d8710af09252004131cf8
BLAKE2b-256 680c3a906bd65a4bc8d90476d053f40283c4b650e12ddaffeb09777298554980

See more details on using hashes here.

File details

Details for the file rasterio-1.3.8.post1-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for rasterio-1.3.8.post1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 5c65e6c4a37fe203b9eba614325f873cb1c4867e0f6c8adc8c60c7bff878c8e3
MD5 6ea7017d9b96bb94264c19607ba21732
BLAKE2b-256 04fa25c0aab906fb87a32eb3d838ddc0d75d864bcc780ec2a8594023560aed69

See more details on using hashes here.

File details

Details for the file rasterio-1.3.8.post1-cp38-cp38-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rasterio-1.3.8.post1-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9790c5960088a9845830845db3f15905e57286b0735d5d5c12041a872463f059
MD5 0295b16a9d915fd55f24c77b437fc08a
BLAKE2b-256 548069baea20b0b413ad9dc931b5889c5240b5a037bdfb9e4f6a6ccac7fe52d0

See more details on using hashes here.

File details

Details for the file rasterio-1.3.8.post1-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rasterio-1.3.8.post1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 27d9c43e7998791bb48a8088b95250a5e88611273c3792cc99ca447bfe3bb628
MD5 b7b8102aa8b8e41d5310963ece2210f8
BLAKE2b-256 d52f625310249a66a6f579c18d0fb725554c4a1d405f40dc81e9893b1b4b3ae7

See more details on using hashes here.

File details

Details for the file rasterio-1.3.8.post1-cp38-cp38-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for rasterio-1.3.8.post1-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 28888d616372aad563ed69e808eb66338ce62de821bb50a668e08a7e5d4054f4
MD5 d1f87cc0045861caf6f191faa742727a
BLAKE2b-256 65412c658d4a1066b0473e1d5a84d5938dd57a3ae703240aa417ac762069f5a9

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