Skip to main content

The Cython compiler for writing C extensions for the Python language.

Project description

The Cython language makes writing C extensions for the Python language as easy as Python itself. Cython is a source code translator based on Pyrex, but supports more cutting edge functionality and optimizations.

The Cython language is a superset of the Python language (almost all Python code is also valid Cython code), but Cython additionally supports optional static typing to natively call C functions, operate with C++ classes and declare fast C types on variables and class attributes. This allows the compiler to generate very efficient C code from Cython code.

This makes Cython the ideal language for writing glue code for external C/C++ libraries, and for fast C modules that speed up the execution of Python code.

Note that for one-time builds, e.g. for CI/testing, on platforms that are not covered by one of the wheel packages provided on PyPI, it is substantially faster than a full source build to install an uncompiled (slower) version of Cython with:

pip install Cython --install-option="--no-cython-compile"

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

Cython-0.28.1.tar.gz (1.8 MB view details)

Uploaded Source

Built Distributions

Cython-0.28.1-cp36-cp36m-win_amd64.whl (2.5 MB view details)

Uploaded CPython 3.6m Windows x86-64

Cython-0.28.1-cp36-cp36m-win32.whl (2.2 MB view details)

Uploaded CPython 3.6m Windows x86

Cython-0.28.1-cp36-cp36m-manylinux1_x86_64.whl (3.4 MB view details)

Uploaded CPython 3.6m

Cython-0.28.1-cp36-cp36m-manylinux1_i686.whl (3.0 MB view details)

Uploaded CPython 3.6m

Cython-0.28.1-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (5.2 MB view details)

Uploaded CPython 3.6m macOS 10.10+ intel macOS 10.10+ x86-64 macOS 10.6+ intel macOS 10.9+ intel macOS 10.9+ x86-64

Cython-0.28.1-cp35-cp35m-win_amd64.whl (2.4 MB view details)

Uploaded CPython 3.5m Windows x86-64

Cython-0.28.1-cp35-cp35m-win32.whl (2.2 MB view details)

Uploaded CPython 3.5m Windows x86

Cython-0.28.1-cp35-cp35m-manylinux1_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.5m

Cython-0.28.1-cp35-cp35m-manylinux1_i686.whl (2.9 MB view details)

Uploaded CPython 3.5m

Cython-0.28.1-cp35-cp35m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (5.1 MB view details)

Uploaded CPython 3.5m macOS 10.10+ intel macOS 10.10+ x86-64 macOS 10.6+ intel macOS 10.9+ intel macOS 10.9+ x86-64

Cython-0.28.1-cp34-cp34m-win_amd64.whl (2.5 MB view details)

Uploaded CPython 3.4m Windows x86-64

Cython-0.28.1-cp34-cp34m-win32.whl (2.2 MB view details)

Uploaded CPython 3.4m Windows x86

Cython-0.28.1-cp34-cp34m-manylinux1_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.4m

Cython-0.28.1-cp34-cp34m-manylinux1_i686.whl (2.9 MB view details)

Uploaded CPython 3.4m

Cython-0.28.1-cp34-cp34m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (5.1 MB view details)

Uploaded CPython 3.4m macOS 10.10+ intel macOS 10.10+ x86-64 macOS 10.6+ intel macOS 10.9+ intel macOS 10.9+ x86-64

Cython-0.28.1-cp33-cp33m-manylinux1_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.3m

Cython-0.28.1-cp33-cp33m-manylinux1_i686.whl (2.9 MB view details)

Uploaded CPython 3.3m

Cython-0.28.1-cp33-cp33m-macosx_10_6_x86_64.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (5.1 MB view details)

Uploaded CPython 3.3m macOS 10.10+ intel macOS 10.10+ x86-64 macOS 10.6+ x86-64 macOS 10.9+ intel macOS 10.9+ x86-64

Cython-0.28.1-cp27-cp27mu-manylinux1_x86_64.whl (3.3 MB view details)

Uploaded CPython 2.7mu

Cython-0.28.1-cp27-cp27mu-manylinux1_i686.whl (2.8 MB view details)

Uploaded CPython 2.7mu

Cython-0.28.1-cp27-cp27m-win_amd64.whl (2.5 MB view details)

