Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

asbm

Documentation Status PyPI version PyPI platforms

Infer network groups and properties with assortative stochastic block models

Maximilian Jerdee

This Python package uses Bayesian inference to find meaningful groupings of nodes in networks.

We implement a general assortative SBM that unifies the standard SBM and the planted partition model under a common framework. Its parameters directly measure the violation of each model's assumptions: the assortative preference ρ_in/ρ_out captures departure from in/out symmetry, while per-group variation coefficients v_in and v_out measure heterogeneity across groups. The standard SBM, planted partition model, and the Zhang–Peixoto hybrid emerge as special cases, enabling exact Bayesian model comparison between them.

For each model, the package includes algorithms to:

  • Find consensus estimates of the group structure
  • Infer global network parameters (assortativity, group sizes)
  • Score held-out edges via posterior predictive likelihood

Installation

Implementations are available for Python, R, and Julia.

Python

pip install asbm

Or build locally from the repository root:

pip install .

R

install.packages("asbm", repos = "https://maxjerdee.r-universe.dev")

Julia

using Pkg
Pkg.add(url="https://github.com/maxjerdee/asbm", subdir="bindings/julia")

Building from source requires CMake and a C++17 compiler. Run Pkg.build("ASBM") after installation to compile the native library.

Quickstart

Python

import asbm
import networkx as nx

G = nx.read_gml("examples/data/dolphins.gml", label="id")

config = asbm.Config(
    model="general_asbm",
    degree_correction=True,
)

result = asbm.fit(config, G)

print(result.mdl_partition)
print(result.mdl_value)
print(result.consensus_partition())

To score held-out edges:

G_train = nx.read_gml("examples/data/train.gml")
G_test  = nx.read_gml("examples/data/test.gml")

result = asbm.fit(asbm.Config(model="general_asbm"), G_train)
score  = result.log_posterior_predictive(G_test)

R

library(asbm)
library(igraph)

G <- read_graph("examples/data/dolphins.gml", format = "gml")

result <- fit(G,
              model             = "general_asbm",
              degree_correction = TRUE,
              num_chains        = 4,
              samples_per_chain = 100,
              seed              = 42)

print(result$mdl_value)
print(result$mdl_partition)
print(result$consensus_partition)

Julia

using ASBM, Graphs

g = cycle_graph(62)  # or load via GraphIO

result = fit(g;
    model             = "general_asbm",
    degree_correction = true,
    num_chains        = 4,
    samples_per_chain = 100,
    seed              = 42)

println(result.mdl_value)
println(result.mdl_partition)
println(result.consensus_partition)

For the full API, including posterior predictive evaluation and the samples schema, see the package documentation.

Metadata

Release files for asbm 0.2.1.dev3

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

Source distribution (sdist)

Source distribution for asbm 0.2.1.dev3
File Size Uploaded
asbm-0.2.1.dev3.tar.gz 230.5 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for asbm 0.2.1.dev3
File
asbm-0.2.1.dev3-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
asbm-0.2.1.dev3-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details
asbm-0.2.1.dev3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
asbm-0.2.1.dev3-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
asbm-0.2.1.dev3-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
asbm-0.2.1.dev3-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details
asbm-0.2.1.dev3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
asbm-0.2.1.dev3-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
asbm-0.2.1.dev3-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
asbm-0.2.1.dev3-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details
asbm-0.2.1.dev3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
asbm-0.2.1.dev3-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
asbm-0.2.1.dev3-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
asbm-0.2.1.dev3-cp310-cp310-musllinux_1_2_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ x86-64 Details
asbm-0.2.1.dev3-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
asbm-0.2.1.dev3-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details

Total release size: 7.6 MB

Release files / asbm-0.2.1.dev3.tar.gz

Download URL asbm-0.2.1.dev3.tar.gz
Size 230.5 kB
Tags Source
SHA-256 checksum
How to use checksums
af30ffcc4f7470123ce706e6885ca00b280a872f5a8e545a73b206b004c84ac2
BLAKE2b-256 checksum
How to use checksums
4c91d25c9220395f990f6a76c51e3b906592ff204a8de027fafee64323ba04bd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.

