Skip to main content

glmstar

A Python implementation of the glmnet algorithm for fitting generalized linear models via penalized maximum likelihood. This package provides fast and efficient regularization paths for linear, logistic, multinomial, Poisson, and Cox regression models.

Features

  • Multiple GLM Families: Support for Gaussian (linear), Binomial (logistic), Multinomial, Poisson, and Cox regression
  • Elastic Net Regularization: Combines L1 (Lasso) and L2 (Ridge) penalties with mixing parameter α
  • Fast Path Algorithms: Efficient computation of regularization paths using coordinate descent
  • Cross-Validation: Built-in cross-validation for optimal λ selection
  • Prediction Methods: Interpolation and prediction at arbitrary λ values
  • sklearn Compatibility: Follows scikit-learn API conventions
  • C++ Backend: High-performance C++ implementation with pybind11 bindings

Installation

Get the source

The C++ code depends on two git submodules, Eigen and glmnetpp, so clone recursively:

git clone --recursive https://github.com/jonathan-taylor/pyglmnet.git
cd pyglmnet

# Or, if already cloned without submodules
git submodule update --init --recursive

A C++17 compiler is required to build the extension modules.

uv sync          # editable install plus build and test tools (the `dev` group)
uv run pytest tests --test-size=small

The project uses meson-python, whose editable installs recompile the C++ extensions on import. For that reason pyproject.toml disables build isolation for glmstar under uv, so the build tools (meson, ninja, pybind11, ...) must live in the project environment -- uv sync takes care of this. To target an already-activated venv other than .venv, use uv sync --active.

If you prefer uv pip, install the build tools first:

uv pip install meson-python meson ninja pybind11 setuptools_scm
uv pip install -e .      # or `uv pip install .` for a regular install

Running uv pip install . without them fails with No module named 'mesonpy'.

Install with pip

pip install .

For an editable install with pip, again install the build tools into the environment and disable build isolation:

pip install meson-python meson ninja pybind11 setuptools_scm
pip install --no-build-isolation -e .

Troubleshooting

If the build fails with 'pybind11/pybind11.h' file not found, a stale meson build directory (e.g. build/cp310) is pointing at a temporary build environment that no longer exists. Delete it and reinstall:

rm -rf build/cp*
uv sync

Quick Start

import numpy as np
from glmnet import GaussNet, LogNet
from sklearn.datasets import make_regression, make_classification

# Linear Regression
X, y = make_regression(n_samples=100, n_features=20, n_informative=5, random_state=42)
fit_gaussian = GaussNet().fit(X, y)

# Plot coefficient paths
ax = fit_gaussian.coef_path_.plot()
ax.set_title('Linear Regression Coefficient Paths')

# Logistic Regression
X, y = make_classification(n_samples=100, n_features=20, n_informative=5, random_state=42)
fit_logistic = LogNet().fit(X, y)

# Cross-validation
cvfit = LogNet().fit(X, y)
_, cvpath = cvfit.cross_validation_path(X, y, cv=5)
ax = cvpath.plot(score='Binomial Deviance')

Available Models

  • GaussNet: Linear regression (Gaussian family)
  • LogNet: Logistic regression (Binomial family)
  • MultiClassNet: Multinomial regression
  • FishNet: Poisson regression
  • MultiGaussNet: Multi-response linear regression
  • CoxNet: Cox proportional hazards model

Key Features

Elastic Net Regularization

# Lasso (α=1, default)
fit_lasso = GaussNet(alpha=1.0).fit(X, y)

# Ridge (α=0)
fit_ridge = GaussNet(alpha=0.0).fit(X, y)

# Elastic Net (α=0.5)
fit_elastic = GaussNet(alpha=0.5).fit(X, y)

Cross-Validation

# Perform cross-validation
cvfit = GaussNet().fit(X, y)
_, cvpath = cvfit.cross_validation_path(X, y, cv=5)

# Get optimal lambda
lambda_min = cvpath.index_best['Mean Squared Error']
coef_min, intercept_min = cvfit.interpolate_coefs(lambda_min)

