Skip to main content

Library for read and write clickhouse native format.

Project description

NativeLib

Library for working with Clickhouse Native Format

Description of the format on the official website:

The most efficient format. Data is written and read by blocks in binary format.
For each block, the number of rows, number of columns, column names and types,
and parts of columns in this block are recorded one after another. In other words,
this format is “columnar” – it does not convert columns to rows.
This is the format used in the native interface for interaction between servers,
for using the command-line client, and for C++ clients.

You can use this format to quickly generate dumps that can only be read by the ClickHouse DBMS.
It does not make sense to work with this format yourself.

This library allows for data exchange between Clickhouse Native Format and python/pandas.DataFrame/polars.DataFrame.

Unsupported data types (at the moment)

  • Tuple # Tuple(T1, T2, ...).
  • Map # Map(K, V).
  • Variant # Variant(T1, T2, ...).
  • AggregateFunction # (name, types_of_arguments...) — parametric data type.
  • SimpleAggregateFunction # (name, types_of_arguments...) data type stores current value (intermediate state) of the aggregate function.
  • Point # stored as a Tuple(Float64, Float64).
  • Ring # stored as an array of points: Array(Point).
  • LineString # stored as an array of points: Array(Point).
  • MultiLineString # is multiple lines stored as an array of LineString: Array(LineString).
  • Polygon # stored as an array of rings: Array(Ring).
  • MultiPolygon # stored as an array of polygons: Array(Polygon).
  • Expression # used for representing lambdas in high-order functions.
  • Set # Used for the right half of an IN expression.
  • Domains # You can use domains anywhere corresponding base type can be used.
  • Nested # Nested(name1 Type1, Name2 Type2, ...).
  • Dynamic # This type allows to store values of any type inside it without knowing all of them in advance.
  • JSON # Stores JavaScript Object Notation (JSON) documents in a single column.

Supported data types

Clickhouse data type Read Write Python data type (Read/Write)
UInt8 + + int
UInt16 + + int
UInt32 + + int
UInt64 + + int
UInt128 + + int
UInt256 + + int
Int8 + + int
Int16 + + int
Int32 + + int
Int64 + + int
Int128 + + int
Int256 + + int
Float32 + + float
Float64 + + float
BFloat16 + + float
Decimal(P, S) + + decimal.Decimal
String + + str
FixedString(N) + + str
Date + + datetime.date
Date32 + + datetime.date
DateTime + + datetime.datetime
DateTime64 + + datetime.datetime
Time + + datetime.timedelta
Time64 + + datetime.timedelta
Enum + + str/Union[int, enum.Enum, str]
Bool + + bool
UUID + + uuid.UUID
IPv4 + + ipaddress.IPv4Address
IPv6 + + ipaddress.IPv6Address
Array(T) + + list[T*]
LowCardinality(T) + + Union[str,datetime.date,datetime.datetime,int,float]
Nullable(T) + + Optional[T*]
Nothing + + None

*T - any simple data type from those listed in the table

Installation

From pip

pip install nativelib

From local directory

pip install .

From git

pip install git+https://github.com/0xMihalich/nativelib

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

nativelib-0.2.2.1-cp314-cp314-win_amd64.whl (528.2 kB view details)

Uploaded CPython 3.14Windows x86-64

nativelib-0.2.2.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