Transparency log

Release files / asbm-0.2.1.dev3-cp313-cp313-win_amd64.whl

Download URL asbm-0.2.1.dev3-cp313-cp313-win_amd64.whl
Size 209.0 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
50b032f68a83243dc9b4fcadb9c85415568b8622f7e76d5d87664d01ef0b05a6
BLAKE2b-256 checksum
How to use checksums
b7903e71f0daf3c9d9210810d8b749601943aa56e9a44166fd6d38224a4528f5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.

Transparency log

Release files / asbm-0.2.1.dev3-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL asbm-0.2.1.dev3-cp313-cp313-musllinux_1_2_x86_64.whl
Size 1.2 MB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
cd9acf2c4526a6ee3d2954eddc3dfaa2d76df027eb33da946686de4c1f8f4d00
BLAKE2b-256 checksum
How to use checksums
f0dd00bfbede0c4743f580c80f4782aa9db370261c1511f0cf613cdee88427be
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.

Transparency log

Release files / asbm-0.2.1.dev3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL asbm-0.2.1.dev3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 230.2 kB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
78f04bbebe51dbf0e8b9245e1ffbc68ea48a531a5da738b20923dea6ddfc4635
BLAKE2b-256 checksum
How to use checksums
51b2b653711c81f78e13416efb4c0fd5e06d0158fcfbb82c1e1602a949f81ed1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.

Transparency log

Release files / asbm-0.2.1.dev3-cp313-cp313-macosx_11_0_arm64.whl

Download URL asbm-0.2.1.dev3-cp313-cp313-macosx_11_0_arm64.whl
Size 190.7 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
1fb6dc3e4f751ccbb4b8026e85e16269ac205168f0cda6f20891a3416c343dd1
BLAKE2b-256 checksum
How to use checksums
69be7dd1307929de3a728e5f80f5c0d936c6bc5c3674cd58ff5aafb392ba9755
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.

Transparency log

Release files / asbm-0.2.1.dev3-cp312-cp312-win_amd64.whl

Download URL asbm-0.2.1.dev3-cp312-cp312-win_amd64.whl
Size 209.0 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
f8200db1db5bd3c7dde5a6933d401d4596bfda98c1f7cb4a99dc45ee2fd3c6af
BLAKE2b-256 checksum
How to use checksums
d7ad72186acd8f0a126f8e7fee46dabe0cea44971f05fad4a8d6253d7e4ad29f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.

Transparency log

Release files / asbm-0.2.1.dev3-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL asbm-0.2.1.dev3-cp312-cp312-musllinux_1_2_x86_64.whl
Size 1.2 MB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
53d26c20784ef4156e116a7b642a4cc20084178ce59ff3248348e83d4493f1e6
BLAKE2b-256 checksum
How to use checksums
c27e92e36c508c25021d5c61ffb6f9fe11986220f63b342e21dd8fc865bd8be0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.

Transparency log

Release files / asbm-0.2.1.dev3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL asbm-0.2.1.dev3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 230.2 kB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
0430ffb319cb6ccc0fa5aa0a4dbb2f8f2b51b24148b7d65ce98c7282b28af59c
BLAKE2b-256 checksum
How to use checksums
3131d15bffca390f2d28c6db0a68a27ea2c95e15e9a4d52a0f1ae5c9f2e7ace8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.

Transparency log

Release files / asbm-0.2.1.dev3-cp312-cp312-macosx_11_0_arm64.whl

Download URL asbm-0.2.1.dev3-cp312-cp312-macosx_11_0_arm64.whl
Size 190.6 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
23688f32b64fbfc50a4bd25c6fe401a8ff6b4bcb3b6246fc907ecca2fbd549c0
BLAKE2b-256 checksum
How to use checksums
9e9e93c5f721e4497e110fb89470a6ed3f2fd514e6f060b7d56fb8707816e97f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.