Uploaded CPython 2.7m Windows x86-64

Cython-0.28.1-cp27-cp27m-win32.whl (2.2 MB view details)

Uploaded CPython 2.7m Windows x86

Cython-0.28.1-cp27-cp27m-manylinux1_x86_64.whl (3.3 MB view details)

Uploaded CPython 2.7m

Cython-0.28.1-cp27-cp27m-manylinux1_i686.whl (2.8 MB view details)

Uploaded CPython 2.7m

Cython-0.28.1-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (5.1 MB view details)

Uploaded CPython 2.7m macOS 10.10+ intel macOS 10.10+ x86-64 macOS 10.6+ intel macOS 10.9+ intel macOS 10.9+ x86-64

Cython-0.28.1-cp26-cp26mu-manylinux1_x86_64.whl (3.3 MB view details)

Uploaded CPython 2.6mu

Cython-0.28.1-cp26-cp26mu-manylinux1_i686.whl (2.8 MB view details)

Uploaded CPython 2.6mu

Cython-0.28.1-cp26-cp26m-manylinux1_x86_64.whl (3.3 MB view details)

Uploaded CPython 2.6m

Cython-0.28.1-cp26-cp26m-manylinux1_i686.whl (2.8 MB view details)

Uploaded CPython 2.6m

File details

Details for the file Cython-0.28.1.tar.gz.

File metadata

  • Download URL: Cython-0.28.1.tar.gz
  • Upload date:
  • Size: 1.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for Cython-0.28.1.tar.gz
Algorithm Hash digest
SHA256 152ee5f345012ca3bb7cc71da2d3736ee20f52cd8476e4d49e5e25c5a4102b12
MD5 c549effadb52d90bdcb1affc1e5dbb97
BLAKE2b-256 be08bb5ffd1c32a951cbc26011ecb8557e59dc7a0a4975f0ad98b2cd7446f7dd

See more details on using hashes here.

File details

Details for the file Cython-0.28.1-cp36-cp36m-win_amd64.whl.

File metadata

File hashes

Hashes for Cython-0.28.1-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 175273eb6a90af364b9b2aea74e3c3eebcde9caec02d617cd8886c0933ec3304
MD5 bf426f3524242564f1239a50fb213ba5
BLAKE2b-256 94800689f28e0232ff611b275358dcd2cebfe9cf758ea6a8fe07b7f10ad99d98

See more details on using hashes here.

File details

Details for the file Cython-0.28.1-cp36-cp36m-win32.whl.

File metadata

File hashes

Hashes for Cython-0.28.1-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 c39b3a042bf5ded7c8336c82b1fa817e1f46a7ef16d41d66b3d3340e7a3b60ed
MD5 8e1fdb90aabab0c04d831d7c97fd31be
BLAKE2b-256 fb50c944341b23bf38b221239c4299ecebeca5c3299c6541f75af54830fb017e

See more details on using hashes here.

File details

Details for the file Cython-0.28.1-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for Cython-0.28.1-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 3c60caa0075aa1f1c5e10b5352d2e8bb9a18361ce9fca50fa7d4baea67804ade
MD5 56e5b43f49150d7eec5aa0b0bea37cae
BLAKE2b-256 40be4a1a4eaa46cab956cadb2c13d4a52a7795bb4dd62cc17b153c65a30dea0b

See more details on using hashes here.

File details

Details for the file Cython-0.28.1-cp36-cp36m-manylinux1_i686.whl.

File metadata

File hashes

Hashes for Cython-0.28.1-cp36-cp36m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 70bc2806fc9e5affcf74c0d4fa12cba57ffb94cdfc28b975692c8df56ea86402
MD5 f5f5c41c5a41b40052185012ed761659
BLAKE2b-256 3759bceb032cd9257db3936f3df243e8a9f28aecb05db382dfdd594291d01271

See more details on using hashes here.

File details

Details for the file Cython-0.28.1-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl.

File metadata

File hashes

Hashes for Cython-0.28.1-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
Algorithm Hash digest
SHA256 38b499fa317cf6939e46317457240553b13e974f08ed387523f10af26e269f6c
MD5 6efb0214da196a39c82a7637aa299ef8
BLAKE2b-256 dd1ffbc379eeb53eedbff12d0623a154902c06ac6a386830cdc30d4ccb874453

