Skip to main content

East Data Science

Data science and ML platform functions for the East language

TypeScript: AGPL-3.0 Python: BSL 1.1 Node Version

East Data Science provides machine learning and optimization platform functions for the East language.

Installation

npm install @elaraai/east-py-datascience @elaraai/east

Python Optional Dependencies

Each module has its own optional Python dependencies to avoid installing unnecessary packages. Install only the extras you need:

# Single extra
pip install "east-py-datascience[scipy]"

# Multiple extras
pip install "east-py-datascience[scipy,sklearn,xgboost]"

# All extras
pip install "east-py-datascience[all]"

When using a git dependency in pyproject.toml:

"east-py-datascience[scipy] @ git+https://github.com/elaraai/east-workspace@main#subdirectory=libs/east-py/packages/east-py-datascience"
Module Extra Python Packages
MADS mads PyNomadBBO
Optuna optuna optuna
SimAnneal simanneal simanneal
Scipy scipy scipy, cloudpickle
Optimization (none) (core only — numpy)
GoogleOr google-or ortools
Sklearn sklearn scikit-learn, skl2onnx, onnxruntime, cloudpickle
XGBoost xgboost xgboost, cloudpickle
LightGBM lightgbm lightgbm, cloudpickle
NGBoost ngboost ngboost, cloudpickle
Torch torch torch, cloudpickle
GP gp scikit-learn, cloudpickle
Lightning lightning torch, pytorch-lightning, cloudpickle
Shap shap shap, cloudpickle
MAPIE mapie mapie, cloudpickle
ALNS alns alns
PyMC pymc pymc, cloudpickle
Simulation (none) (core only — numpy)
Causal causal dowhy, econml, PyALE, pandas, matplotlib, scikit-learn, cloudpickle

Quick Start

import { East, FloatType, variant } from "@elaraai/east";
import { MADS } from "@elaraai/east-py-datascience";

// Define objective function: minimize sum of squares
const objective = East.function([MADS.Types.VectorType], FloatType, ($, x) => {
    const x0 = $.let(x.get(0n));
    const x1 = $.let(x.get(1n));
    return $.return(x0.multiply(x0).add(x1.multiply(x1)));
});

// Optimize
const optimize = East.function([], MADS.Types.ResultType, $ => {
    const x0 = $.let([0.5, 0.5]);
    const bounds = $.let({
        lower: [-1.0, -1.0],
        upper: [1.0, 1.0],
    });
    const config = $.let({
        max_bb_eval: variant('some', 100n),
        display_degree: variant('some', 0n),
        direction_type: variant('none', null),
        initial_mesh_size: variant('none', null),
        min_mesh_size: variant('none', null),
        seed: variant('some', 42n),
    });

    return $.return(MADS.optimize(objective, x0, bounds, variant('none', null), config));
});

Modules

Optimization

Module Description Use Cases
MADS Derivative-free blackbox optimization using NOMAD algorithm Functions without derivatives, expensive evaluations, noisy/discontinuous objectives
Optuna Bayesian optimization with TPE sampler Hyperparameter tuning, mixed-type parameters, efficient search with few evaluations
SimAnneal Simulated annealing for discrete optimization TSP, scheduling, subset selection, knapsack, assignment problems
Scipy Scientific optimization and curve fitting Gradient-based minimization, curve fitting, interpolation, statistics
Optimization Iterative coordinate descent optimization Parameter tuning, sequential optimization across parameter groups
GoogleOr Google OR-Tools constraint programming, routing, LP, and graph algorithms CP-SAT, vehicle routing (TSP/VRP), linear/mixed-integer programming, min-cost flow, max flow, assignment, sparse min-cost assignment

Machine Learning

Module Description Use Cases
Sklearn Core ML utilities from scikit-learn N-way splits, preprocessing (Standard/MinMax/RobustScaler), encoding (Label/Ordinal), metrics, GMM clustering, multi-target regression
XGBoost Gradient boosting with XGBoost Regression, classification, feature importance, fast training
LightGBM Fast gradient boosting with leaf-wise growth Large datasets, high cardinality features, faster than XGBoost on big data
NGBoost Natural gradient boosting with uncertainty Probabilistic predictions, confidence intervals, uncertainty quantification
Torch Neural networks with PyTorch MLP regression/classification, deep learning, custom architectures
Lightning PyTorch Lightning neural networks MLP, autoencoder, conv1d, sequential, transformer architectures
GP Gaussian Process regression Small datasets, uncertainty quantification, Bayesian optimization surrogate
MAPIE Conformal prediction intervals Prediction intervals, prediction sets, uncertainty quantification

Bayesian Inference

