Skip to main content

Chemur

PyPI Python License: MIT

Find the non-covalent interactions in a PDB or mmCIF structure — between proteins, nucleic acids, ligands, metals and solvent, in any combination.

pip install chemur
chemur analyze structure.cif --out interactions.json
  • 22 interaction types, each with defined geometry
  • Any pair of components. Protein–ligand, protein–protein, protein–DNA/RNA, nucleic acid–ligand, ligand–ligand. Nothing is hard-coded to expect a receptor and a small molecule.
  • Chemistry from templates, geometry from coordinates. Ligands are typed from SMILES, an SDF, or an automatic Chemical Component Dictionary lookup.
  • MD trajectories — per-frame analysis with occupancy and time series.

A ChimeraX plugin builds on this library for interactive 3D visualisation.

Install

pip install chemur

Wheels are published for CPython 3.10–3.13 on Linux x86_64, macOS (a single universal2 build covering Intel and Apple Silicon) and Windows x86_64. Other platforms build from the source distribution and need a C++17 compiler and CMake ≥ 3.18.

Extra Installs Enables
trajectory MDAnalysis reading trajectory files
dataframe pandas AnalysisResult.to_dataframe()
all both
pip install "chemur[all]"

pH-range ligand protonation (--protonate) needs no extra — dimorphite_dl is a hard dependency. It requires rdkit<2026, so a Chemur install is capped there too.

MDAnalysis is LGPL-3.0-or-later (it relicensed from GPL at 2.8.0; the >=2.4 floor still permits older GPL-licensed releases if you pin one). Chemur itself is MIT and neither bundles nor links it, but installing the trajectory extra adds copyleft-licensed code to your environment.

To confirm you got the compiled core rather than the fallback:

python -c "from chemur.core import USING_CPP_CORE; print('C++ core:', USING_CPP_CORE)"

True is expected. False means the pure-Python fallback loaded — correct results, 10–100× slower. From a wheel that should never happen; from a source build it means CMake or the compiler failed. Set CHEMUR_FORCE_PYTHON_CORE=1 to select it deliberately.

Quick start

import chemur

result = chemur.analyze("structure.cif")

for interaction in result.interactions:
    print(interaction.interaction_type, interaction.component_ids)

result.to_json("interactions.json")
chemur analyze structure.cif --out interactions.json --csv interactions.csv

CLI reports contain final assignments. Add --include-raw to write candidates separately to interactions.raw.json and interactions.raw.csv, alongside the final reports. Per-ligand files follow the same convention.

Any biomolecule, not just protein–ligand

analyze returns every interaction it finds in the structure. There is no receptor or ligand role — you pick out the ones you want by component.

import chemur
from collections import Counter

result = chemur.analyze("complex.cif")

# What was found, and between what?
print(Counter(i.interaction_type for i in result.interactions))

A protein–DNA interface, a protein–protein interface and a ligand binding site are all the same query — filter on the components involved:

def between(result, a, b):
    """Interactions with one atom in component `a` and the other in `b`."""
    return [
        i for i in result.interactions
        if {a, b} <= set(i.component_ids)
    ]

interface = between(result, "A:ARG:145", "B:DG:12")   # protein side chain to a base

Components are identified by component_id; result.components lists them all with their names, so you can select a chain, a residue range, or a single ligand. Nucleic acid phosphate backbones are perceived as anions, protein Arg/Lys as cations and Asp/Glu as carboxylate anions, so salt bridges and cation–π across a protein–nucleic acid interface are detected the same way as in a binding site.

What it detects

Family Types
Hydrogen bonding hbond, weak_hbond, hbond_pi, solvent_bridge, amide_bridge
Electrostatic salt_bridge, metal_coordination, cation_pi, anion_aromatic_edge
Stacking pipi_stack, aliphatic_pi_stack, aliphatic_stack, amide_pi, ch_pi
σ-hole halogen_bond, chalcogen_bond, tetrel_bond, halogen_pi, chalcogen_pi
Other n_pi_star, hydrophobic, hydrophobic_enclosure