See more details on using hashes here.

File details

Details for the file Cython-0.28.1-cp35-cp35m-win_amd64.whl.

File metadata

File hashes

Hashes for Cython-0.28.1-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 e312dd688b97e9f97199a8e4ba18b65db2747157630761d27193a18761b23fed
MD5 a020a47004d4359f510c167771803665
BLAKE2b-256 44486c7a96f0376d780dc70361f7b9d41485037d359e2bd514e02ff4eb7fafb1

See more details on using hashes here.

File details

Details for the file Cython-0.28.1-cp35-cp35m-win32.whl.

File metadata

File hashes

Hashes for Cython-0.28.1-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 e47bbe74d6c87fab2e22f1580aa3e4a8e7482b4265b1fc76685fc49f90e18f99
MD5 0469d9af0706df146589c4a45c7a19fc
BLAKE2b-256 9bbeb78a2f1a4a381ab8773b4f8e4dd9b41af0209c845c9cb41a85b7b33c0bd2

See more details on using hashes here.

File details

Details for the file Cython-0.28.1-cp35-cp35m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for Cython-0.28.1-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 2b9aa64473fefbe988e36a30915732a0e2a75ffe0f3e81a70e3f8d367c2e4119
MD5 1ccbc3ad83221c2bb50d14e2de783149
BLAKE2b-256 c1404be8161a4b8772070c2b72259911d59e09d2044bab460816a9b4ac14be89

See more details on using hashes here.

File details

Details for the file Cython-0.28.1-cp35-cp35m-manylinux1_i686.whl.

File metadata

File hashes

Hashes for Cython-0.28.1-cp35-cp35m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 1da199a5be7c486ee89b4a8bda7f00f9fd98b800d9af3a1fe3fc63e68dadea85
MD5 7a110aa8615826a1464cd632fc4be5fc
BLAKE2b-256 c9d5b3f292f39f4cbd63776c5e69c83c211dfc2a29dbd8c9dc623212871b18a4

See more details on using hashes here.

File details

Details for the file Cython-0.28.1-cp35-cp35m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl.

File metadata

File hashes

Hashes for Cython-0.28.1-cp35-cp35m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
Algorithm Hash digest
SHA256 80856aa45004514a3ff5e102bd18fbd5230d234311de1f83d4e5b97ef42f6c93
MD5 6b7bb1f5bb1f79c277d04fa47ac153bb
BLAKE2b-256 ac2b5f42b08e5b06b21673ed2f226908bcebf35077079af3ebce0d08bfe907a5

See more details on using hashes here.

File details

Details for the file Cython-0.28.1-cp34-cp34m-win_amd64.whl.

File metadata

File hashes

Hashes for Cython-0.28.1-cp34-cp34m-win_amd64.whl
Algorithm Hash digest
SHA256 5010e048fb9791522fe626bd40137b8a847ba77a6e656bb64d6d7acdc45ece32
MD5 9db82a533664eb6bc2c5df09984ff173
BLAKE2b-256 1594721b9c4b0b0e63dd1366c642f71d80aa95aeb76afa6e740536c703255527

See more details on using hashes here.

File details

Details for the file Cython-0.28.1-cp34-cp34m-win32.whl.

File metadata

File hashes

Hashes for Cython-0.28.1-cp34-cp34m-win32.whl
Algorithm Hash digest
SHA256 427299c47cfe04d97f9f09ea55570c05898a87b64caf6ddebb529b6f64e5d228
MD5 571f5a179475083e66730739cf50322e
BLAKE2b-256 699dd9f79ed22adc5e00d7b0ad00b95f5869d55a603087950619a3aa4dfd4183

See more details on using hashes here.

File details

Details for the file Cython-0.28.1-cp34-cp34m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for Cython-0.28.1-cp34-cp34m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 3fc9b945541cadb5a10316e48b5e73f4b6f635b7d30156f502b66f3766545b23
MD5 9bea9816d6f5e6eb3bda47d87d62686d
BLAKE2b-256 329048509b817d9f95ba14d6b97cd2cd75b15eb2c24f697f9bab2a34d1cde061

