Skip to main content

Reliable low-latency audio playback and recording

Project description

Goal: Reliable low-latency audio playback and recording with Python, using PortAudio via the sounddevice module.

The audio callback is implemented in C (and compiled with the help of CFFI) and doesn’t invoke the Python interpreter, therefore avoiding waiting for things like garbage collection and the GIL.

All PortAudio platforms and host APIs are supported. Runs on any Python version where CFFI is available.

Online documentation

https://python-rtmixer.readthedocs.io/

Source code repository

https://github.com/spatialaudio/python-rtmixer

Somewhat similar projects

Project details


Download files

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

Source Distribution

rtmixer-0.1.7.tar.gz (21.2 kB view details)

Uploaded Source

Built Distributions

rtmixer-0.1.7-pp310-pypy310_pp73-win_amd64.whl (13.9 kB view details)

Uploaded PyPy Windows x86-64

rtmixer-0.1.7-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.5 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

rtmixer-0.1.7-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (13.2 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

rtmixer-0.1.7-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (12.8 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

rtmixer-0.1.7-pp310-pypy310_pp73-macosx_11_0_arm64.whl (10.9 kB view details)

Uploaded PyPy macOS 11.0+ ARM64

rtmixer-0.1.7-pp310-pypy310_pp73-macosx_10_15_x86_64.whl (11.0 kB view details)

Uploaded PyPy macOS 10.15+ x86-64

rtmixer-0.1.7-pp39-pypy39_pp73-win_amd64.whl (13.9 kB view details)

Uploaded PyPy Windows x86-64

rtmixer-0.1.7-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.5 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

rtmixer-0.1.7-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (13.2 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

rtmixer-0.1.7-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (12.8 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

rtmixer-0.1.7-pp39-pypy39_pp73-macosx_11_0_arm64.whl (10.9 kB view details)

Uploaded PyPy macOS 11.0+ ARM64

rtmixer-0.1.7-pp39-pypy39_pp73-macosx_10_15_x86_64.whl (11.0 kB view details)

Uploaded PyPy macOS 10.15+ x86-64

rtmixer-0.1.7-pp38-pypy38_pp73-win_amd64.whl (13.9 kB view details)

Uploaded PyPy Windows x86-64

rtmixer-0.1.7-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.5 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

rtmixer-0.1.7-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (13.2 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

rtmixer-0.1.7-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (12.8 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

rtmixer-0.1.7-pp38-pypy38_pp73-macosx_11_0_arm64.whl (10.9 kB view details)

Uploaded PyPy macOS 11.0+ ARM64

rtmixer-0.1.7-pp38-pypy38_pp73-macosx_10_9_x86_64.whl (10.8 kB view details)

Uploaded PyPy macOS 10.9+ x86-64

rtmixer-0.1.7-cp38-abi3-win_amd64.whl (17.5 kB view details)

Uploaded CPython 3.8+ Windows x86-64

rtmixer-0.1.7-cp38-abi3-musllinux_1_2_x86_64.whl (39.5 kB view details)

Uploaded CPython 3.8+ musllinux: musl 1.2+ x86-64

rtmixer-0.1.7-cp38-abi3-musllinux_1_2_i686.whl (37.4 kB view details)

Uploaded CPython 3.8+ musllinux: musl 1.2+ i686

rtmixer-0.1.7-cp38-abi3-musllinux_1_2_aarch64.whl (39.5 kB view details)

Uploaded CPython 3.8+ musllinux: musl 1.2+ ARM64

rtmixer-0.1.7-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (39.7 kB view details)

Uploaded CPython 3.8+ manylinux: glibc 2.17+ x86-64

rtmixer-0.1.7-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (39.6 kB view details)

Uploaded CPython 3.8+ manylinux: glibc 2.17+ ARM64

rtmixer-0.1.7-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (36.7 kB view details)

Uploaded CPython 3.8+ manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

rtmixer-0.1.7-cp38-abi3-macosx_11_0_arm64.whl (14.9 kB view details)

Uploaded CPython 3.8+ macOS 11.0+ ARM64

rtmixer-0.1.7-cp38-abi3-macosx_10_9_x86_64.whl (15.2 kB view details)

Uploaded CPython 3.8+ macOS 10.9+ x86-64

File details

Details for the file rtmixer-0.1.7.tar.gz.

File metadata

  • Download URL: rtmixer-0.1.7.tar.gz
  • Upload date:
  • Size: 21.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for rtmixer-0.1.7.tar.gz
Algorithm Hash digest
SHA256 4427855f76b86d39f1238dfd5b1955378ace464e405c47da1089bcae65884e1c
MD5 e732340f24465ed9fc1bc02e10997b26
BLAKE2b-256 e6e369c3b6620ba84cd0faa420c28d6b9ad01d2b59e19dbe91c20ff9301fae5f

See more details on using hashes here.

File details

Details for the file rtmixer-0.1.7-pp310-pypy310_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for rtmixer-0.1.7-pp310-pypy310_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 13e2607a35f414a7ca3cfbcb4829aed3a3ae10b440004d6f4c7e4b5a2bb927cd
MD5 a20d6779f7cdafc837677f0ec49dc9bf
BLAKE2b-256 da4d9c810d4a383f3f704cf561d1b31d8e3474c52d971a37fc0c4939ee01142f

See more details on using hashes here.

File details

Details for the file rtmixer-0.1.7-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rtmixer-0.1.7-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5ae10a4b22d74898e0f3bab2c9a0f318a57f08236d9093bcca549ada777c1d6a
MD5 cd4e1859e6a8e87c1ab60b027f8d86c1
BLAKE2b-256 84e0364fb1b45b522a6eb6fd12e29bb39ff62ab88083b9794daa4082cb001a65

See more details on using hashes here.

File details

Details for the file rtmixer-0.1.7-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rtmixer-0.1.7-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 10d60e3b80e2434accb95986d2f2ed772894c4c0235d706b131d0e0e24372fe6
MD5 f24b30dd882fd9ff55ed86aec9926872
BLAKE2b-256 8e3ba62cab74fe1d854a6c0301f153872dca60190f1ea52ae6ce457456d284ab

See more details on using hashes here.

File details

Details for the file rtmixer-0.1.7-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for rtmixer-0.1.7-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 786df51b00317cd0e507153bad1b788e219f124254a69bb86131cbeec00355ad
MD5 3c908ca01c558c727be380d580ded891
BLAKE2b-256 afd385087e7ee13727dc907c230b127fd557492340d20b12e0cea1939bdce229

See more details on using hashes here.

File details

Details for the file rtmixer-0.1.7-pp310-pypy310_pp73-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rtmixer-0.1.7-pp310-pypy310_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a8f862eef377deaa5872c9e781dde8b6e3bf1f3ebd371c284565d2f2b76cc14f
MD5 6ee3d061587838c79538770b3c15a271
BLAKE2b-256 4689ec990a2d242679ae760711edc97f93bf2d8b4e4a5af15961bfa268e43f1f

See more details on using hashes here.

File details

Details for the file rtmixer-0.1.7-pp310-pypy310_pp73-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for rtmixer-0.1.7-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 377ed9be72a759069b0379f3481a15d0908eb55f9de8a2d9ffcdec530c94bcf7
MD5 78019210dd14cb4ac685d3593b2043da
BLAKE2b-256 0bbc4cf19d15126e32f488baabb7ed601bd4c1b6704135a3bb92fa5787c0ac43

See more details on using hashes here.

File details

Details for the file rtmixer-0.1.7-pp39-pypy39_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for rtmixer-0.1.7-pp39-pypy39_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 25307405c02c2387701f537e3f864b2b5459bd26dac6431ad871b12680ce763e
MD5 e57b515c6fdf5281eefd10a37ecfeded
BLAKE2b-256 62cee8f7c8293bec4040d5b560cfb6284fa4349ba5386b4074683ea6aafacac0

See more details on using hashes here.

File details

Details for the file rtmixer-0.1.7-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rtmixer-0.1.7-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 76391b91bd74118803a7174d307f6b269a0072b03e81231e9abba5278f1bdc10
MD5 ffa2695cf581ab3b94da591a7b270eeb
BLAKE2b-256 57c83077881d8c4f1fa361a03b8b3bf5d594b3215275bcd241d22a074cdacbaf

See more details on using hashes here.

File details

Details for the file rtmixer-0.1.7-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rtmixer-0.1.7-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ca37e66f2ad8b31e98c502cf25f6a1e3de47925937a9f7982353ad709a07ff8c
MD5 57fd93661643ced80a378e832b8e7fa7
BLAKE2b-256 814bb73d22173f4168dd22d90865bbcbc0c075080e15c77b1a7a4ad85a985338

See more details on using hashes here.

File details

Details for the file rtmixer-0.1.7-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for rtmixer-0.1.7-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 6b9952441ae027bf14efeb33a3b94870102688c2854815afdb50c0aebdde901b
MD5 f4f632a9047c18fee041eb2e51556cfe
BLAKE2b-256 34455122705dc2bf3da98e0a16c7e501db14ba59c5920c3a7e83a16a953c1ce9

See more details on using hashes here.

File details

Details for the file rtmixer-0.1.7-pp39-pypy39_pp73-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rtmixer-0.1.7-pp39-pypy39_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c6e23ed93611a7b8b5cb97355d4137f15ba0c4fa3068212530f6d98fbde243f6
MD5 bf4f02ea22c4aa3da4aaa3a2f184fbd7
BLAKE2b-256 4c31405f260d236d0c1589cd891a2bbe0a61a0334a7e0b0e586c441d83881abc

See more details on using hashes here.

File details

Details for the file rtmixer-0.1.7-pp39-pypy39_pp73-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for rtmixer-0.1.7-pp39-pypy39_pp73-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 84492708e319d8155fade912a10162c1cc4f41950cd3ba11755560410f6d33f1
MD5 7c33f856f88204aec4650dec5a3410d4
BLAKE2b-256 a3c515b6aa8f1feca8e9a6def58326193cfbfdeb78e968ada91f52bb6371dde6

See more details on using hashes here.

File details

Details for the file rtmixer-0.1.7-pp38-pypy38_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for rtmixer-0.1.7-pp38-pypy38_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 a1b522b771835c0d036ab7733979eee0a78e1bfc2a237cd1e17d97c50d55058d
MD5 86e19474505ff0f60bd7a08eed71b866
BLAKE2b-256 d59e412d5d255049867fac96d1d8ab28b5d6c1fcfc3297a4e2beb7b68825b033

See more details on using hashes here.

File details

Details for the file rtmixer-0.1.7-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rtmixer-0.1.7-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 79f87a5401511b155c1c9871b48b81cd215d2f2d13bf8afbc92f1dff55bfff70
MD5 2bb8e560bb44d7689f66adcf7685b24e
BLAKE2b-256 e47264eb646b94449db89904e513066f2585d0f11e43a89e898b4680f07503e6

See more details on using hashes here.

File details

Details for the file rtmixer-0.1.7-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rtmixer-0.1.7-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f8507c4d84e6b4f93013a3edb65b11f16f9ec945850a95ee4907c8f4ea2236f7
MD5 fba8954ac235d6745c9d12cad4c3c03e
BLAKE2b-256 319d638dca22607613efc4bd7da55dd0fb82f38a626faeb20d24681df2306d98

See more details on using hashes here.

File details

Details for the file rtmixer-0.1.7-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for rtmixer-0.1.7-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 c510e8ccd79e000269164202263b46efe2faea61ed23eab6afd011b99d5dfb3f
MD5 ff01ce8a8e493e2ca12b5f38577028f0
BLAKE2b-256 ecced509628477c2f55a6da603f52538199ef42afc3496257d46c8c0c5353f11

See more details on using hashes here.

File details

Details for the file rtmixer-0.1.7-pp38-pypy38_pp73-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rtmixer-0.1.7-pp38-pypy38_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5239de24144bca350abe34f150734bbf238b103965f03866b08e4786a35a6410
MD5 16d8d6a7dce1924c803dc24d75c342ed
BLAKE2b-256 11ccc1a480002772435ec4c4502bc0189eb99c330504aeba32df9487a72f0acc

See more details on using hashes here.

File details

Details for the file rtmixer-0.1.7-pp38-pypy38_pp73-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for rtmixer-0.1.7-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c458d6af700a1b4cfd9bd655793c2bee81837f74b56e594527d796b8fd105b08
MD5 d616c57e06c1318c57cb4aed03022e23
BLAKE2b-256 e77f0e7e0e027fc531acf71583bc92d9d75a00a9e1baa3d693f91f2bbaaaf4df

See more details on using hashes here.

File details

Details for the file rtmixer-0.1.7-cp38-abi3-win_amd64.whl.

File metadata

  • Download URL: rtmixer-0.1.7-cp38-abi3-win_amd64.whl
  • Upload date:
  • Size: 17.5 kB
  • Tags: CPython 3.8+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for rtmixer-0.1.7-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 e734b1330e58deb7f91020261d8f9e8032dd5123429506578f67960b05a2264a
MD5 4064ca24a47b4342045d4cb85beca51d
BLAKE2b-256 8561abbf2d8c5406580e3a3f4646a42b914bfd6036b900a22f88214081b287fc

See more details on using hashes here.

File details

Details for the file rtmixer-0.1.7-cp38-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for rtmixer-0.1.7-cp38-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7407db948b52205f7f2fe79bfbbc1454cb2fd53201f2744cc899a743332881f2
MD5 2666c8cb72390fccc535a8d868e8463b
BLAKE2b-256 e138f47be5da2f9ff0ecb28880f1ae28eeb44f75ff6f1216073d2442930e5be6

See more details on using hashes here.

File details

Details for the file rtmixer-0.1.7-cp38-abi3-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for rtmixer-0.1.7-cp38-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 d66bb004ec20d1f0aa648eb340d9e2ae8c8b8fcd3ba2b4b40efbf019f2b3a03a
MD5 8d55d19f78c2261cb00ae7d835e8205e
BLAKE2b-256 4ba46232f10baf309cba29a9882a15ce5807b5acbe173d8eccbb89f9894124ea

See more details on using hashes here.

File details

Details for the file rtmixer-0.1.7-cp38-abi3-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for rtmixer-0.1.7-cp38-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 5e9a833e4c58f4dd16da1ec4c11329a3f0f577b05f336c02490ef319c284d1be
MD5 9c8bd6ded48a4c60b5299bbb5f6450de
BLAKE2b-256 fdcae9f14f064ed63d72fcb8f0c8c2494629d7acbf4c900fbb851a30e202e84c

See more details on using hashes here.

File details

Details for the file rtmixer-0.1.7-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rtmixer-0.1.7-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5f65b19ce4767f8d75332e93de023abd419755c6730b85009b17236adf0cc602
MD5 242a918158d2429842cc0185edbdd046
BLAKE2b-256 502ff12cbc160a8f4ce0510446f1b73c5cc743b985d52cb9a56f38840796c03b

See more details on using hashes here.

File details

Details for the file rtmixer-0.1.7-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rtmixer-0.1.7-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b81bad76ead007227be87d1498679e9230786518a3739230edbe58905b02201c
MD5 c7fe1f5276272f57a3bd0183f4c89db3
BLAKE2b-256 e2f5f61d06cf6c9a7573177dcb7bc4180fe66bc00ae719f593f903e1fb076d42

See more details on using hashes here.

File details

Details for the file rtmixer-0.1.7-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for rtmixer-0.1.7-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 91962552354f71b965fe71ec33907ee50041618abd6d24b781cfe283d94e4648
MD5 e242832c530f364827fa413e2a802c9d
BLAKE2b-256 fcecb997ee3e45c56cb78fcfd2e6ac888a276bc8ff376e1c8d696449bf9e5d7e

See more details on using hashes here.

File details

Details for the file rtmixer-0.1.7-cp38-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rtmixer-0.1.7-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b9fee08ea57259716d6cda0c1afa20e42f86d45af6a4c3a227f9638b508c19a4
MD5 da437a52789b00f3db404213a3d0b20e
BLAKE2b-256 280e79d30df0c494b41640172eeb0598b86760e34562c3dab62bd15481401d2b

See more details on using hashes here.

File details

Details for the file rtmixer-0.1.7-cp38-abi3-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for rtmixer-0.1.7-cp38-abi3-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ff2348bf949286335ca4d377165dee559180598a3bf45445a14be429a4e19b51
MD5 57837816b5d4a1eec7ae815e30892dfe
BLAKE2b-256 22aa62c3b8873eb83f5cc13ad089afa182e78ca84dbf522c9e4df97f6632e64d

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