aliphatic_stack and anion_aromatic_edge ship disabled; enable them in the profile. Active anion_pi detection has been removed; historical records remain readable and scoreable. The geometry catalogue documents each definition, its primary sources and Chemur's chemical generalisations.

Each type has its own geometric criteria, all adjustable — see docs/cli.md for overriding cutoffs and docs/chemistry.md for chemical eligibility and preparation diagnostics. The engine and ChimeraX use the same versioned parameter catalogue; native results retain effective settings.

hydrophobic_enclosure groups valid hydrophobic contacts that surround a ligand atom in three dimensions. Enabled by default, it replaces the supporting pair contacts in assigned results; raw candidates retain those pairs and the replacement reason. It inherits the ordinary hydrophobic distance cutoff (4 Å by default).

Ligand chemistry

Ligands need a chemical template so protonation, charge, aromaticity and donor/acceptor status are correct. Chemur takes one from, in order of precedence:

chemur analyze structure.cif --ligand-smiles LIG='CC(=O)N'   # explicit SMILES
chemur analyze receptor.pdb --ligand-sdf docked.sdf          # an SDF (coordinates too)
chemur analyze structure.cif                                 # automatic CCD lookup

The automatic lookup resolves each ligand by its component name against the RCSB Chemical Component Dictionary. Add --protonate to set the protonation state for a pH range with Dimorphite-DL, and --debug to print the SMILES actually used.

Full detail in docs/cli.md.

Multiple ligands and docking output

Pass several ligands at once, or point at a directory of sdf files.

chemur analyze receptor.pdb --ligand-sdf a.sdf --ligand-sdf b.sdf   # repeatable
chemur analyze receptor.pdb --ligand-sdf-dir poses/                 # a whole directory

By default all supplied ligands are added to the structure and analysed together, as one system — right for a cofactor plus a substrate, or two ligands sharing a pocket.

Docked poses are the opposite case: each is an alternative for the same site, so analysing them together would stack overlapping copies into one pocket. Use --batch to analyse each ligand independently against the same receptor:

chemur analyze receptor.pdb --ligand-sdf-dir poses/ --batch --out all_poses.json

Either way you also get one filtered file per ligand under ligand_outputs/ — in batch mode under a subdirectory per pose — while --out / --csv write the aggregate.

SDF coordinates are used directly, and ligand residues already present in the structure are skipped so the SDF stays authoritative.

Trajectories

pip install "chemur[trajectory]"
chemur trajectory topology.pdb trajectory.xtc --out frames.json

Analyses each frame and reports per-interaction occupancy and time series.

Documentation

Development

git clone https://github.com/SweeneyAaron/chemur
cd chemur

conda create -n chemur-dev -c conda-forge \
  python=3.11 rdkit gemmi numpy pyyaml pandas pytest \
  cmake ninja pybind11 scikit-build-core cxx-compiler
conda activate chemur-dev

pip install -e ".[test,all]" -v
pytest

On macOS you need the Apple command line tools (xcode-select --install). If the build fails with 'cstddef' file not found they are incomplete — repair with sudo rm -rf /Library/Developer/CommandLineTools && xcode-select --install.

This project uses a src/ layout and has no conftest.py on purpose, so pytest always exercises the installed package rather than the source tree. That is what makes the wheel-level checks in CI meaningful.

License

MIT — see LICENSE.

Citation

A manuscript is in preparation. Until then, please cite the repository:

Sweeney, A, Genz, L, Topf, M. Chemur: biomolecular interaction detection.
https://github.com/SweeneyAaron/chemur

Metadata

Release files for chemur 0.1.1

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

Source distribution (sdist)