See more details on using hashes here.

File details

Details for the file Cython-0.28.1-cp34-cp34m-manylinux1_i686.whl.

File metadata

File hashes

Hashes for Cython-0.28.1-cp34-cp34m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 2b73b062658511167dde37a51acb80ae6ddea1ffa284ebdbc47a900f21e63c70
MD5 967bb1b9d831dd234c09283f73ad86c5
BLAKE2b-256 56f3ada3d805ecf5985c2fc200077991be6b29e8b9727b18f6bfce6303f9ee67

See more details on using hashes here.

File details

Details for the file Cython-0.28.1-cp34-cp34m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl.

File metadata

File hashes

Hashes for Cython-0.28.1-cp34-cp34m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
Algorithm Hash digest
SHA256 0a44c3645a84724d4f7f7c1126f3807cad14271f210bb1a9a15bfd330c8d20b9
MD5 9199b0d61483526a0b9c376cd1152d3a
BLAKE2b-256 6578da1a997402336c3fdccbe9301618003feff7f4f3110c95a0fe7a68a2eee7

See more details on using hashes here.

File details

Details for the file Cython-0.28.1-cp33-cp33m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for Cython-0.28.1-cp33-cp33m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 996ae959ab2600b8ad4c80981afc32e89b42d0abe3234c48e960e40180459cb2
MD5 20e00b026ee8012cd45b400db7468424
BLAKE2b-256 a93f040de570869f056268e940798308a580b06a66a6ce51644a98a41aec49b1

See more details on using hashes here.

File details

Details for the file Cython-0.28.1-cp33-cp33m-manylinux1_i686.whl.

File metadata

File hashes

Hashes for Cython-0.28.1-cp33-cp33m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 32638aefc164404ac70e5f86558cd3aece34df17db16da905abf5e664073bae4
MD5 ad9f59d0d75b8d7de8417d0deb209a6f
BLAKE2b-256 d877723ae532858def02c13a30193776d48ccfc06906fea29cc301cc280f4601

See more details on using hashes here.

File details

Details for the file Cython-0.28.1-cp33-cp33m-macosx_10_6_x86_64.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl.

File metadata

File hashes

Hashes for Cython-0.28.1-cp33-cp33m-macosx_10_6_x86_64.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
Algorithm Hash digest
SHA256 4e07e619af85e7c1ec2344ecab558929bb4acbca25f8f170d07dc677e8ee413f
MD5 c676cff12b2bcffbc0a2f307e0b7e711
BLAKE2b-256 18415df7fd1c8ffe0d7ceacb0d9fbc07482b3f1bb6b98637a743c853fb19ed76

See more details on using hashes here.

File details

Details for the file Cython-0.28.1-cp27-cp27mu-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for Cython-0.28.1-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 15cbde95cdf6a346c63c0b38b895aa3186d0a49adcaf42b9e19c4cb0473cb921
MD5 ecc90a08e540a28971ab872428768040
BLAKE2b-256 1b971418f5d6fdc9776570fdbd0157133f0f30670eaef385caf90ba334d31366

See more details on using hashes here.

File details

Details for the file Cython-0.28.1-cp27-cp27mu-manylinux1_i686.whl.

File metadata

File hashes

Hashes for Cython-0.28.1-cp27-cp27mu-manylinux1_i686.whl
Algorithm Hash digest
SHA256 d2b636c16931663aeb8ffb91cf871a912e66e7200755ce68aa8c502c16eb366f
MD5 74b0107de2821c7a2a7aa1f8d3af5fe1
BLAKE2b-256 e2ac5d69c9a77b8c9686132897f6f04079601329e28815bdf35a4a1b52719a2d

See more details on using hashes here.

File details

Details for the file Cython-0.28.1-cp27-cp27m-win_amd64.whl.

File metadata

File hashes

Hashes for Cython-0.28.1-cp27-cp27m-win_amd64.whl
Algorithm Hash digest
SHA256 ea113ff58e96152738e646b8ee77b41d3994735df77bee0a26cd413a67e03c0f
MD5 70e6eace9b3c250bbfbc26b78498540f
BLAKE2b-256 9eb24e03424425b5aefede8e79c08581c614578aeb2f3fa641b0179a3952107f