Module Description Use Cases
PyMC Bayesian inference with PyMC Bayesian linear regression, hierarchical models, multi-layer joint estimation, posterior analysis

Causal Inference

Module Description Use Cases
Causal One declarative causal experiment (Causal.experiment) over DoWhy / EconML / PyALE internals, plus Causal.designValidation (statsmodels power) Naive vs adjusted effect, confounder balance, propensity overlap, placebo/E-value robustness, and an honesty verdict (refuses when the data can't support an answer); and the real controlled-trial recipe that would confirm it — sample size, split, match-on categories, and a power curve

Simulation

Module Description Use Cases
Simulation Economic ontology simulation via DES Simulating economic resources, events, and processes; single deterministic runs, Monte Carlo trajectories

Explainability

Module Description Use Cases
Shap SHAP values for model interpretation Feature importance, model explanations, debugging predictions

Documentation

See USAGE.md for detailed API reference with examples.

Development

npm run build     # Compile TypeScript
npm run test      # Run test suite
npm run lint      # Check code quality

Claude Code plugin

The East ecosystem also ships a Claude Code plugin — East language skills, example search, and preemptive diagnostics for East code — installed separately from the elaraai marketplace:

# Inside Claude Code
/plugin marketplace add elaraai/east-workspace
/plugin install east@elaraai
# From a terminal
claude plugin marketplace add elaraai/east-workspace
claude plugin install east@elaraai

License

This package has different licenses for TypeScript and Python code:

TypeScript (type definitions): Dual AGPL-3.0 / Commercial

Python (runtime implementations): BSL 1.1 (Business Source License)

  • Non-production use (evaluation, testing, development) is free
  • Production use by or on behalf of for-profit entities requires a commercial license
  • Code becomes AGPL-3.0 four years after each release

See LICENSE.md for full details.

Commercial licensing: support@elara.ai

Ecosystem

  • East: Statically typed, expression-based language with serializable IR. Run portable logic across TypeScript, Python, C, and other runtimes.

    • @elaraai/east: Core language SDK with type system, expressions, and reference JS compiler
  • East Node: Node.js platform functions for I/O, databases, and system operations.

  • East C: C11 native runtime for executing East IR. Distributed via npm (launcher + per-platform optional dependencies) and as tarballs on each GitHub Release.

    • @elaraai/east-c-cli: npm launcher — installs the matching native binary as an optional dependency
    • east-c: Core runtime — type system, IR interpreter, builtins, serialization (Beast2, JSON, CSV, East text)
    • east-c-std: Console, FileSystem, Fetch, Crypto, Time, Path, Random
    • east-c-cli: CLI for running East IR programs natively
  • East Python: Python runtime, standard platform, I/O, and data-science platform functions. Published to PyPI.

    • east-py: Core Python runtime — type system, IR compiler, 212+ builtins, Cython-accelerated hot paths
    • east-py-std: Console, FileSystem, Fetch, Crypto, Time, Path, Random
    • east-py-io: SQLite, PostgreSQL, MySQL, MongoDB, Redis, S3, FTP, SFTP, XLSX, XML, compression
    • east-py-cli: CLI for running East IR programs in Python
    • east-py-datascience (PyPI) + @elaraai/east-py-datascience (npm): Optimization (MADS, Optuna, ALNS, GoogleOR), ML (XGBoost, LightGBM, NGBoost, PyTorch, Lightning, GP), Bayesian inference (PyMC), explainability (SHAP), conformal prediction (MAPIE)
  • East UI: Typed UI component definitions and React renderer, plus VS Code preview.

  • e3 — East Execution Engine: Durable execution engine for running East pipelines at scale. Git-like content-addressable storage, automatic memoization, reactive dataflow, real-time monitoring.

About Elara

East is developed by Elara AI Pty Ltd, an AI-powered platform that creates economic digital twins of businesses that optimize performance. Elara combines business objectives, decisions and data to help organizations make data-driven decisions across operations, purchasing, sales and customer engagement, and project and investment planning. East powers the computational layer of Elara solutions, enabling the expression of complex business logic and data in a simple, type-safe and portable language.


Developed by Elara AI Pty Ltd.


Developed by Elara AI Pty Ltd

Metadata

Release files for elaraai-east-py-datascience 1.0.95

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for elaraai-east-py-datascience 1.0.95
File Size Uploaded Provenance
elaraai_east_py_datascience-1.0.95.tar.gz 3.8 MB Without provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for elaraai-east-py-datascience 1.0.95
File
elaraai_east_py_datascience-1.0.95-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
elaraai_east_py_datascience-1.0.95-cp313-cp313-win32.whl CPython 3.13 CPython 3.13 Windows x86-32 Details
elaraai_east_py_datascience-1.0.95-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
elaraai_east_py_datascience-1.0.95-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
elaraai_east_py_datascience-1.0.95-cp313-cp313-macosx_10_13_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.13+ x86-64 Details
elaraai_east_py_datascience-1.0.95-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
elaraai_east_py_datascience-1.0.95-cp312-cp312-win32.whl CPython 3.12 CPython 3.12 Windows x86-32 Details
elaraai_east_py_datascience-1.0.95-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
elaraai_east_py_datascience-1.0.95-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
elaraai_east_py_datascience-1.0.95-cp312-cp312-macosx_10_13_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.13+ x86-64 Details
elaraai_east_py_datascience-1.0.95-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
elaraai_east_py_datascience-1.0.95-cp311-cp311-win32.whl CPython 3.11 CPython 3.11 Windows x86-32 Details
elaraai_east_py_datascience-1.0.95-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
elaraai_east_py_datascience-1.0.95-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
elaraai_east_py_datascience-1.0.95-cp311-cp311-macosx_10_9_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.9+ x86-64 Details

Total release size: 7.5 MB

Release files / elaraai_east_py_datascience-1.0.95.tar.gz

Download URL elaraai_east_py_datascience-1.0.95.tar.gz
Size 3.8 MB
Tags Source
SHA-256 checksum
How to use checksums
e5bb12e82995d21baf4b2fc1a4f5573b96d2065f602b9b166381a06fac0a2d25
BLAKE2b-256 checksum
How to use checksums
f70b36dad8df765c7ef102bf5c7e02123a739fea212c95393184b17e314118a3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / elaraai_east_py_datascience-1.0.95-cp313-cp313-win_amd64.whl

Download URL elaraai_east_py_datascience-1.0.95-cp313-cp313-win_amd64.whl
Size 245.3 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
748fe7a49ec78d93c8918bb179f87d77b05e1a13291423515f2d83274d80fedc
BLAKE2b-256 checksum
How to use checksums
e5c2922fbd1943ccc741797ef0c339161717ddf7965cd752155c1fe59020df27
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / elaraai_east_py_datascience-1.0.95-cp313-cp313-win32.whl

Download URL elaraai_east_py_datascience-1.0.95-cp313-cp313-win32.whl
Size 242.3 kB
Tags CPython 3.13 Windows x86-32
SHA-256 checksum
How to use checksums
5ba436cb0d4ecd2e17b7339b900bdf7920606ddf62a29cd26b4016120a85f253
BLAKE2b-256 checksum
How to use checksums
92069fd0152ce1fc7e262d367e54c739df3950a178cfcb42df285ca29ae07081
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / elaraai_east_py_datascience-1.0.95-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL elaraai_east_py_datascience-1.0.95-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 242.8 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
ac02836364b24de045b4273afde8c0de89d8ed8666bec2c7f28acadbf00ca959
BLAKE2b-256 checksum
How to use checksums
4b758f82215d8ecd72f252c45f55e085a660c0d3d9f6c678ab8cf4e215aff11a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / elaraai_east_py_datascience-1.0.95-cp313-cp313-macosx_11_0_arm64.whl

Download URL elaraai_east_py_datascience-1.0.95-cp313-cp313-macosx_11_0_arm64.whl
Size 240.8 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
3754f0ac5c5257b40630cb4465285acb492ef6518a974011bc7b276aaab1e18d
BLAKE2b-256 checksum
How to use checksums
94fcadb7bdddfedc8f23e7b6b36ab169d217eadf481786f4f014450a5b24c69e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / elaraai_east_py_datascience-1.0.95-cp313-cp313-macosx_10_13_x86_64.whl

Download URL elaraai_east_py_datascience-1.0.95-cp313-cp313-macosx_10_13_x86_64.whl
Size 241.5 kB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
44e1bb3b9c176259b4b7cedbc14b9a91e565d3a04bae2f1656293276ae637fcd
BLAKE2b-256 checksum
How to use checksums
3b7858e56ca2887451cabd939ea6edd7f54659a08c7828861e41fbe0f3ea2aa1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / elaraai_east_py_datascience-1.0.95-cp312-cp312-win_amd64.whl

Download URL elaraai_east_py_datascience-1.0.95-cp312-cp312-win_amd64.whl
Size 245.3 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
9dafad63e22d0728b4762c3b6f5f9933bc290a9932cd663d79b32787f545dbd2
BLAKE2b-256 checksum
How to use checksums
f7e8c63cba6ee9d1a88c34b78e6ca45f7a4c053979cc380952bbc96b32fe5a4b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / elaraai_east_py_datascience-1.0.95-cp312-cp312-win32.whl

Download URL elaraai_east_py_datascience-1.0.95-cp312-cp312-win32.whl
Size 242.4 kB
Tags CPython 3.12 Windows x86-32
SHA-256 checksum
How to use checksums
b40071a8e00c9c36a00e87d44d5cf698a82e98e06d78adbf8796efeac41e2e6f
BLAKE2b-256 checksum
How to use checksums
9224983c0a5687a63da85dacc83cfb86c4ea59aca26f41d106e23d212a87d607
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / elaraai_east_py_datascience-1.0.95-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL elaraai_east_py_datascience-1.0.95-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 242.8 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
55958c2cca3c1db35784c61e8e2b4673b63dea9d70120ad0216a03461998ce3c
BLAKE2b-256 checksum
How to use checksums
b0b57517abf9142c5b7ad1ed371126430b54a56c3e4ef4ff9cfac609fd010110
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / elaraai_east_py_datascience-1.0.95-cp312-cp312-macosx_11_0_arm64.whl

Download URL elaraai_east_py_datascience-1.0.95-cp312-cp312-macosx_11_0_arm64.whl
Size 240.8 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
8260051113b4bca6ab3f7fb3b9b7579e50a4fa6225f7cabca9870d552d3797bd
BLAKE2b-256 checksum
How to use checksums
7b1430ab639cbd8edbfd729ce3e5acd28fc63fd326af38f240db6a46aa37590d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / elaraai_east_py_datascience-1.0.95-cp312-cp312-macosx_10_13_x86_64.whl

Download URL elaraai_east_py_datascience-1.0.95-cp312-cp312-macosx_10_13_x86_64.whl
Size 241.5 kB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
93edcc12319070f92563e98b39920e151dfa1748848d8e358428e103ad506632
BLAKE2b-256 checksum
How to use checksums
1706fd090d8cf0ef44cedd258d4896bc8959583b6dd04a976ef3f00140de1ee2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / elaraai_east_py_datascience-1.0.95-cp311-cp311-win_amd64.whl

Download URL elaraai_east_py_datascience-1.0.95-cp311-cp311-win_amd64.whl
Size 245.1 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
253505cbd56471f448b2816e277e22e65edbbfe023a21c162d579844c2cbff96
BLAKE2b-256 checksum
How to use checksums
3dc800ce28e850b6aff989d1fc21d43c22e8b20a6a427c06a527fade6abf4cfd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / elaraai_east_py_datascience-1.0.95-cp311-cp311-win32.whl

Download URL elaraai_east_py_datascience-1.0.95-cp311-cp311-win32.whl
Size 242.3 kB
Tags CPython 3.11 Windows x86-32
SHA-256 checksum
How to use checksums
c56da252568eb67dfe729cbffaad32eb219a4c97f1191c53052be67809014691
BLAKE2b-256 checksum
How to use checksums
c8a0a86b1cb40ebc7459191987611d73b20a90477807a4a4df13ad3bcf1dd402
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / elaraai_east_py_datascience-1.0.95-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL elaraai_east_py_datascience-1.0.95-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 242.7 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
b74c668a4873c0c5878432f05a5241a3c2132dfba8722b013b40b3e921644c75
BLAKE2b-256 checksum
How to use checksums
97d3fbd8499299077f54bd776e58c7895292b89f5d8e92cdb046d51584b0293f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / elaraai_east_py_datascience-1.0.95-cp311-cp311-macosx_11_0_arm64.whl

Download URL elaraai_east_py_datascience-1.0.95-cp311-cp311-macosx_11_0_arm64.whl
Size 240.6 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
01d4db7c6ec9e24933f156c6863d90e3a1b062ad2d7edb5dceb52e55f03ee12d
BLAKE2b-256 checksum
How to use checksums
9016a1b8879f99e564201b4cc0b8175f9e45c1ca9e9bf186cd0042efb1d594aa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / elaraai_east_py_datascience-1.0.95-cp311-cp311-macosx_10_9_x86_64.whl

Download URL elaraai_east_py_datascience-1.0.95-cp311-cp311-macosx_10_9_x86_64.whl
Size 241.3 kB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
3c115aabc85c876610efa2e9508d64b5568fca453b5b9f792cbbb80384836d45
BLAKE2b-256 checksum
How to use checksums
c72a2f9243231345c86a5be5d9ff3b23dd26dc09c4235b5ed39a9d14abdc4afd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Security for elaraai-east-py-datascience 1.0.95

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

1.0.95 This release

16 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page