Source distribution for chemur 0.1.1
File Size Uploaded Provenance
chemur-0.1.1.tar.gz 251.2 kB With provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for chemur 0.1.1
File
chemur-0.1.1-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
chemur-0.1.1-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
chemur-0.1.1-cp313-cp313-macosx_11_0_universal2.whl CPython 3.13 CPython 3.13 macOS 11.0+ universal2 (ARM64, x86-64) Details
chemur-0.1.1-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
chemur-0.1.1-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
chemur-0.1.1-cp312-cp312-macosx_11_0_universal2.whl CPython 3.12 CPython 3.12 macOS 11.0+ universal2 (ARM64, x86-64) Details
chemur-0.1.1-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
chemur-0.1.1-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
chemur-0.1.1-cp311-cp311-macosx_11_0_universal2.whl CPython 3.11 CPython 3.11 macOS 11.0+ universal2 (ARM64, x86-64) Details
chemur-0.1.1-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
chemur-0.1.1-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
chemur-0.1.1-cp310-cp310-macosx_11_0_universal2.whl CPython 3.10 CPython 3.10 macOS 11.0+ universal2 (ARM64, x86-64) Details

Total release size: 3.4 MB

Release files / chemur-0.1.1.tar.gz

Download URL chemur-0.1.1.tar.gz
Size 251.2 kB
Tags Source
SHA-256 checksum
How to use checksums
514f859a09a0c6e46f9a74dcecab0ef119275d3d4b5f72f16aaf96c5d54657bf
BLAKE2b-256 checksum
How to use checksums
272f9d8fc7aee92564329361c4a0f9e55093d33315db74168977d107f2ee6ab1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 22, 2026.

Transparency log

Release files / chemur-0.1.1-cp313-cp313-win_amd64.whl

Download URL chemur-0.1.1-cp313-cp313-win_amd64.whl
Size 247.7 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
b09e1250967e0fd3302259b5459dcfa61cab74d1ff3b425631c38469a3c7df0e
BLAKE2b-256 checksum
How to use checksums
3c2d6edb6def63a1db4ea6050bcd6a6b62f197726500d7eb96368f1bc575b7c5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 22, 2026.

Transparency log

Release files / chemur-0.1.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL chemur-0.1.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 244.1 kB
Tags CPython 3.13 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
ce3bf7115e1e645443ede939b590331c5d322e55667d8af795f920b85f875f3d
BLAKE2b-256 checksum
How to use checksums
41a05ac901441efc4b8c3c1ab3f4c3e8f65a5d1278f7bdde11b289130124d860
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 22, 2026.

Transparency log

Release files / chemur-0.1.1-cp313-cp313-macosx_11_0_universal2.whl

Download URL chemur-0.1.1-cp313-cp313-macosx_11_0_universal2.whl
Size 297.1 kB
Tags CPython 3.13 macOS 11.0+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
c043a4a943dcdfbc52221ad7242f7e64dd84df7c3b733080aa28767a9da60d15
BLAKE2b-256 checksum
How to use checksums
c75e0b7fcd2945ebfacfcfe34358b4aa6e5757992cee8d740fc4dbbe1bc96caf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 22, 2026.

Transparency log

Release files / chemur-0.1.1-cp312-cp312-win_amd64.whl

Download URL chemur-0.1.1-cp312-cp312-win_amd64.whl
Size 247.7 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
b33f57c6c71322565e613b96b28a32ef6d9534a59b4d136868b4ce8b75621d08
BLAKE2b-256 checksum
How to use checksums
acf38e1e9de0c4274c76c93762f4df29b0f103ace267755941ddf783f21e9ac1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 22, 2026.

Transparency log

Release files / chemur-0.1.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL chemur-0.1.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 244.1 kB
Tags CPython 3.12 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
4ee89770c46f0b4743a00ac5eb24350c12873e3775a53b865f93fe32493b4a6a
BLAKE2b-256 checksum
How to use checksums
044a628af8228fb79890628c1118729199bd0df0fa3cfba0a28a5eb6cf88f40d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 22, 2026.

