Skip to main content

Image IO for fable

Project description

Main websites:

Build Status Appveyor Status


FabIO is an I/O library for images produced by 2D X-ray detectors and written in Python. FabIO support images detectors from a dozen of companies (including Mar, Dectris, ADSC, Hamamatsu, Oxford, …), for a total of 30 different file formats (like CBF, EDF, TIFF, …) and offers an unified interface to their headers (as a Python dictionary) and datasets (as a numpy ndarray of integers or floats)

Installation

FabIO is available from PyPI:

pip install fabio

Debian/Ubuntu packages, and wheels are available for Windows, Linux and MacOSX from the silx repository.

See the installation instructions for more information.

Usage

Open an image

>>> import fabio
>>> obj = fabio.open("mydata0000.edf")
>>> obj.data.shape
(2048, 2048)
>>> obj.header["Omega"]
23.5
>>> obj.data
array([...])

Save an image (ex: EDF)

>>> import fabio
>>> obj = fabio.edfimage.EdfImage(data=[...])
>>> obj.write("mydata0000.edf")

Documentation

See the latest release documentation for further details.

Documentation of previous versions are available on silx.

Changelog

See http://www.silx.org/doc/fabio/latest/Changelog.html

Citation

The general philosophy of the library is described in: FabIO: easy access to two-dimensional X-ray detector images in Python; E. B. Knudsen, H. O. Sørensen, J. P. Wright, G. Goret and J. Kieffer Journal of Applied Crystallography, Volume 46, Part 2, pages 537-539.

Transparent handling of compressed files

For FabIO to handle gzip and bzip2 compressed files transparently, bzip and gzip modules must be present when installing/building Python (e.g. libbz2-dev package for Ubuntu).

Benchmarking details have been collected at http://www.silx.org/doc/fabio/latest/performances.html.

Supported file formats

  • ADSC:

    • AdscImage

  • Bruker:

    • BrukerImage

    • Bruker100Image

    • KcdImage: Nonius KappaCCD diffractometer

  • D3M

    • D3mImage

  • Dectris:

    • CbfImage (implements a fast byte offset de/compression scheme in python/cython)

    • PilatusImage (fileformat derived from Tiff)

    • EigerImage (derived from HDF5/NeXus format, depends on h5py)

  • ESRF:

    • EdfImage: The ESRF data Format

    • XsdImage: XML serialized image from EDNA

    • Fit2dImage: Fit2d binary format

    • Fit2dmaskImage: Fit2d Mask format

    • Fit2dSpreadsheetImage: Fit2d ascii tables (spread-sheet)

    • LimaImage: image stacks written by the LImA aquisition system

    • SparseImage: single crystal diffractions images written by pyFAI

  • General Electrics

    • GEimage (including support for variant used at APS)

  • Hamamatsu

    • HiPiCImage

  • HDF5: generic format for stack of images based on h5py

    • Hdf5Image

    • EigerImage

    • LimaImage

    • SparseImage

  • JPEG image format:

    • JPEG using PIL

    • JPEG 2000 using Glymur

  • Mar Research:

    • MarccdImage (fileformat derived from Tiff)

    • Mar345Image imaging plate with PCK compression

  • MPA multiwire

    • MpaImage

  • Medical Research Council file format for 3D electron density and 2D images

    • MrcImage

  • Nonius -> now owned by Bruker

    • KcdImage

  • Numpy: generic reader for 2D arrays saved

    • NumpyImage

  • Oxford Diffraction Sapphire 3

    • OXDimage uncompressed or with TY1 or TY5 compression scheme

    • Esperanto format (with bitfield compression)

  • Pixirad Imaging

    • PixiImage

  • PNM

    • PnmImage

  • Princeton Instrument SPE

    • SpeImage

  • Raw Binary without compression

  • Rigaku

    • RaxisImage

    • DtrekImage

  • Tiff

    • TifImage using either:
      • Pillow (external dependency)

      • TiffIO taken from PyMca

Design Specifications

Name:

FabIO = Fable Input/Output

Idea:

Have a base class for all our 2D diffraction greyscale images. This consists of a 2D array (numpy ndarray) and a python dictionary (actually an ordered dict) of header information in (string key, string value) pairs.

Class FabioImage

Needs a name which will not to be confused with an RGB color image.