See more details on using hashes here.

File details

Details for the file Cython-0.28.1-cp27-cp27m-win32.whl.

File metadata

File hashes

Hashes for Cython-0.28.1-cp27-cp27m-win32.whl
Algorithm Hash digest
SHA256 b5c2e31be55bc61d3c758889d06b16d84f4fda944832fbed63c113ec2dbc5f97
MD5 ff46bdb44653795e54b2cd3e641ea332
BLAKE2b-256 7423ddb527d184485c6325d338f0fcd80e9ab5cb122c9d829aa5cc3c9e2c73c8

See more details on using hashes here.

File details

Details for the file Cython-0.28.1-cp27-cp27m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for Cython-0.28.1-cp27-cp27m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 1a434e7621ca6671ce949893fef94b13a580853ba976e729f68dda5ab270ee8a
MD5 01cbbc011ed03f3111d48d6b92e3fc79
BLAKE2b-256 3f0f224388d8a1c1a841b084d7c5407f834e46d043c220db69efd0ba9c9e5ba3

See more details on using hashes here.

File details

Details for the file Cython-0.28.1-cp27-cp27m-manylinux1_i686.whl.

File metadata

File hashes

Hashes for Cython-0.28.1-cp27-cp27m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 ea22d79133583b5b0f856dbfda097363228ae0a3d77431deaba90634e5d4853a
MD5 86cd6678e4a2912b88e9cbc66f8868e3
BLAKE2b-256 c72905bcdf778960520011bc73c15fbaac05f0092ada6bddf8f4c50bcb242e7b

See more details on using hashes here.

File details

Details for the file Cython-0.28.1-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl.

File metadata

File hashes

Hashes for Cython-0.28.1-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
Algorithm Hash digest
SHA256 26196ff8fe00e7c4c5815a310c368edfc1a1c8a3c90ac9220435d1b01e795cf7
MD5 f7859e98bfa89044b97e44dcf364978f
BLAKE2b-256 cafcb0e0d28ae6444d9f8dbe646cedbe3f16ef61d487c1bc71578d6b2c68da79

See more details on using hashes here.

File details

Details for the file Cython-0.28.1-cp26-cp26mu-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for Cython-0.28.1-cp26-cp26mu-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 d08f5dd2fbf7d1506c9d986a8352b2423170002ddb635b184d2a916d2b5df0d6
MD5 f8771011a2e9ae805a4ee9c5e29169db
BLAKE2b-256 a4e7a549709888987c636316ef39574d742024f1de804f79af7267c8ab26f849

See more details on using hashes here.

File details

Details for the file Cython-0.28.1-cp26-cp26mu-manylinux1_i686.whl.

File metadata

File hashes

Hashes for Cython-0.28.1-cp26-cp26mu-manylinux1_i686.whl
Algorithm Hash digest
SHA256 e27e12834ac315c7d67ca697a325d42ff8395e9b82fb62c8665bb583eb0df589
MD5 ee0a55b0b963bb070adc61646fa775c0
BLAKE2b-256 4740fb1fa692d0da48a0218f36e6c2701f0f05189d86bfb4a184a90ac7f73310

See more details on using hashes here.

File details

Details for the file Cython-0.28.1-cp26-cp26m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for Cython-0.28.1-cp26-cp26m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 330c95c03e39835976d1410f5fa877b75fcc5c50dc146d4c02377fc719b1f8c9
MD5 71af1d6e87109210784ea67d2f3cd93a
BLAKE2b-256 9a32b9cd239999880a0a05b641430f0c26394c8ee3617aaa6d30c853a2ed61b2

See more details on using hashes here.

File details

Details for the file Cython-0.28.1-cp26-cp26m-manylinux1_i686.whl.

File metadata

File hashes

Hashes for Cython-0.28.1-cp26-cp26m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 7cdd5303121024269610236876d9f4beb6a909a1ea5d7bc48e7bbf5d8774a3f2
MD5 89c63658dae4e3b1fadb5f2062c6cf67
BLAKE2b-256 bd40ccb9988acbb3bf5fd8cb2689d5645c1209609f42f0bfff59d963fbd3352a

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