Prediction and Interpolation

# Predict at specific lambda values
predictions = fit_gaussian.predict(X_new, interpolation_grid=[0.1, 0.05])

# Interpolate coefficients
coef, intercept = fit_gaussian.interpolate_coefs(0.5)

Weights and Offsets

import pandas as pd

# Create DataFrame with response, weights, and offsets
Df = pd.DataFrame({
    'response': y,
    'weight': sample_weights,
    'offset': offsets
})

# Fit with weights and offsets
fit = GaussNet(response_id="response", 
               weight_id="weight", 
               offset_id="offset").fit(X, Df)

Dependencies

  • Core: numpy, scipy, pandas, scikit-learn, joblib, statsmodels, coxdev, tqdm
  • Build: meson-python, meson, ninja, pybind11, setuptools_scm
  • Optional: matplotlib (plotting), pytest (tests)

Development

Building from Source

See Installation; uv sync builds the C++ extensions in place and rebuilds them automatically on import after source changes.

Running Tests

# Run all tests (or prefix with `uv run`)
pytest tests/

# Quicker subset
pytest tests --test-size=small

# Run specific test suites
pytest tests/paths/
pytest tests/compare_R/

Saved Results in the Docs

The calibration experiments in the docs' Inference chapter are too slow to run when the docs are built, so they are run locally and their results saved in docs/results/*.csv, each with a header recording the commit and the package versions it was computed with. To recompute all of them, commit your changes, then, from the top of the repository, with the development install (uv sync, or pip install -e . and the doc extra),

uv run python docs/experiments.py --all    # or: python docs/experiments.py --all
git add docs/results && git commit -m "docs: recompute the saved results"

python docs/experiments.py probit_regression recomputes one page. See docs/experiments.py for the conventions.

When changing versions (a glmstar release, a new lassoinf or other dependency pin, or the src/glmnetpp submodule), recompute these results, so that the docs show results from the code they describe.

Citation

If you use this package in your research, please cite:

Friedman, J., Hastie, T., & Tibshirani, R. (2010). 
Regularization paths for generalized linear models via coordinate descent. 
Journal of Statistical Software, 33(1), 1-22.

License

This project is licensed under the BSD-3-Clause License - see the LICENSE.txt file for details.

Authors

Contributing

Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.

Acknowledgments

This package is based on the original R glmnet package by Jerome Friedman, Trevor Hastie, Rob Tibshirani, and others. The C++ implementation uses the Eigen library for linear algebra operations.

Metadata

Release files for glmstar 0.2.0

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

Source distribution (sdist)

Source distribution for glmstar 0.2.0
File Size Uploaded
glmstar-0.2.0.tar.gz 12.7 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for glmstar 0.2.0
File
glmstar-0.2.0-cp314-cp314t-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64 Details
glmstar-0.2.0-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details
glmstar-0.2.0-cp314-cp314t-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64 Details
glmstar-0.2.0-cp314-cp314-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ x86-64 Details
glmstar-0.2.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details
glmstar-0.2.0-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
glmstar-0.2.0-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details
glmstar-0.2.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details
glmstar-0.2.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
glmstar-0.2.0-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details
glmstar-0.2.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details
glmstar-0.2.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
glmstar-0.2.0-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details
glmstar-0.2.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details
glmstar-0.2.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
glmstar-0.2.0-cp310-cp310-musllinux_1_2_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ x86-64 Details
glmstar-0.2.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details
glmstar-0.2.0-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details

Total release size: 121.4 MB

Release files / glmstar-0.2.0.tar.gz

Download URL glmstar-0.2.0.tar.gz
Size 12.7 MB
Tags Source
SHA-256 checksum
How to use checksums
52398374052222ec9164959a1fd68f878dc0b3c7c9dba0680bc1542db14e25a9
BLAKE2b-256 checksum
How to use checksums
1ed5346c0ca38d85f64538e334f9e8b937cb42eb4444a55b6b62fb770301165e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.3

Release files / glmstar-0.2.0-cp314-cp314t-musllinux_1_2_x86_64.whl

