Skip to main content



Build Wheels Test Linux Test Windows Test MacOS PyPI version

Getting Started {#GettingStarted}

Cross-platform Python bindings for Helios 3D plant simulation library.

PyHelios provides a Python interface to the powerful Helios C++ library for 3D physical simulation of plant and environmental systems. It enables plant modeling, geometry manipulation, and biophysical simulations including GPU-accelerated radiation transfer, photosynthesis, and plant architecture modeling.

📖 Complete Documentation

⚠️Note that this is a work in progress. Not all Helios functionality has been implemented in PyHelios ⚠️

⚠️Help make PyHelios better by reporting issues: https://github.com/PlantSimulationLab/PyHelios/issues ⚠️

See the Helios C++ documentation for a more in-depth description of Helios: https://baileylab.ucdavis.edu/software/helios

Quick Start

Installation

Requirements: Python 3.10 or later (pre-built wheels available for Python 3.10–3.14)

Easy Install (Recommended):

pip install pyhelios3d

This installs pre-built PyHelios with platform-appropriate plugins:

  • macOS (Apple Silicon): All plugins including radiation via Vulkan backend
  • macOS (Intel): Pre-built wheels not available - please build from source
  • Windows/Linux: All plugins with GPU acceleration via OptiX backend (NVIDIA GPUs)

PyHelios automatically selects the best execution mode:

  • Plugins with GPU backends (radiation): Require GPU - Vulkan (all platforms) or OptiX (NVIDIA)
  • Plugins with CPU/GPU modes (energybalance): Work on all platforms, GPU acceleration optional
  • CPU-only plugins: Work on all platforms without special hardware

Note for Intel Mac Users: Due to GitHub Actions infrastructure limitations, pre-built wheels are only available for Apple Silicon Macs. Intel Mac users must build PyHelios from source following the macOS build instructions below.

Build from Source {#build-from-source}

If you need to customize plugins or build from source:

Windows {#windows}

Prerequisites:

  • Visual Studio 2019+ or Build Tools for Visual Studio
  • Python 3.10+
# Clone repository
git clone --recursive https://github.com/PlantSimulationLab/PyHelios.git
cd PyHelios/

# Build native libraries (optional - pre-built binaries included)
./build_scripts/build_helios

# Install PyHelios dependencies
pip install -e .

macOS {#macos}

Prerequisites:

  • Xcode command line tools
  • Python 3.10+
# Install Xcode command line tools
xcode-select --install

# Clone repository
git clone --recursive https://github.com/PlantSimulationLab/PyHelios.git
cd PyHelios/

# Install c++ dependencies and build native libraries
source helios-core/utilities/dependencies.sh
./build_scripts/build_helios

# Install PyHelios dependencies
pip install -e .

Linux (Ubuntu/Debian) {#linux}

Prerequisites:

  • Build essentials
  • CMake
  • Python 3.10+
# Clone repository
git clone --recursive https://github.com/PlantSimulationLab/PyHelios.git
cd PyHelios/

# Install c++ dependencies and build native libraries
source helios-core/utilities/dependencies.sh
./build_scripts/build_helios

# Install PyHelios dependencies
pip install -e .

GPU Features Setup (Optional)

PyHelios plugins have three types of GPU support:

GPU-Required Plugins:

  • Radiation Model: GPU-accelerated ray tracing via Vulkan (all GPUs) or OptiX (NVIDIA)
  • Aerial LiDAR: GPU-accelerated LiDAR simulation (CUDA)

GPU-Optional Plugins (work with or without GPU):

  • Energy Balance (v1.3.61+): Automatic mode selection - GPU (CUDA) → OpenMP (parallel CPU) → Serial CPU
    • CPU mode recommended for most workloads without GPU

CPU-Only Plugins (no GPU needed):

  • All other plugins (PlantArchitecture, Photosynthesis, SolarPosition, etc.)

For GPU Acceleration (optional), ensure you have at least one:

  • Vulkan loader library (macOS/Linux only; no extra packages on Windows)
  • OR for NVIDIA-optimized path: CUDA 12.0+ with driver >= 560 (OptiX 8.1) or CUDA 9.0+ with driver < 560 (OptiX 6.5)

The radiation plugin auto-detects the best available backend at runtime (OptiX 8 -> OptiX 6 -> Vulkan).

Verification:

vulkaninfo  # Should show Vulkan device information
# OR for NVIDIA:
nvidia-smi  # Should show GPU information

Testing GPU Features:

from pyhelios import Context, RadiationModel, EnergyBalanceModel

context = Context()

# Test GPU-required plugin (radiation)
try:
    radiation = RadiationModel(context)
    print("GPU radiation modeling available!")
except RuntimeError as e:
    print(f"Radiation requires GPU: {e}")

# Test GPU-optional plugin (energybalance)
with EnergyBalanceModel(context) as energy:
    if energy.isGPUAccelerationEnabled():
        print("EnergyBalance using GPU acceleration")
    else:
        print("EnergyBalance using CPU mode (OpenMP or serial)")

First Example

from pyhelios import Context
from pyhelios.types import *

# Create simulation context
context = Context()

# Add a patch primitive
center = vec3(2, 3, 4)
size = vec2(1, 1)
color = RGBcolor(0.25, 0.25, 0.25)
patch_uuid = context.addPatch(center=center, size=size, color=color)

print(f"Created patch: {patch_uuid}")

Documentation

Section Description
Getting Started Installation, setup, and first steps
User Guide Core concepts, API reference, and examples
Cross-Platform Platform-specific usage and deployment
Plugin System Available plugins and configuration

Key Features

  • Cross-platform: Windows, macOS, and Linux support
  • Plant modeling: 20+ plant species models in the plant architecture plug-in
  • GPU acceleration: Radiation simulation via Vulkan or OptiX backends
  • 3D visualization: OpenGL-based real-time rendering

Updating PyHelios

PyPI Installation

If you installed via pip, simply upgrade to the latest version:

pip install --upgrade pyhelios3d

Source Installation

If you built PyHelios from source, update with the latest changes:

# Update main repository and submodules recursively
git pull --recurse-submodules

# Alternative: Update main repo first, then submodules
git pull
git submodule update --init --recursive

# Rebuild native libraries after updates (recommended)
./build_scripts/build_helios --clean

# Reinstall PyHelios
pip install -e .

Important: Always use --recurse-submodules or manually update submodules when pulling updates, as PyHelios depends on the helios-core submodule for C++ functionality.

Quick Commands

# Test installation (uses subprocess isolation for robust testing)
pytest

# Check plugin status  
python -m pyhelios.plugins status

# Interactive plugin selection
./build_scripts/build_helios --interactive

Support


Note: This project is in active development. The API may change quickly - see docs/CHANGELOG.md for updates.

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.

pyhelios3d-0.1.27-cp314-cp314-win_amd64.whl (53.2 MB view details)

Uploaded CPython 3.14Windows x86-64

pyhelios3d-0.1.27-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (56.4 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

pyhelios3d-0.1.27-cp314-cp314-macosx_14_0_arm64.whl (62.7 MB view details)

Uploaded CPython 3.14macOS 14.0+ ARM64

pyhelios3d-0.1.27-cp313-cp313-win_amd64.whl (52.9 MB view details)

Uploaded CPython 3.13Windows x86-64

pyhelios3d-0.1.27-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (56.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

pyhelios3d-0.1.27-cp313-cp313-macosx_14_0_arm64.whl (62.7 MB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

pyhelios3d-0.1.27-cp312-cp312-win_amd64.whl (52.9 MB view details)

Uploaded CPython 3.12Windows x86-64

pyhelios3d-0.1.27-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (56.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

pyhelios3d-0.1.27-cp312-cp312-macosx_14_0_arm64.whl (62.6 MB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

pyhelios3d-0.1.27-cp311-cp311-win_amd64.whl (52.9 MB view details)

Uploaded CPython 3.11Windows x86-64

pyhelios3d-0.1.27-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (56.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

pyhelios3d-0.1.27-cp311-cp311-macosx_14_0_arm64.whl (62.6 MB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

pyhelios3d-0.1.27-cp310-cp310-win_amd64.whl (52.9 MB view details)

Uploaded CPython 3.10Windows x86-64

pyhelios3d-0.1.27-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (56.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

pyhelios3d-0.1.27-cp310-cp310-macosx_14_0_arm64.whl (62.6 MB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

File details

Details for the file pyhelios3d-0.1.27-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: pyhelios3d-0.1.27-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 53.2 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for pyhelios3d-0.1.27-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 7e8ed23cd660d861fc992169b6e2a21ab4c16468d0642b07231b0bec6c24adcd
MD5 244777d9587423c4cd2c87e76feebdcb
BLAKE2b-256 48cc6a6f4fbb480d13bf3154aee8663e93bb7794c16c668bf0a7a7fa6e98b22c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyhelios3d-0.1.27-cp314-cp314-win_amd64.whl:

Publisher: build-wheels.yml on PlantSimulationLab/PyHelios

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyhelios3d-0.1.27-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pyhelios3d-0.1.27-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 eb4f6c718d692e93c45194844c10a27eccafcf8ca34055a738419b5357502a8d
MD5 76d13f376d91472dc0718023dac54269
BLAKE2b-256 e3ef44ca246e852bc198d2090c84c87e0bc0e1108fece3b0b749099dbd066803

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyhelios3d-0.1.27-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:

Publisher: build-wheels.yml on PlantSimulationLab/PyHelios

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyhelios3d-0.1.27-cp314-cp314-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pyhelios3d-0.1.27-cp314-cp314-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 cad51fbb7aaa30452530b331c25147e97016ae400bde875326fc8a3aa1482f56
MD5 7078887cb343396d729f7793be68c25d
BLAKE2b-256 090540c4d3a1fe69909f0cd24d1c8410f933de12c9270e129c4f8c350a4131f1

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyhelios3d-0.1.27-cp314-cp314-macosx_14_0_arm64.whl:

Publisher: build-wheels.yml on PlantSimulationLab/PyHelios

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyhelios3d-0.1.27-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: pyhelios3d-0.1.27-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 52.9 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for pyhelios3d-0.1.27-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 f01995005f0cb5824ec4e8acd9e6650288c523f83458c89aadcbe5ef69dd1644
MD5 c6f43e4918aa47e6754456891699b49c
BLAKE2b-256 1e04affbd5201921e9941488f16e261f59754ab85bb936449b003e8300c72387

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyhelios3d-0.1.27-cp313-cp313-win_amd64.whl:

Publisher: build-wheels.yml on PlantSimulationLab/PyHelios

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyhelios3d-0.1.27-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pyhelios3d-0.1.27-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 b980067e094d2db69e43233773ad78b59570530f08aa4b057a5072ddeb2d4819
MD5 1f62be2de8b9204cf675d3893df9fbc1
BLAKE2b-256 5e3e1c3bd183889aa8cb2441f125d3940c95f725dfe2ada1d757d58595f1d9c8

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyhelios3d-0.1.27-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:

Publisher: build-wheels.yml on PlantSimulationLab/PyHelios

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyhelios3d-0.1.27-cp313-cp313-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pyhelios3d-0.1.27-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 323418ad269747993811746b77417d8d4385557b3b6cc4018f33e4363561c8fe
MD5 16cd4e547dce5a51489b5b27b3a97415
BLAKE2b-256 9b7bc2223fd613d147c95e110145bd3972aae6985ffc94fab686c9a61aee5e5d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyhelios3d-0.1.27-cp313-cp313-macosx_14_0_arm64.whl:

Publisher: build-wheels.yml on PlantSimulationLab/PyHelios

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyhelios3d-0.1.27-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: pyhelios3d-0.1.27-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 52.9 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for pyhelios3d-0.1.27-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 f02fff7b0a1b311da9f981cc10190d95db7c97761564112457a001674007c093
MD5 1df99017846aae6d4a6b5e8e66650ba8
BLAKE2b-256 5fb686b3a87b78ad701033924d0cf114b461709cf43d0442cacb630d5e58c2e4

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyhelios3d-0.1.27-cp312-cp312-win_amd64.whl:

Publisher: build-wheels.yml on PlantSimulationLab/PyHelios

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyhelios3d-0.1.27-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pyhelios3d-0.1.27-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 9d3b942dea232054f675daf765a958d1d222736bf73fc40f6f91b2a5c1cf8c60
MD5 e351f40d5c1054b306a7b5f7a315facf
BLAKE2b-256 569644e4ad6992b6f7f15a5caecba6e8825459498e9374b037d3c653f7ab1245

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyhelios3d-0.1.27-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:

Publisher: build-wheels.yml on PlantSimulationLab/PyHelios

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyhelios3d-0.1.27-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pyhelios3d-0.1.27-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 3414d21c6e5ca135c1d471b6a8e43669f7ea63d8aef198a24216c49e8215f91a
MD5 802d2f34873f40e77fe43ef81bd96bfd
BLAKE2b-256 f61bf20c447fa12e03d9dcb914c590746a536f7d27066ac89b16fa0fabc82db1

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyhelios3d-0.1.27-cp312-cp312-macosx_14_0_arm64.whl:

Publisher: build-wheels.yml on PlantSimulationLab/PyHelios

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyhelios3d-0.1.27-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: pyhelios3d-0.1.27-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 52.9 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for pyhelios3d-0.1.27-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 1dc2edd5e1b1d52d5ca21d23e3ad1794f15f65603300b2de461075f9c995fe64
MD5 c93495569d4e9a44777e6cb213038e37
BLAKE2b-256 482b15eceef66c8adb800a2a90471bb344c211ab3768a2498ebce8507b74e8bc

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyhelios3d-0.1.27-cp311-cp311-win_amd64.whl:

Publisher: build-wheels.yml on PlantSimulationLab/PyHelios

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyhelios3d-0.1.27-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pyhelios3d-0.1.27-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 8475e31054cbd45fae01c76b2431f6afa1f039709ae8cc5947a29fbfe090d470
MD5 21f570c5208c18e165d82bcb2bb194e3
BLAKE2b-256 f269b2e2541e3c646706f1573bdba40515fd45c5c62eebf6b107969ee19472a2

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyhelios3d-0.1.27-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:

Publisher: build-wheels.yml on PlantSimulationLab/PyHelios

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyhelios3d-0.1.27-cp311-cp311-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pyhelios3d-0.1.27-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 ff4f4d503d198581c54c78be32453ba719c440fe1593a88676936fb4b4dbd60e
MD5 eef0c567038719d9b7b7bb07ea412d5e
BLAKE2b-256 21cb12188be5ac9f47f8a6046ef02d018d9f31485fedf21e4ae6b3378d2ee248

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyhelios3d-0.1.27-cp311-cp311-macosx_14_0_arm64.whl:

Publisher: build-wheels.yml on PlantSimulationLab/PyHelios

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyhelios3d-0.1.27-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: pyhelios3d-0.1.27-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 52.9 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for pyhelios3d-0.1.27-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 28b90bb77de0c51715536802fc23c5319ae5d9ba0ac579e8fd1bb6f227307c7e
MD5 642cec16151482b88f201af38df71201
BLAKE2b-256 622ef77ba41a3109b3873cc995049d528c85d601ad3c9f5e1b69947ff6aea54c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyhelios3d-0.1.27-cp310-cp310-win_amd64.whl:

Publisher: build-wheels.yml on PlantSimulationLab/PyHelios

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyhelios3d-0.1.27-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pyhelios3d-0.1.27-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 3496225ee8ba705c8a8f1f4d13e948ca65b9d0076d591fed7081a22b6756d244
MD5 8232cc6f9914b805ad835af00c95aca4
BLAKE2b-256 b0c7927f7fef99cedc568a24c179a19dbc618b272bee66c8e57926c5d28cb69b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyhelios3d-0.1.27-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:

Publisher: build-wheels.yml on PlantSimulationLab/PyHelios

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyhelios3d-0.1.27-cp310-cp310-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pyhelios3d-0.1.27-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 4e8f5ba0fb5894c30f06cc2e772a8822772fefecd28abd8f8adc37f0fddbd8e4
MD5 e2a27c4eab8c7f7ea2c44a820ff6bfe2
BLAKE2b-256 ef6e2fbbc81852a3d736f3e460a3d36fc5438b55c60f8a2d5762ffa1423777b8

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyhelios3d-0.1.27-cp310-cp310-macosx_14_0_arm64.whl:

Publisher: build-wheels.yml on PlantSimulationLab/PyHelios

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.1.28

15 files

This release

0.1.27 This release

15 files

0.1.26

15 files

0.1.25

15 files

0.1.24

15 files

0.1.23

15 files

0.1.22

15 files

0.1.21

15 files

0.1.20

15 files

0.1.19

15 files

0.1.18

15 files

0.1.17

15 files

Supported by

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