Transparency log

Release files / asbm-0.2.1.dev3-cp311-cp311-win_amd64.whl

Download URL asbm-0.2.1.dev3-cp311-cp311-win_amd64.whl
Size 205.0 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
87eff51c804162aa4b0e57ab6458d6cca02f6e23325b10fbbec903fd02482873
BLAKE2b-256 checksum
How to use checksums
1254c46baf48c3634f9bace6dac8cacaec3bed95e366d2b2a32534dbf4a8f5f2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.

Transparency log

Release files / asbm-0.2.1.dev3-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL asbm-0.2.1.dev3-cp311-cp311-musllinux_1_2_x86_64.whl
Size 1.2 MB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
2638ccde2231256b60b8507e11689daa750ef5b8d26265737014b4cac7eade54
BLAKE2b-256 checksum
How to use checksums
f75d1aaff5d5deb3369a82d44ed0e042e2930c5a642e57770d2f292010115efd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.

Transparency log

Release files / asbm-0.2.1.dev3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL asbm-0.2.1.dev3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 228.4 kB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
fba28e58393b4214d3f8263ca2da300d68895d00f0154e848b6e718017ef0b89
BLAKE2b-256 checksum
How to use checksums
aae9a76de6a597e6e728c39ae546743494b14cdc594e957d26b68367addca522
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.

Transparency log

Release files / asbm-0.2.1.dev3-cp311-cp311-macosx_11_0_arm64.whl

Download URL asbm-0.2.1.dev3-cp311-cp311-macosx_11_0_arm64.whl
Size 189.2 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
8042d56357bf92ca67cc9e77c3c83b2189174ebd245249758068fcac20efe329
BLAKE2b-256 checksum
How to use checksums
c2676cf4b4b61f66ebf743c456511e7c9293e868893d042af5d3dd6ea4d53a22
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.

Transparency log

Release files / asbm-0.2.1.dev3-cp310-cp310-win_amd64.whl

Download URL asbm-0.2.1.dev3-cp310-cp310-win_amd64.whl
Size 203.8 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
5cf0ff004ff67a5426b7626d05cff8f1cfa65b9b211c97714fc92c1d3578dfd8
BLAKE2b-256 checksum
How to use checksums
dd20ea372c6cf26c1d4ecfc801a21cd7db751fa30d586d50dcfd7a459072c743
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.

Transparency log

Release files / asbm-0.2.1.dev3-cp310-cp310-musllinux_1_2_x86_64.whl

Download URL asbm-0.2.1.dev3-cp310-cp310-musllinux_1_2_x86_64.whl
Size 1.2 MB
Tags CPython 3.10 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
ba3bee203ed16857d6e147c203441ec0c155224bbc441042f5ed2bb32f229d8b
BLAKE2b-256 checksum
How to use checksums
34f3194278d909a71a0779d72260cdd6c32ce1e9269f3900bf59fb1f3911746b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.

Transparency log

Release files / asbm-0.2.1.dev3-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL asbm-0.2.1.dev3-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 227.1 kB
Tags CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
260ecdc3ad2236d8c07c144241f32c7cb61aab483441674c9513d6506da73e62
BLAKE2b-256 checksum
How to use checksums
5e30681230bb2bf573fac81389cb68f55bdd89afd6cd27ea9ccf633c889f277e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.

Transparency log

Release files / asbm-0.2.1.dev3-cp310-cp310-macosx_11_0_arm64.whl

Download URL asbm-0.2.1.dev3-cp310-cp310-macosx_11_0_arm64.whl
Size 188.1 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
e6f9876e0413e04c6a05d8efd6d776fb4f8203a863f63ab953be6395ba24b9e6
BLAKE2b-256 checksum
How to use checksums
03e9ad720f8f391d0e26b49d57dfb8beca6d7af4767cb751cc744364abdc9281
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.

Transparency log
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