Download URL glmstar-0.2.0-cp314-cp314t-musllinux_1_2_x86_64.whl
Size 6.8 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
6bb0fe635a77f131e93a81f514d4d94fa80be29223d293605d33b96865b164e7
BLAKE2b-256 checksum
How to use checksums
701a142b65e6dd8452f039e5ea233312a9bd927618b79aa305ad9d5ce49aed6f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.3

Release files / glmstar-0.2.0-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL glmstar-0.2.0-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 5.8 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
245ce56aebc43c0433fd57b8b6d957dfbaba4b87c33c23d0a4ef065ff4017f3c
BLAKE2b-256 checksum
How to use checksums
7e68f37cec6b1cea983922fc6990ab843a2271739dc7f8f6ae6a4dd7eb51d37c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.3

Release files / glmstar-0.2.0-cp314-cp314t-macosx_11_0_arm64.whl

Download URL glmstar-0.2.0-cp314-cp314t-macosx_11_0_arm64.whl
Size 5.6 MB
Tags CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
f508b16d67528aa41f770e4b4c8bdfd1f7d336b734dec1a43d0a6c9954135f05
BLAKE2b-256 checksum
How to use checksums
309d89f2ecced047c978b495fef5b5984156e05406f2e365ae9f0a8db957bc1a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.3

Release files / glmstar-0.2.0-cp314-cp314-musllinux_1_2_x86_64.whl

Download URL glmstar-0.2.0-cp314-cp314-musllinux_1_2_x86_64.whl
Size 6.8 MB
Tags CPython 3.14 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
4b16961d127b376d877c24ce21da2fbad8bdada94e15bf71216f89fceb5e3c7e
BLAKE2b-256 checksum
How to use checksums
91d62e12c8518e5f2e64ebdc4bddaaed4ae9d31c22fe9338b81f41dc30487f9b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.3

Release files / glmstar-0.2.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL glmstar-0.2.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 5.8 MB
Tags CPython 3.14 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
1bbc4e6848b7ea60f7f915d1752c8e011b59cbc1f3f9753f47d876ea762a09b4
BLAKE2b-256 checksum
How to use checksums
01e2694af12a9c69e7bb03b33ad31a6b051c8cc5f24bca1d5b385a2e3bad2055
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.3

Release files / glmstar-0.2.0-cp314-cp314-macosx_11_0_arm64.whl

Download URL glmstar-0.2.0-cp314-cp314-macosx_11_0_arm64.whl
Size 5.6 MB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
85fc3f7eff0ddbf4ece2b953dd9f322c7959e5d9cf67aa9958698f80776910f0
BLAKE2b-256 checksum
How to use checksums
07170789ca93ba5dd2b66291dd730b5001f3c2596cc47937ee6e0eb79c64500d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.3

Release files / glmstar-0.2.0-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL glmstar-0.2.0-cp313-cp313-musllinux_1_2_x86_64.whl
Size 6.8 MB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
ba62576c582945e59a6a6cfb85d2fd613e15ba908119cec09ee7643d2d700604
BLAKE2b-256 checksum
How to use checksums
757b60f840593c40eb3bf6453c930aa06642569b1317af9b1273b066874ad10b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.3

Release files / glmstar-0.2.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL glmstar-0.2.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 5.8 MB
Tags CPython 3.13 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
1f3dbbdec96bebf2b8cf4e918f2aff23dea613140bc1f8f3af79d91bc86ee63d
BLAKE2b-256 checksum
How to use checksums
38a0c48e448899dec6aa02114e11c2401aab0967d90cc4220086be0931480bcd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.3

Release files / glmstar-0.2.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL glmstar-0.2.0-cp313-cp313-macosx_11_0_arm64.whl
Size 5.6 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
e94f686274dd0a909dce70343168f31f879d62f5a0a6522bf0e5a80e2238667d
BLAKE2b-256 checksum
How to use checksums
0acace66717f434b88b70b89f0f08ba266c2fa36fa5e120471264dee435d1e4c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.3