Class attributes, often exposed as properties:

  • data -> 2D array

  • header -> ordered dictionary

  • rows, columns, dim1, dim2 -> data.shape (propertiy)

  • header_keys -> property for list(header.keys()), formerly used to retain the order of the header

  • bytecode -> data.typecode() (property)

  • m, minval, maxval, stddev -> image statistics, could add others, eg roi[slice]

Class methods (functions):

  • integrate_area() -> return sum(self.data) within slice

  • rebin(fact) -> rebins data, adjusts dims

  • toPIL16() -> returns a PILimage

  • getheader() -> returns self.header

  • resetvals() -> resets the statistics

  • getmean() -> (computes) returns self.m

  • getmin() -> (computes) returns self.minval

  • getmax() -> (computes) returns self.maxval

  • getstddev() -> (computes) returns self.stddev

  • read() -> read image from file [or stream, or shared memory]

  • write() -> write image to file [or stream, or shared memory]

  • readheader() -> read only the header [much faster for scanning files]

Each individual file format would then inherit all the functionality of this class and just make new read and write methods.

There are also fileseries related methods (next(), previous(), …) which returns a FabioImage instance of the next/previous frame in a fileserie

Other feature:

  • possibility for using on-the-fly external compression - i.e. if files are stored as something as .gz, .bz2 etc could decompress them, using an external compression mechanism (if available).

Download files

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

Source Distribution

fabio-0.14.0.tar.gz (1.6 MB view details)

Uploaded Source

Built Distributions

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

fabio-0.14.0-cp310-cp310-win_amd64.whl (902.1 kB view details)

Uploaded CPython 3.10Windows x86-64

fabio-0.14.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

