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.0-cp314-cp314-win_amd64.whl (527.0 kB view details)

Uploaded CPython 3.14Windows x86-64

nativelib-0.2.2.0-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.0-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.0-cp314-cp314-macosx_11_0_arm64.whl (571.7 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

nativelib-0.2.2.0-cp314-cp314-macosx_10_15_x86_64.whl (556.6 kB view details)

Uploaded CPython 3.14macOS 10.15+ x86-64

nativelib-0.2.2.0-cp313-cp313-win_amd64.whl (515.3 kB view details)

Uploaded CPython 3.13Windows x86-64

nativelib-0.2.2.0-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.0-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.0-cp313-cp313-macosx_11_0_arm64.whl (568.0 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

nativelib-0.2.2.0-cp313-cp313-macosx_10_14_x86_64.whl (555.9 kB view details)

Uploaded CPython 3.13macOS 10.14+ x86-64

nativelib-0.2.2.0-cp312-cp312-win_amd64.whl (526.0 kB view details)

Uploaded CPython 3.12Windows x86-64

nativelib-0.2.2.0-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.0-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.0-cp312-cp312-macosx_11_0_arm64.whl (580.7 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

nativelib-0.2.2.0-cp312-cp312-macosx_10_14_x86_64.whl (568.6 kB view details)

Uploaded CPython 3.12macOS 10.14+ x86-64

nativelib-0.2.2.0-cp311-cp311-win_amd64.whl (521.9 kB view details)

Uploaded CPython 3.11Windows x86-64

nativelib-0.2.2.0-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.0-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.0-cp311-cp311-macosx_11_0_arm64.whl (578.5 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

nativelib-0.2.2.0-cp311-cp311-macosx_10_14_x86_64.whl (561.3 kB view details)

Uploaded CPython 3.11macOS 10.14+ x86-64

nativelib-0.2.2.0-cp310-cp310-win_amd64.whl (520.6 kB view details)

Uploaded CPython 3.10Windows x86-64

nativelib-0.2.2.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (3.0 MB view details)

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

nativelib-0.2.2.0-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.0-cp310-cp310-macosx_11_0_arm64.whl (572.6 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

nativelib-0.2.2.0-cp310-cp310-macosx_10_14_x86_64.whl (556.4 kB view details)

Uploaded CPython 3.10macOS 10.14+ x86-64

File details

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

File metadata

File hashes

Hashes for nativelib-0.2.2.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 baef0360bba48030f1e2f3400c2245fbb0ac2d745867d2c712982f9bf8950416
MD5 83207ce78c906e8ea11d664a003f8c48
BLAKE2b-256 093ecf381f3b2cb3e46862698eec8c5f6fe081ac53500b2f4fe02ef3051e079f

See more details on using hashes here.

File details

Details for the file nativelib-0.2.2.0-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.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 20ac6b7f1fdbc2ef1f482d61a9492690f2323418d6251e38b9bde4a939da8ba4
MD5 e27a8bb87b748de89bdf85c6f38b6dd2
BLAKE2b-256 bf15d62b5963516d0d82e51746a361a2435f5f61f844cfd3908a887f1ddcebd7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nativelib-0.2.2.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 834a9910a65a43f4b61e96810a15e9adf3171b39a46576d4902d36c07c4872b3
MD5 bd8f4b69f322a55e2f5705732a1f087e
BLAKE2b-256 6d660b2b9d0fc779f3856b34d9b9a15787d8011cff6a6fe4d77f9bda337179bb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nativelib-0.2.2.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 890f2c6b34550829c3a4683b295bdd1f63ed5fabd38bf6b6ea181b48e453c30c
MD5 eb48e09ca8325c30d7cdfa7825495dc7
BLAKE2b-256 128edd651e5b44518b9f0c148a11ccb814ba05c6fc5b192022fa563f7782a69b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nativelib-0.2.2.0-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 cc2d984cf485fb7034fae353941e43864983e2d2b39d91f96893b4d2386b3e05
MD5 fa919efd4e827b1ecab119153fc24e82
BLAKE2b-256 9ea848a8ec4f373c295d0ad7fdc4277b4237005f31ad9608e60207e4d48a317c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nativelib-0.2.2.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 457c21e772e62a84291a2534a420bdd56209df3dbe15bb062353a53fd6ba6876
MD5 729517d2cf8d16a5d8271d9d069f5ded
BLAKE2b-256 11199bae398f33c89894715a2deca0dd0cc251842348b6a4ec272e124eb91214

See more details on using hashes here.

File details

Details for the file nativelib-0.2.2.0-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.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c7f2193a6a1a9bc35be786835bede48f998d936d7c3bd95e92ec86031c153e04
MD5 69b20f232f1e71d64cacd690d2a4ddd3
BLAKE2b-256 2e82747e2224ea0ffbd8a14c684ad323e56b6d785808731ced993e98abac18aa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nativelib-0.2.2.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 7c60daf172a4ce7c4cb9538c26038fe127db5e7bd9bd4473445cf0d0910720c0
MD5 d9a0d2c410d11f727a6a5042cb4808fe
BLAKE2b-256 2acaab8df9357f80977f12b768dd92cdaea82ab6c064186ca76bc5020a976f4e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nativelib-0.2.2.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 90b7d6b186ba6fa71751e5cb3771bad8736ec79593dc30ef932c85f0abb74d5c
MD5 67bcc547a43f777a921713bcfa9e5adf
BLAKE2b-256 ff078a8c98dd256d3333695bf94d17b3cd32e8eb4dd01426b83cbb8d9bf43391

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nativelib-0.2.2.0-cp313-cp313-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 8d28572a2c2a29987ae6c527b5deb8ad3fc23d63ce76c8b781e80320950bda9a
MD5 5faa0177ad99aa8c32202448b3dbc7b4
BLAKE2b-256 01d78942b4b32b009b1b124ea165cbf35f0751ed081d203a73b971d951d2e98f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nativelib-0.2.2.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 486c3514c970c50c8f2bd147a783bc6052c905ff1fbf9d6622e7e37e3780dd88
MD5 99132bf017c7dabd3eac2427faab51c2
BLAKE2b-256 0954b3fce8885bac96ba98205249acf709e4f4bc587225f437b5800093029cca

See more details on using hashes here.

File details

Details for the file nativelib-0.2.2.0-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.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ddba55b0470f89d29635d32ae43626e5fb67376dd539fb2179a5d8bbd93c8f00
MD5 88cf7ab962222c08be2931c9f88a485e
BLAKE2b-256 0893cabb46a5dc42bc903e3025ec360ddfed8129dca14158939e957305341db2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nativelib-0.2.2.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 b447f647b8d3ef90358693ce1fe88e0e49d00dbeaf9259ca9f0a67c35b5ff951
MD5 131d8fdd19d0b5742211f51af0d5134e
BLAKE2b-256 e458e8af365390f11f14739d7c76f8c13b19d1222d63113f6220033358cc7c0c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nativelib-0.2.2.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 48927b0a0259f72b5f97b45b86792bb7ce7bc8d47c9590181d39e30e0857e7a7
MD5 20061ed451e0ed449cc571ec508aa3b8
BLAKE2b-256 59640213627f3c3ff928973a885cc52d1a47fa8794804237e6876ccab517b742

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nativelib-0.2.2.0-cp312-cp312-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 a2d2632f2a9516e651c77cb8348cf7b898f80e47a51cc41730702b6121dca6b2
MD5 3270ce39e09bb07ad32cc2e0479a6327
BLAKE2b-256 f7650e10542c25ad81526dc2a33e538329d9e47cbb970833640c7097d5353222

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nativelib-0.2.2.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d25cdb2a659bec76ae0f2aae8030198879a0915e38876fe244f3ef0e20b3753b
MD5 2db8235bd7bd829e04f7fbcf70fb2f1b
BLAKE2b-256 d651dce37c4589c57ccbd7024d5b8f36fe0a9ee59176cde501519f56d788188f

See more details on using hashes here.

File details

Details for the file nativelib-0.2.2.0-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.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3c7bc7727c1cff61bd6d9010c0e265150afe4557b4e6807aae27b92de857648b
MD5 e80688ae7ccff06083a7c2b90f5ed214
BLAKE2b-256 21c010796240c32fe7f221975e0527a13676017511fd2199ed4e04e14d077547

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nativelib-0.2.2.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 cb0f12fbcf71682d01d832196f24e66940607394d801648b5ec01dbffa3b413d
MD5 d437fa2f7845c9fad73f01a0e01dbbd2
BLAKE2b-256 280c6686ba1a73fa344efee8806c4d1de3b261c6825f75c8b561ae85aa1ad5aa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nativelib-0.2.2.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1991f96159fff7e9091ddf3a6343bb0dea30d9cf05707be3ce7d2e091b49b42e
MD5 61491e40d36abc664b7d0efe04f58101
BLAKE2b-256 697fb828c49a1d8e9adfff429738cd8c84f1cc00d742176c3a9ba41462d0d75e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nativelib-0.2.2.0-cp311-cp311-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 3f7fa5dd2316465c2a993906e6934e90c17d9080f3a2007874e933ac7f3a15fc
MD5 b02ec30c06fed4fa130f3ecdabcc3b48
BLAKE2b-256 84dc3256d2e1d064e53abf9ce65a94309da9fb22ba6e96c5be635b91cbf2cc72

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nativelib-0.2.2.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 94a19aa0410288d2993d693ef5a3e083cdfaebcc2069828d81fc4db3ec086f10
MD5 f606271feb563b40aabf0ca19ece158f
BLAKE2b-256 c4526b15fd42eb325b55d398d78168d070544a4579782c8e0e5ed3a746623431

See more details on using hashes here.

File details

Details for the file nativelib-0.2.2.0-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.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 369e9cc48580b812f73138194c1905f7017f45576262aef5d928a83e40eb6ef2
MD5 b6e568c201c1e40e0aa38da72b43738e
BLAKE2b-256 ee4968f6f884c3a08643649b64fb1a3e37967a78622331e99ddf189e9e6f411c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nativelib-0.2.2.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 18f56a3e8fc7e62a0c71c8f5985b3ecdb2e5a2d6c6be3511cd11f71317ceddb7
MD5 1679f2d50becbec46a43ad6e1551969c
BLAKE2b-256 fd644ed174315f72ed55a2342c4d70e0d8aba5b661903fe1cf44587df28e8383

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nativelib-0.2.2.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3034c603dd26c2a578c5830aec9cb2530d4e53800beb8fe96e0f87665d0b0a21
MD5 343bbf740c301e64b5cef0db0f7236a1
BLAKE2b-256 019c5fa158851615054ae6ffd2b2af15049269a13c6582d02cc0c49b2292e00b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nativelib-0.2.2.0-cp310-cp310-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 cd1544832996d8709bc618566107fe0482fa525c88d6515126abde7154fdbe95
MD5 d263e3eb66791cd677c38ddd77c18839
BLAKE2b-256 f613ddacc515177ec07d7681ea607bc7d28e7327946e42d6715c816d24c95b3f

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