Release files / glmstar-0.2.0-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL glmstar-0.2.0-cp312-cp312-musllinux_1_2_x86_64.whl
Size 6.8 MB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
a0e581b7051ea045ae3b48c601d0455fd8aec2588c5ae24f29cd3e1ea8e7d626
BLAKE2b-256 checksum
How to use checksums
ac290ee06b35c9387995ea39ceeade2e6bc54d3249a14e72e67a2ac42e591bc8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.3

Release files / glmstar-0.2.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL glmstar-0.2.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 5.8 MB
Tags CPython 3.12 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
9a50416752c60438d9c52540266c6d8f0f9b70b8c27ff8fefc10db8b5a0331ea
BLAKE2b-256 checksum
How to use checksums
bf14808b6dd7e42e985aa2c7a299cd1d3f061f8bab896d3a552b0dda54110351
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.3

Release files / glmstar-0.2.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL glmstar-0.2.0-cp312-cp312-macosx_11_0_arm64.whl
Size 5.6 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
d03e4b71ef6c11a6f1bd306c3b1bb9667e81958f9682e89e9d8d1fd03bb0b7fa
BLAKE2b-256 checksum
How to use checksums
3f9a8c6157a82e97a2a5157069d05719612fa08d6d52518ff7eaab0a811c99d3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.3

Release files / glmstar-0.2.0-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL glmstar-0.2.0-cp311-cp311-musllinux_1_2_x86_64.whl
Size 6.8 MB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
899be376443e6288a5552641a05838bcea92b67ef111cda11aee3422163588fa
BLAKE2b-256 checksum
How to use checksums
4a2b6f459558aa5d83995bdbd1a6331322d8f6dad76eb8ea2eb19f5270e369a7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.3

Release files / glmstar-0.2.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL glmstar-0.2.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 5.8 MB
Tags CPython 3.11 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
3a794f3e7522610d7c53083c5d61acb5ee0deb697c3cbc8a232b505234d552ff
BLAKE2b-256 checksum
How to use checksums
f77e6d4085e4b6b5c0bc12a744c7dcdb3a2e1ced1ccd5b0c7afea5517492bc87
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.3

Release files / glmstar-0.2.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL glmstar-0.2.0-cp311-cp311-macosx_11_0_arm64.whl
Size 5.5 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
7585a505e83d8eb03a963562ad260a12fa9757ca1ffbb8f56e17533db4ff6d1b
BLAKE2b-256 checksum
How to use checksums
972ec3596554b4b9b7042565454a07eef05a8e84c632e0b06e6ba21e239dbb10
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.3

Release files / glmstar-0.2.0-cp310-cp310-musllinux_1_2_x86_64.whl

Download URL glmstar-0.2.0-cp310-cp310-musllinux_1_2_x86_64.whl
Size 6.8 MB
Tags CPython 3.10 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
c6d8cdf834320d3cb728e0b841bd8ff26897e8ef740e68b270d589f6e987b521
BLAKE2b-256 checksum
How to use checksums
369f94dd383e2f9ec00e296810bb13dbd248e1bb40f3fda08e950b67883919d3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.3

Release files / glmstar-0.2.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL glmstar-0.2.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 5.7 MB
Tags CPython 3.10 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
2dfb41e0560a64ba3daf12a4a08f16f4ad270c7be4ee6706ce50777dcc10d8db
BLAKE2b-256 checksum
How to use checksums
844441d6928cad97709213f8b44d30f850bb4c08ce03eb8f02b2374ff446dbef
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.3

Release files / glmstar-0.2.0-cp310-cp310-macosx_11_0_arm64.whl

Download URL glmstar-0.2.0-cp310-cp310-macosx_11_0_arm64.whl
Size 5.5 MB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
4089c430425fb15a8d8b499b50f1182cbfb301b31b499e22c2ee5a3b6e9e94c9
BLAKE2b-256 checksum
How to use checksums
5ece5be30909da6ac8cedcf538145a8597b9c9813f31d36869d1ee151fa99b15
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.3

Release history Release notifications | RSS feed

0.3.0

19 release files

This release

0.2.0 This release

19 release files

0.1.0

16 release files

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