fabio-0.14.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (4.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ppc64le

fabio-0.14.0-cp310-cp310-macosx_10_9_universal2.whl (1.6 MB view details)

Uploaded CPython 3.10macOS 10.9+ universal2 (ARM64, x86-64)

fabio-0.14.0-cp39-cp39-win_amd64.whl (900.9 kB view details)

Uploaded CPython 3.9Windows x86-64

fabio-0.14.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

fabio-0.14.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (4.3 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ppc64le

fabio-0.14.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl (3.0 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.5+ x86-64

fabio-0.14.0-cp39-cp39-macosx_10_9_universal2.whl (1.6 MB view details)

Uploaded CPython 3.9macOS 10.9+ universal2 (ARM64, x86-64)

fabio-0.14.0-cp38-cp38-win_amd64.whl (900.5 kB view details)

Uploaded CPython 3.8Windows x86-64

fabio-0.14.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

fabio-0.14.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (4.3 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ppc64le

fabio-0.14.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.5+ x86-64

fabio-0.14.0-cp38-cp38-macosx_11_0_universal2.whl (1.6 MB view details)

Uploaded CPython 3.8macOS 11.0+ universal2 (ARM64, x86-64)

fabio-0.14.0-cp37-cp37m-win_amd64.whl (881.9 kB view details)

Uploaded CPython 3.7mWindows x86-64

fabio-0.14.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.8 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

fabio-0.14.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (4.0 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ ppc64le

fabio-0.14.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.5+ x86-64

fabio-0.14.0-cp36-cp36m-win_amd64.whl (942.4 kB view details)

Uploaded CPython 3.6mWindows x86-64

fabio-0.14.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.9 MB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.17+ x86-64

fabio-0.14.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.5+ x86-64

File details

Details for the file fabio-0.14.0.tar.gz.

File metadata

  • Download URL: fabio-0.14.0.tar.gz
  • Upload date:
  • Size: 1.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.5

File hashes

Hashes for fabio-0.14.0.tar.gz
Algorithm Hash digest
SHA256 72ab0cb7247ec97dc552447112a54cd77b5fbe6f5ede8fc9b070e4e1c13cf01e
MD5 5f8ac51579774f5d71e78ea4508a834e
BLAKE2b-256 b59cfb2498348f62bf192e11cb3bcf7dfb09d12adf36f1b3e4053db9556ee5a0

See more details on using hashes here.

File details

Details for the file fabio-0.14.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: fabio-0.14.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 902.1 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.5

File hashes

Hashes for fabio-0.14.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 ff8f70d8a377b485a24f371fcf257f9ee651774af5ed3990aafb5245a15733e5
MD5 963a604e376e5d68f42d9e1c8e7b1f81
BLAKE2b-256 c7085e27e321570688107523b52a6a89bb4e9d85e79e57818f65445548a05c85

See more details on using hashes here.

File details

Details for the file fabio-0.14.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fabio-0.14.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 632fa2e2e8585510326f503cf1633da7dd30b5bd0ad44b42dffaec84af5d910b
MD5 b9c6b1aef413a95281eed82bf4bc1ee4
BLAKE2b-256 78ccb549d932134582678f3a0cd8cb83e4ec6a00f56fed163822f07608ba0400

See more details on using hashes here.

File details

Details for the file fabio-0.14.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for fabio-0.14.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 cf3ee8f275e19b3555013d2ed3a6ab14c75e0a6206b9be19765e16e53598f2e0
MD5 ce953ab732c4dfac93bcfac445dda50f
BLAKE2b-256 d60a06346e86f06c80ca836c350e50c971158f0293438ef6a2c6d0ff8bcd8249

See more details on using hashes here.

File details

Details for the file fabio-0.14.0-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for fabio-0.14.0-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 a30cc7157d2ad6205a1a9c98a21fc8e9bbac95a3fc407005624ea5846653a858
MD5 4f395dfeadc2f859c33130eed131ca2a
BLAKE2b-256 f0005eaf916b7ef160b9b76d93f71f26e448dc042ab0dc4efe6b97a0eb25afc4

See more details on using hashes here.

File details

Details for the file fabio-0.14.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: fabio-0.14.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 900.9 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.5

File hashes

Hashes for fabio-0.14.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 298bb7ccce48da5c9ace38a8bb0def924d4f651eb86425db0b47bab5b1e56003
MD5 83c535e03cb95d8fad5cbbac5b0b3028
BLAKE2b-256 5401551d2011c566ad56b6b7579552aa4fb866cf3b8c584528b15966a4b0cf1c

See more details on using hashes here.

File details

Details for the file fabio-0.14.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fabio-0.14.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e0524b285d6ad497380dcc1643c35d4c79a699e50aecde1e6b83fc2c92e8d9e7
MD5 a40eae22f2ebde1d19fd84186196cfd7
BLAKE2b-256 ad0803755d5018985a8d001e4506402fbefd856e0bf338ed959c8786d352be18

See more details on using hashes here.

File details

Details for the file fabio-0.14.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for fabio-0.14.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 6c28742a74075aa56af73f26d10e7bb440a324a002b7b3b16f93c090e7fccd81
MD5 342a508aafa0d8e09afaf90ef5759a97
BLAKE2b-256 bfac44ae288d263069ae1a9e68952eb8b89727b5f2b504d00938b08cc427bc29

See more details on using hashes here.

File details

Details for the file fabio-0.14.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for fabio-0.14.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 4a7e2110e635f1f20a9858c4527dd488c5f6b8eb3b5f07dc89fd3effb7686466
MD5 baac0a2f52888b7c73c18b44ed96722a
BLAKE2b-256 04bb28feb1b26c9fdd18fe3b7e7c2e64ef4b75a2e82af63999e0c27518f96c73

See more details on using hashes here.

File details

Details for the file fabio-0.14.0-cp39-cp39-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for fabio-0.14.0-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 f2728e3bd31600fcdd78ba40799f666d60b3d056f473f2f83a0935ef79e43712
MD5 edd57e4d3dd56bfa917a372e532bc246
BLAKE2b-256 6af15eec711bb95cd58e0a60248f335cdc410fc6a5c23758893bd219157df16e

See more details on using hashes here.

File details

Details for the file fabio-0.14.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: fabio-0.14.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 900.5 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.5

File hashes

Hashes for fabio-0.14.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 39ac0bf9928e3d8a46b8067c963a675bfdc8603b740cd31e5036cbadf8c62134
MD5 d30ba0d41d75f995f16353ceaadf2977
BLAKE2b-256 8ce4172b0410a7695d9f92c0a3ff14de903dc518f8b184a0ec4276ec5be6c48e

See more details on using hashes here.

File details

Details for the file fabio-0.14.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fabio-0.14.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 acfd91859f6a6aa2d8968aa652ffeb06c0a9936dfe6e7dfb2ecf17846b612b5a
MD5 2b2f99a663aa75802602a8a153b81b33
BLAKE2b-256 f6088de7d06bb970143ceb1b8a4ac31903b7347c8e75ebf879912d027d8f7561

See more details on using hashes here.

File details

Details for the file fabio-0.14.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for fabio-0.14.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 1e749d6ee8cffaccf975e0d4bfe66cbd4362220ff6b703fb590275809bf272aa
MD5 cf62407dafdd95396d98eb36ff7ded6e
BLAKE2b-256 d48e146dcf968a3eee9aa95e5f461864d0dfac6b7a7d73b5a2ea5afe20be2245

See more details on using hashes here.

File details

Details for the file fabio-0.14.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for fabio-0.14.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 77eacbae24bd028f28c3bc5f66b85ce4b54d8925a304cfd35e13d6662a790526
MD5 4dd04f7fbd8f653209bf8b5b687e0f92
BLAKE2b-256 b9cd68379b0842b720022dfdb04181ec4040b21cdccd71804627e17ff390eb6f

See more details on using hashes here.

File details

Details for the file fabio-0.14.0-cp38-cp38-macosx_11_0_universal2.whl.

File metadata

File hashes

Hashes for fabio-0.14.0-cp38-cp38-macosx_11_0_universal2.whl
Algorithm Hash digest
SHA256 85af6f0eaeb781657b18e23ea59dda62577b3bd84650d9a5cfb95fccf36b29f3
MD5 3c957009a3816ea27d06058480fa9254
BLAKE2b-256 06aed6077a9d79582c9f02f699793931942e72b88b6d9fd519b1efdf630ab2c2

See more details on using hashes here.

File details

Details for the file fabio-0.14.0-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: fabio-0.14.0-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 881.9 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.5

File hashes

Hashes for fabio-0.14.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 64b2e9752293d29c0f17290ecf02c39b17cdd1793ede93b593986e4ea4a4c73f
MD5 5e181fdffd7e790fcea12d973ab939b6
BLAKE2b-256 0f6cd6609e1565e66c9f86da3364dddb6fa9bab068cb7038fedbb649d44ed1bb

See more details on using hashes here.

File details

Details for the file fabio-0.14.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fabio-0.14.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 008acc5b4226f884e31e7ed6daf80edb71e165b789ec5885d2607abb8aec9eec
MD5 c7da28bed1768d27cf943822aa0a00c2
BLAKE2b-256 b9190d2d3a8d1852025d50437edef20617aaefbcdd6bacd540680f8c95ccd377

See more details on using hashes here.

File details

Details for the file fabio-0.14.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for fabio-0.14.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 3b7e3bfb82605869ff8d1cbcc45e01c35abf0170f59b550c9ea61cc77c9ea472
MD5 d6e6ad0f74dec897db5372c4830773f6
BLAKE2b-256 5ba782869bf814366908fd4e356f975e7f08ce6247a3f15451a51d2974bb6faf

See more details on using hashes here.

File details

Details for the file fabio-0.14.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for fabio-0.14.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 87004e9313b0e5ebd2b945c62bc2cf7789b8560a5dfad6ca2ceb12bbe1997518
MD5 787a567d579d86127e96364679ec009b
BLAKE2b-256 b549784f10de9220514fe61b686b6bbb9266cadae86047949bd0381f3e42fc0f

See more details on using hashes here.

File details

Details for the file fabio-0.14.0-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: fabio-0.14.0-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 942.4 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.5

File hashes

Hashes for fabio-0.14.0-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 f2fc0fbdab76e9c80ce0a85be86270fcf65312ecacbeaa84cae05641ca375a0a
MD5 d01641dec6f9adcfbcc006b0be2db2eb
BLAKE2b-256 badfad16774cdb9b2c0fe723b6f3077035569e234f996e2885f739cc6b88e9b4

See more details on using hashes here.

File details

Details for the file fabio-0.14.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fabio-0.14.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1942088485129f9469603ae6ce624b560698619a8798594fd86c8994af150ddb
MD5 a0f31d8cec2f412d3f5e93ac0fcee4d9
BLAKE2b-256 2c0b9ee1c3d114857027a56ef78e626434fdd051ee70c49d233f18d7380632fe

See more details on using hashes here.

File details

Details for the file fabio-0.14.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for fabio-0.14.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 8ec9d12bcb13bec74d056fd03afd19c9aacc173f12ab836e9987da6bcdcf270b
MD5 40e0bca74588aaaa5a6c69eeba949294
BLAKE2b-256 98ab147a5f2fee2ee2fbb40e87dfd6d7de9b01198bf783ce425850bcd4dad246

See more details on using hashes here.

Supported by

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