nativelib-0.2.2.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (3.3 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

nativelib-0.2.2.1-cp314-cp314-macosx_11_0_arm64.whl (573.8 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

nativelib-0.2.2.1-cp314-cp314-macosx_10_15_x86_64.whl (558.5 kB view details)

Uploaded CPython 3.14macOS 10.15+ x86-64

nativelib-0.2.2.1-cp313-cp313-win_amd64.whl (516.6 kB view details)

Uploaded CPython 3.13Windows x86-64

nativelib-0.2.2.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

nativelib-0.2.2.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (3.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

nativelib-0.2.2.1-cp313-cp313-macosx_11_0_arm64.whl (570.0 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

nativelib-0.2.2.1-cp313-cp313-macosx_10_14_x86_64.whl (557.8 kB view details)

Uploaded CPython 3.13macOS 10.14+ x86-64

nativelib-0.2.2.1-cp312-cp312-win_amd64.whl (527.5 kB view details)

Uploaded CPython 3.12Windows x86-64

nativelib-0.2.2.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (3.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

nativelib-0.2.2.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (3.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

nativelib-0.2.2.1-cp312-cp312-macosx_11_0_arm64.whl (582.7 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

nativelib-0.2.2.1-cp312-cp312-macosx_10_14_x86_64.whl (570.4 kB view details)

Uploaded CPython 3.12macOS 10.14+ x86-64

nativelib-0.2.2.1-cp311-cp311-win_amd64.whl (522.6 kB view details)

Uploaded CPython 3.11Windows x86-64

nativelib-0.2.2.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

nativelib-0.2.2.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (3.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

nativelib-0.2.2.1-cp311-cp311-macosx_11_0_arm64.whl (580.7 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

nativelib-0.2.2.1-cp311-cp311-macosx_10_14_x86_64.whl (563.5 kB view details)

Uploaded CPython 3.11macOS 10.14+ x86-64

nativelib-0.2.2.1-cp310-cp310-win_amd64.whl (521.2 kB view details)

Uploaded CPython 3.10Windows x86-64

nativelib-0.2.2.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

nativelib-0.2.2.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (3.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

nativelib-0.2.2.1-cp310-cp310-macosx_11_0_arm64.whl (574.8 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

nativelib-0.2.2.1-cp310-cp310-macosx_10_14_x86_64.whl (558.6 kB view details)

Uploaded CPython 3.10macOS 10.14+ x86-64

File details

Details for the file nativelib-0.2.2.1-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for nativelib-0.2.2.1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 212e8ae3c58e13961a76428d38052a2e39d744797d4672eb36f4532b5d12001b
MD5 0b8e2596c4516b0ad72d4ec28376740a
BLAKE2b-256 1dea8b02e2018251849240f5a1864f79d66c7e3d71489a578c7a8cd5a88c4b59

See more details on using hashes here.

File details

Details for the file nativelib-0.2.2.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for nativelib-0.2.2.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 66bd88ac81dc03574204a02dcd9cd7b4364700b2805b7436746793131d81c01c
MD5 e21347339c64fc7bf176e69374c0b6c1
BLAKE2b-256 210bba5e3cfdf8f8689e00753ba3b908ef33eaa869dbbe80d0353cead4312201

See more details on using hashes here.

File details

Details for the file nativelib-0.2.2.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for nativelib-0.2.2.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 642a7142fa33a51b34592e7eeda630a6d0034aedb8a52670a60ed26c886c9c26
MD5 2a823e6140a2c4f439c1ad9645ca101e
BLAKE2b-256 68a2c5c685de9b08bb323f8bf749f18a1693d6011251c1ff3b4738820efe59f6

See more details on using hashes here.

File details

Details for the file nativelib-0.2.2.1-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for nativelib-0.2.2.1-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a7f0b52107714605047e8c5ac8ada8d4480d5f9748b1be7775e578360f7c94f9
MD5 504b486c2e254842258ce031162c5209
BLAKE2b-256 75b3cccff8d7994e22fe0b42c9ed80c24d734c4e80ac184f4bb165cdb92da5be

See more details on using hashes here.

File details

Details for the file nativelib-0.2.2.1-cp314-cp314-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for nativelib-0.2.2.1-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 322833b53f6808ffb9d69a9e3e5320b0c193b02da4253643450daa1b4bd7c7a7
MD5 f8d02536e248dc3842ebc5beaaffd0d2
BLAKE2b-256 be01878d9aa02482e0ef6a050d651537300396dba8e539de6aecc1f191b0bc33

See more details on using hashes here.

File details

Details for the file nativelib-0.2.2.1-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for nativelib-0.2.2.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 64525a07ddfed06a59c237eb1b30aa83f6fdb97be80833e858c8915c47dfa04c
MD5 4301f8ecd0e77b6dc35a4224ed6c2acb
BLAKE2b-256 f5b73517359d65bfb577753c647d826a25048177bea160cfb8afe4a76a8624bf

See more details on using hashes here.

File details

Details for the file nativelib-0.2.2.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for nativelib-0.2.2.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 671ce6e050239a70aff7e050383ea62bf341ef95590bfdf6dc397cc4e46733f7
MD5 c06c89a356283b03becf81d3cdef3ee5
BLAKE2b-256 ec4098e53bd60723356fa190a54a6f1e1aa0a3a069f62c884cc79c1336c42ddf

See more details on using hashes here.

File details

Details for the file nativelib-0.2.2.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for nativelib-0.2.2.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c13ffbb8d5bb56884e8d32d62abafcf4d8d7a532285872165020907e42afc247
MD5 6b4ff67ecbb31ed21a950d4ddf9c6fa2
BLAKE2b-256 6907f8c2b188242c23c8d491f5826b9d6344fcc15393d25c7237c4e6345ff2ac

See more details on using hashes here.

File details

Details for the file nativelib-0.2.2.1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for nativelib-0.2.2.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 066385ef64ceadf4d42d4acfea742ad9ded44e44fc26ad321181fda47fc1e20b
MD5 cdf02b602c891536ea52bcdb6d624762
BLAKE2b-256 4937ff907e8127d5acbc245910c651552704113b87c7d551c4ad31ee042e76e7

See more details on using hashes here.

File details

Details for the file nativelib-0.2.2.1-cp313-cp313-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for nativelib-0.2.2.1-cp313-cp313-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 de0ffacb1da26b3969f4eed9c24e9920f970722f60c2bb31c1044f813d4242a6
MD5 8c207702353e07eb5b995ea143c753c5
BLAKE2b-256 a39ae0a02f681cd45298f9282817b65ce178673d22006d64781ce4570d9d4331

See more details on using hashes here.

File details

Details for the file nativelib-0.2.2.1-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for nativelib-0.2.2.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 060d66c696d32b2a9408c2aa3cce2a7c2a64eb36aec6959ae1fdb72907f87f7a
MD5 9753e81b7e273d02d10aaa490c1d2cc5
BLAKE2b-256 b4bd9c4a58c583a7793c7b544315230b8aee7a9f8beb16ea41b16a24e37c8159

See more details on using hashes here.

File details

Details for the file nativelib-0.2.2.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for nativelib-0.2.2.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8c8cca996e5fbc721acc317c69606d50cfb6f4ee97e5c7365306253b41bd1f2a
MD5 04232425dcd6415e525ceebf31ad8c27
BLAKE2b-256 7d1c665b1ee79b331795fdd6ffc2d6bcf3c00617774c130a0d34e8a1fd1d9e88

See more details on using hashes here.

File details

Details for the file nativelib-0.2.2.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for nativelib-0.2.2.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 4c266c8fcda39a0d28dd1f8d77572b006b421275a8e1aaae191c918b1e19ecb2
MD5 d852ba8ff491477a22306c6882e5e44b
BLAKE2b-256 2b639cf1581ffb4dc8d67aa95c69cad8b669047bd55ecb011a5cb9b70d2a2484

See more details on using hashes here.

File details

Details for the file nativelib-0.2.2.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for nativelib-0.2.2.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bfbfdfbc203b3fc17799b89136ff64425bee8d76d2986c01d44c583669d9bbc3
MD5 33545769884fbc73b35240383d81e67e
BLAKE2b-256 7b49d460015da31a6d1ce030494a9babc953c30e9eaf08973a6d4d4e3fd620d1

See more details on using hashes here.

File details

Details for the file nativelib-0.2.2.1-cp312-cp312-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for nativelib-0.2.2.1-cp312-cp312-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 27beaf299d199e464037d0a522801e291accc178a1492420175ecbe202d8960a
MD5 b5317807366dad2906ba97425a6013cf
BLAKE2b-256 a7b541144c1ddc50cb45c4d20e4f48524975159999b5562fb819ea0b5c991e19

See more details on using hashes here.

File details

Details for the file nativelib-0.2.2.1-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for nativelib-0.2.2.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 c1b010d7f09c461bb93b7cf32f6f36fb970f131fc036ca68301c4a534f91e565
MD5 5a9688eb59dcbbfa3ec77d24c87e5b6f
BLAKE2b-256 259d0a51b47698354ec80eefeeba87edb2775decabc4a55c81c9ae38be72851c

See more details on using hashes here.

File details

Details for the file nativelib-0.2.2.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for nativelib-0.2.2.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 dcb8988303d15f671259a27a44091f2f1b2a81fc72d76812b3ba873ba1f3167e
MD5 37007f2f5a84acc6e1ebf94326df7b52
BLAKE2b-256 2e3846ac1e45255a22c715e6a75b80e4577dd700733d1541a7d4c66a3b729930

See more details on using hashes here.

File details

Details for the file nativelib-0.2.2.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for nativelib-0.2.2.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d63547f34cd62d8ea6ddd29aa4029fbcdf2825af6ab6073d7e6d48d2af3e435d
MD5 6d6d54b17a11f362f5064a516ef6c341
BLAKE2b-256 697db2783bb5f4ab1edb7b2f38fbc94021878f51825ab2ae293e8b2423b8bf5e

See more details on using hashes here.

File details

Details for the file nativelib-0.2.2.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for nativelib-0.2.2.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 48ecf29a613640783eb2b45131c3d582405e69c2eb6ea9123f55906662368029
MD5 20dbae17553f0eb8be0f4c1bfbeda968
BLAKE2b-256 2652157ae90d9a03d01ec40b9a75c7b67273bf5a0ba7f1a35afb861e93755106

See more details on using hashes here.

File details

Details for the file nativelib-0.2.2.1-cp311-cp311-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for nativelib-0.2.2.1-cp311-cp311-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 eb67d298404a8ec32254a4960dc1bf3084d8d32d3681b4985a93fbd4a1836890
MD5 2b1e15927776993d6b6086b14ec691c5
BLAKE2b-256 6db638d9f62021488cd9afb7e37ba2c51b77cbcc9ffca9d8f8ed36e7354c8b05

See more details on using hashes here.

File details

Details for the file nativelib-0.2.2.1-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for nativelib-0.2.2.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 c475f4af1704cfbcf0259408941867b3acbeee375f32dda6fd0d7fde5861cbd8
MD5 aa8b012adde38c3470f8db3bb5dc4f6c
BLAKE2b-256 1a06ce5a9be14b69ac7dbdf6bfa88e6502eb3a002ef02dc11e39a21cdd0abc83

See more details on using hashes here.

File details

Details for the file nativelib-0.2.2.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for nativelib-0.2.2.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a36960fafa74c592bc7a6527fbc7dfd0926a32ce789be2486f9e233f5b1b4246
MD5 d051686ba3e12f04cbc7d346d880f6db
BLAKE2b-256 ea1d18040171fda6f37d3c240f12cf3b9ca80bc46e863754b3af0ef8275d9e85

See more details on using hashes here.

File details

Details for the file nativelib-0.2.2.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for nativelib-0.2.2.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c6575ef2a01fd9273a90692f08bc290cca29f00e304d24cbf29623a3d86b0740
MD5 f75cfc0750d52ad8e363c9d0c07abab9
BLAKE2b-256 861c5027498d1eecfeaa9690100ce43d1b5d6c4b25d01e4c707ecdd3aa6a528f

See more details on using hashes here.

File details

Details for the file nativelib-0.2.2.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for nativelib-0.2.2.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 475982c1edb0087692235869dba612fb0cdc7f2a86dbdd06aedca07d8b0d0cb0
MD5 b034ed4e59a580bd4cced7bcb5195e73
BLAKE2b-256 9adc042da2e37dda37b079972a133cdee14c596530c298e1d546b9404d8e6709

See more details on using hashes here.

File details

Details for the file nativelib-0.2.2.1-cp310-cp310-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for nativelib-0.2.2.1-cp310-cp310-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 4db84f61de900046c1fa2ce56255433a757ea3545de5f0eda5ff518ec7c6eb88
MD5 97e1c562a65dde498b864debcc2a0866
BLAKE2b-256 5fd8566666f0fd7cdfe7ad7a2c6ddf79538a5943cad835c93e2aa420fc0c7461

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