Transparency log

Release files / chemur-0.1.1-cp312-cp312-macosx_11_0_universal2.whl

Download URL chemur-0.1.1-cp312-cp312-macosx_11_0_universal2.whl
Size 297.0 kB
Tags CPython 3.12 macOS 11.0+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
29a298240735b6eb4a5e91a81752be2d0375bdc769d1ade0cd8092db527aa819
BLAKE2b-256 checksum
How to use checksums
1920eb5a9a55b2144366baefcd77014e8452b671a152f5b3cdeec05d74e88534
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 22, 2026.

Transparency log

Release files / chemur-0.1.1-cp311-cp311-win_amd64.whl

Download URL chemur-0.1.1-cp311-cp311-win_amd64.whl
Size 246.3 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
4d8c51bb09a461e948fc4aac2cdff0509fdf083bf3d28198303a6b2be46bebb0
BLAKE2b-256 checksum
How to use checksums
b6b0be2eb30c3cc0ffd30885b71c7ba2cf9f43281a5afee8e6395c600bc73184
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 22, 2026.

Transparency log

Release files / chemur-0.1.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL chemur-0.1.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 243.5 kB
Tags CPython 3.11 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
70f4b7f0a4567e97f008f2517f9448cc45646c797e24fecf9acd3f83105ad1a5
BLAKE2b-256 checksum
How to use checksums
3288705f090b21a59ab3bcc52110dfe15da81799a1fda4be5801d6e9038b7355
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 22, 2026.

Transparency log

Release files / chemur-0.1.1-cp311-cp311-macosx_11_0_universal2.whl

Download URL chemur-0.1.1-cp311-cp311-macosx_11_0_universal2.whl
Size 295.8 kB
Tags CPython 3.11 macOS 11.0+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
d49c4831ea2b2202870ffbfc376a831d5cb68910cb05a8479b91d82a2ffc704b
BLAKE2b-256 checksum
How to use checksums
e2729c64c1747cb754060b6ecbcde46c69215e8fc3bdf11fed5246775973f3c4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 22, 2026.

Transparency log

Release files / chemur-0.1.1-cp310-cp310-win_amd64.whl

Download URL chemur-0.1.1-cp310-cp310-win_amd64.whl
Size 245.5 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
a0ea623ffdc5eb001faea79bbc6523d0e203939f1cc7c2c1c195dce7bbb7f775
BLAKE2b-256 checksum
How to use checksums
6edebe6288371cb635a24becb8c65519d0ea135597412304ef997534e7799c5e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 22, 2026.

Transparency log

Release files / chemur-0.1.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL chemur-0.1.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 242.0 kB
Tags CPython 3.10 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
3d9f6ffaba397ccd42c322f29815dc5ac162b085d8c37daac73c642bc7a7aeaa
BLAKE2b-256 checksum
How to use checksums
9a3e0faa3d7b14eda2c530846102779e64febff35026e54a84abded4171a5abb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 22, 2026.

Transparency log

Release files / chemur-0.1.1-cp310-cp310-macosx_11_0_universal2.whl

Download URL chemur-0.1.1-cp310-cp310-macosx_11_0_universal2.whl
Size 293.1 kB
Tags CPython 3.10 macOS 11.0+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
1410c7da5f3f9d011d628b13b7cc3d581010c70d664dae1e1cb73140a579aece
BLAKE2b-256 checksum
How to use checksums
ce8407cfde666e664240041be90464b8dadae3528abfcffed0fd968a7cc0c69b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 22, 2026.

Transparency log

Security for chemur 0.1.1

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.

Full provenance

All 13 files in this release have been uploaded with provenance metadata.

Select from 13 files

Attestation for chemur-0.1.1.tar.gz

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 Oct 22, 2026.

Transparency log

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

0.1.1 This release

13 release files Full 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