Skip to main content

NOTICE: SAILFISH IS IN EARLY DEVELOPMENT AND SUBJECT TO CHANGE. API AND FEATURES MAY BE UNSTABLE. IT IS PROVIDED AS-IS WITHOUT ANY WARRANTY. USE AT YOUR OWN RISK. PLEASE REPORT ISSUES AND SUGGESTIONS ON GITHUB.

Sailfish

Sailfish is a high-performance multiple sequence alignment (MSA) simulator written in C++ with a Python API. It enables rapid generation of large-scale simulated datasets with support for indels, substitutions, and realistic evolutionary models.

Features

  • High-performance C++ engine with ergonomic Python interface
  • Support for DNA, protein, and codon sequence evolution
  • Flexible indel modeling with multiple length distributions (Zipf, Geometric, Poisson, Custom)
  • 26+ substitution models including JTT, WAG, LG, HKY, GTR, and more
  • Gamma rate heterogeneity, invariant sites, and site rate correlation
  • Per-branch parameter specification for heterogeneous models
  • Low-memory mode for large-scale simulations (1M+ sequences)
  • Reproducible simulations with explicit seed control

Installation

pip install msasim

Requirements: Python >= 3.7

Quick Start

Full simulation (indels + substitutions)

from msasim import SimProtocol, Simulator, ReplacementModelSpec
from msasim import MODEL_CODES, ALPHABET_CODES
from msasim.distributions import ZipfDistribution

protocol = SimProtocol(
    tree="(A:0.5,B:0.5);",
    root_seq_size=100,
    deletion_rate=0.05,
    insertion_rate=0.02,
    deletion_dist=ZipfDistribution(1.7, 50),
    insertion_dist=ZipfDistribution(1.7, 50),
    seed=42,
)

rep_model = ReplacementModelSpec(model=MODEL_CODES.WAG, alphabet=ALPHABET_CODES.PROTEIN)
simulator = Simulator(protocol, replacement_model=rep_model)

msa = simulator()
msa.write_msa("output.fasta")

Indels only (no substitutions)

Omit the replacement_model argument:

from msasim import SimProtocol, Simulator
from msasim.distributions import ZipfDistribution

protocol = SimProtocol(
    tree="(A:0.5,B:0.5);",
    root_seq_size=100,
    deletion_rate=0.05,
    insertion_rate=0.02,
    deletion_dist=ZipfDistribution(1.7, 50),
    insertion_dist=ZipfDistribution(1.7, 50),
    seed=42,
)

simulator = Simulator(protocol)
msa = simulator()

Substitutions only (no indels)

Set both rates to zero:

from msasim import SimProtocol, Simulator, ReplacementModelSpec
from msasim import MODEL_CODES, ALPHABET_CODES

protocol = SimProtocol(
    tree="(A:0.5,B:0.5);",
    root_seq_size=100,
    insertion_rate=0.0,
    deletion_rate=0.0,
    seed=42,
)

rep_model = ReplacementModelSpec(model=MODEL_CODES.NUCJC, alphabet=ALPHABET_CODES.DNA)
simulator = Simulator(protocol, replacement_model=rep_model)
msa = simulator()

Gamma rate heterogeneity

from msasim import SimProtocol, Simulator, ReplacementModelSpec, SiteRateModelSpec
from msasim import MODEL_CODES, ALPHABET_CODES

protocol = SimProtocol(tree="(A:0.5,B:0.5);", root_seq_size=100, seed=42)

rate_model = SiteRateModelSpec(gamma_alpha=1.0, gamma_categories=4)
rep_model = ReplacementModelSpec(
    model=MODEL_CODES.WAG,
    alphabet=ALPHABET_CODES.PROTEIN,
    site_rate_model=rate_model,
)
simulator = Simulator(protocol, replacement_model=rep_model)
msa = simulator()

Batch simulations

from msasim import SimProtocol, Simulator, ReplacementModelSpec
from msasim import MODEL_CODES, ALPHABET_CODES

protocol = SimProtocol(tree="tree.nwk", root_seq_size=500, seed=42)
rep_model = ReplacementModelSpec(model=MODEL_CODES.LG, alphabet=ALPHABET_CODES.PROTEIN)
simulator = Simulator(protocol, replacement_model=rep_model)

# Internal RNG advances deterministically across calls
for i in range(100):
    msa = simulator()
    msa.write_msa(f"replicate_{i:04d}.fasta")

Low-memory mode for large simulations

import pathlib
from msasim import SimProtocol, Simulator, ReplacementModelSpec
from msasim import MODEL_CODES, ALPHABET_CODES

protocol = SimProtocol(tree="large_tree.nwk", root_seq_size=10000, seed=42)
rep_model = ReplacementModelSpec(model=MODEL_CODES.NUCJC, alphabet=ALPHABET_CODES.DNA)
simulator = Simulator(protocol, replacement_model=rep_model)

simulator.simulate(output_path=pathlib.Path("large_alignment.fasta"))
# → writes large_alignment_replicate_1.fasta

Documentation

For the complete API reference see API_REFERENCE.md.

Core Concepts

Simulation type is inferred from the model

There is no simulation_type argument. The alphabet (DNA, PROTEIN, CODON) is taken from the ReplacementModelSpec. Passing no replacement_model runs an indels-only simulation.

Indel length distributions

  • ZipfDistribution(a, truncation) — power-law, typical for biological indels
  • GeometricDistribution(p, truncation) — exponentially decreasing
  • PoissonDistribution(lambda, truncation) — Poisson-based
  • CustomDistribution(probs) — user-defined probability vector

Available substitution models

DNA: NUCJC, HKY, GTR, TAMURA92
Protein: WAG, LG, JONES (JTT), DAYHOFF, MTREV24, CPREV45, HIVB, HIVW, and more
Codon: EMPIRICODON, WYANG

See API_REFERENCE.md for the full list.

Project Goals

  • Ease of use: Simple, intuitive Python API
  • Speed: High-performance C++ implementation
  • Modularity: Flexible configuration of all evolutionary parameters

Contributing

Bug reports and feature requests are welcome via GitHub issues.

Citation

If you use Sailfish in your research, please cite:

[Citation information to be added]

License

Academic Free License v3.0. See LICENSE for details.

Metadata

Release files for msasim 26.7.30

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

Source distribution (sdist)

Source distribution for msasim 26.7.30
File Size Uploaded
msasim-26.7.30.tar.gz 30.4 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for msasim 26.7.30
File
msasim-26.7.30-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
msasim-26.7.30-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details
msasim-26.7.30-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details
msasim-26.7.30-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
msasim-26.7.30-cp313-cp313-macosx_10_15_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.15+ x86-64 Details
msasim-26.7.30-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
msasim-26.7.30-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details
msasim-26.7.30-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
msasim-26.7.30-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
msasim-26.7.30-cp312-cp312-macosx_10_15_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.15+ x86-64 Details
msasim-26.7.30-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
msasim-26.7.30-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details
msasim-26.7.30-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
msasim-26.7.30-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
msasim-26.7.30-cp311-cp311-macosx_10_15_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.15+ x86-64 Details
msasim-26.7.30-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
msasim-26.7.30-cp310-cp310-musllinux_1_2_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ x86-64 Details
msasim-26.7.30-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
msasim-26.7.30-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
msasim-26.7.30-cp310-cp310-macosx_10_15_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.15+ x86-64 Details
msasim-26.7.30-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
msasim-26.7.30-cp39-cp39-musllinux_1_2_x86_64.whl CPython 3.9 CPython 3.9 Linux musl 1.2+ x86-64 Details
msasim-26.7.30-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64 Details
msasim-26.7.30-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details
msasim-26.7.30-cp39-cp39-macosx_10_15_x86_64.whl CPython 3.9 CPython 3.9 macOS 10.15+ x86-64 Details
msasim-26.7.30-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details
msasim-26.7.30-cp38-cp38-musllinux_1_2_x86_64.whl CPython 3.8 CPython 3.8 Linux musl 1.2+ x86-64 Details
msasim-26.7.30-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.17+ x86-64 Details
msasim-26.7.30-cp38-cp38-macosx_11_0_arm64.whl CPython 3.8 CPython 3.8 macOS 11.0+ ARM64 Details
msasim-26.7.30-cp38-cp38-macosx_10_15_x86_64.whl CPython 3.8 CPython 3.8 macOS 10.15+ x86-64 Details
msasim-26.7.30-cp37-cp37m-win_amd64.whl CPython 3.7 CPython 3.7 pymalloc Windows x86-64 Details
msasim-26.7.30-cp37-cp37m-musllinux_1_2_x86_64.whl CPython 3.7 CPython 3.7 pymalloc Linux musl 1.2+ x86-64 Details
msasim-26.7.30-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ x86-64 Details
msasim-26.7.30-cp37-cp37m-macosx_10_15_x86_64.whl CPython 3.7 CPython 3.7 pymalloc macOS 10.15+ x86-64 Details

Total release size: 31.5 MB

Release files / msasim-26.7.30.tar.gz

Download URL msasim-26.7.30.tar.gz
Size 30.4 kB
Tags Source
SHA-256 checksum
How to use checksums
9f9980161a3be511ec1386e23413b47794e664e2117e75b495924453a373e5b7
BLAKE2b-256 checksum
How to use checksums
0450e0555088a056dc507de1cb79d0b5ff8a8e5dca96d723f2b185299a070852
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 Jul 30, 2026.

Transparency log

Release files / msasim-26.7.30-cp313-cp313-win_amd64.whl

Download URL msasim-26.7.30-cp313-cp313-win_amd64.whl
Size 539.7 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
c08a4ead997d817e779355d957b80df1f71064b6a8c5f563c7c357574376a072
BLAKE2b-256 checksum
How to use checksums
6a02fabcdb771753ccab4443d1107e4778b28aaec2c79efc6af7a4c4198b9e94
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 Jul 30, 2026.

Transparency log

Release files / msasim-26.7.30-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL msasim-26.7.30-cp313-cp313-musllinux_1_2_x86_64.whl
Size 1.9 MB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
b82dfd0275a8d3722e0bd328793140bc3de5759093aef7d15ae4355c48b73725
BLAKE2b-256 checksum
How to use checksums
cdb7c721d87ec9bdc3d4d3d7d71224c1c7550972e877d8a6c2667d7349f26b44
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 Jul 30, 2026.

Transparency log

Release files / msasim-26.7.30-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL msasim-26.7.30-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 796.9 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
104d2441da8b8a871c0a6d9404121b05cf7a32a02badf7e9b8ddb53cda0e7c1e
BLAKE2b-256 checksum
How to use checksums
79852af12af0de104104ea498ad95f0d6667549540f34f99311933378220dc5f
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 Jul 30, 2026.

Transparency log

Release files / msasim-26.7.30-cp313-cp313-macosx_11_0_arm64.whl

Download URL msasim-26.7.30-cp313-cp313-macosx_11_0_arm64.whl
Size 690.7 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
2897753ae940a35fb903df03ccc9ba1e553ea8ff10fb78de04b4537183ca4987
BLAKE2b-256 checksum
How to use checksums
d338efdac8613d333df360e9b137f369c7b4a5cf9669b9fe0ced5d056c625e3c
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 Jul 30, 2026.

Transparency log

Release files / msasim-26.7.30-cp313-cp313-macosx_10_15_x86_64.whl

Download URL msasim-26.7.30-cp313-cp313-macosx_10_15_x86_64.whl
Size 731.5 kB
Tags CPython 3.13 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
bc149721bfc816e490dd9391fcb5b14b952873187bc39ba2a555479b14dc29f5
BLAKE2b-256 checksum
How to use checksums
8c28ae79ca535c4c4371bc9850bd3a06960722ce0d23e4296a2e6f69e6fe8aa0
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 Jul 30, 2026.

Transparency log

Release files / msasim-26.7.30-cp312-cp312-win_amd64.whl

Download URL msasim-26.7.30-cp312-cp312-win_amd64.whl
Size 539.7 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
873e566efc824e3663f3463f4c6d6f96a578b57bbeb07c2179acab69574c8114
BLAKE2b-256 checksum
How to use checksums
b26ee83633196c82d029113ff6c66cbed2816c26ed93cce42d48d7116259327f
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 Jul 30, 2026.

Transparency log

Release files / msasim-26.7.30-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL msasim-26.7.30-cp312-cp312-musllinux_1_2_x86_64.whl
Size 1.9 MB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
33e7fa82e0e77054926748f61c87c1eb5357e1eab2d710fd6e992be842771639
BLAKE2b-256 checksum
How to use checksums
1a4402c3376e74bd4d075a6f3b2805b774ae000b7331fc1097213e80f91fbc86
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 Jul 30, 2026.

Transparency log

Release files / msasim-26.7.30-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL msasim-26.7.30-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 796.9 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
6b2a6ed1f2c7965d9d6e7fa7e8e842fa82119447da0928ecec6349b8fd69bb3b
BLAKE2b-256 checksum
How to use checksums
6fc401a957702c5f2945ac2a763e032b6432826928ce5a983934fc09aae37621
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 Jul 30, 2026.

Transparency log

Release files / msasim-26.7.30-cp312-cp312-macosx_11_0_arm64.whl

Download URL msasim-26.7.30-cp312-cp312-macosx_11_0_arm64.whl
Size 690.6 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
0f1097a8a2d4f0e6ea07d7b541641038c5d6865a77ce44770d91463666c57556
BLAKE2b-256 checksum
How to use checksums
f7849866fbedb628a6ff3897ee19b72b8e4f01b590b83f55b154e63d5b39bcbc
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 Jul 30, 2026.

Transparency log

Release files / msasim-26.7.30-cp312-cp312-macosx_10_15_x86_64.whl

Download URL msasim-26.7.30-cp312-cp312-macosx_10_15_x86_64.whl
Size 731.4 kB
Tags CPython 3.12 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
77f82ba4b99cce519a579ed7ce0b35d9218faa0514ce36e4a4725d656c85803a
BLAKE2b-256 checksum
How to use checksums
e6df03eec6cc75299232cbd84338b91313a7c2c94f1e5d76791076f1e7a87a42
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 Jul 30, 2026.

Transparency log

Release files / msasim-26.7.30-cp311-cp311-win_amd64.whl

Download URL msasim-26.7.30-cp311-cp311-win_amd64.whl
Size 535.8 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
138eacd6c4f5bc28d93166683159748f0f68065ebe89608c26a83a62b5aad637
BLAKE2b-256 checksum
How to use checksums
f7ec1bbb06eac73f1ca4fdcd385bef8dc48c225720dd89dceaf7598794c74b4b
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 Jul 30, 2026.

Transparency log

Release files / msasim-26.7.30-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL msasim-26.7.30-cp311-cp311-musllinux_1_2_x86_64.whl
Size 1.9 MB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
0d0fe01c72b0289db02fab3cbf5faea4f81937d49a334fbae28d02ab62c0b8b1
BLAKE2b-256 checksum
How to use checksums
554f0671f0b6943d3adb6e1263880d9a4496c87a98c379eea3dcbaa42640e05f
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 Jul 30, 2026.

Transparency log

Release files / msasim-26.7.30-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL msasim-26.7.30-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 799.8 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
e9448d78a12e639ffdde6c4f5bc177f4f8f6928def866f08e40b0683094e298d
BLAKE2b-256 checksum
How to use checksums
33f3f00ce43edf66064e630efd9cdc734333c5a28bedcb87dfd62b663ddfe359
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 Jul 30, 2026.

Transparency log

Release files / msasim-26.7.30-cp311-cp311-macosx_11_0_arm64.whl

Download URL msasim-26.7.30-cp311-cp311-macosx_11_0_arm64.whl
Size 690.2 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
0b0faa8344d457a56b0589beccc0b1fc6fe49c59b7cd43fa106e40a7cda4b56b
BLAKE2b-256 checksum
How to use checksums
f83600853bf19f90931ddf9073a997d017e17d46ae569bafc1917bf487c84679
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 Jul 30, 2026.

Transparency log

Release files / msasim-26.7.30-cp311-cp311-macosx_10_15_x86_64.whl

Download URL msasim-26.7.30-cp311-cp311-macosx_10_15_x86_64.whl
Size 723.6 kB
Tags CPython 3.11 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
e5775ff0d865468b60cd5523f4a9cda95118bc533f3f87acbe8fa15e66e925d4
BLAKE2b-256 checksum
How to use checksums
42763b29df60ae11e4270abd65cf5c27d619b5340552c559266008771d323122
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 Jul 30, 2026.

Transparency log

Release files / msasim-26.7.30-cp310-cp310-win_amd64.whl

Download URL msasim-26.7.30-cp310-cp310-win_amd64.whl
Size 534.8 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
d46a339bd3ef43c25282a02a27a7350919c20f93bc25600010eaf1651d72c346
BLAKE2b-256 checksum
How to use checksums
c5440cf40af42390b3876ad21d31d6442a4504fb2c4d9cfec89c849c2d5eb869
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 Jul 30, 2026.

Transparency log

Release files / msasim-26.7.30-cp310-cp310-musllinux_1_2_x86_64.whl

Download URL msasim-26.7.30-cp310-cp310-musllinux_1_2_x86_64.whl
Size 1.9 MB
Tags CPython 3.10 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
7a5c0c4519728a31e6147bbc898f8c510b28b64bca0dd1c6ccbd215fcb35d248
BLAKE2b-256 checksum
How to use checksums
2fb7fa16f7c362ac053785ea52b26ec6d75a80b0d742656db0c1c11f31da04a4
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 Jul 30, 2026.

Transparency log

Release files / msasim-26.7.30-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL msasim-26.7.30-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 798.6 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
c50efccebced58ee6fcefaccd9cb6ca4f3f6ea5d60c353d6c61381210c6bea3f
BLAKE2b-256 checksum
How to use checksums
3709df20ca6d78f06632a707dc7476d1d32e6e4395491d069e206fb8e8bc5651
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 Jul 30, 2026.

Transparency log

Release files / msasim-26.7.30-cp310-cp310-macosx_11_0_arm64.whl

Download URL msasim-26.7.30-cp310-cp310-macosx_11_0_arm64.whl
Size 689.2 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
8b6a7c2b059589ca70c8ef034304933e077d3cbd5ad31914efebe7c14e6de1f6
BLAKE2b-256 checksum
How to use checksums
68dc73624f670f20737e4c0065f1b633ec341f1c1458e66d5a5d99600e571fea
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 Jul 30, 2026.

Transparency log

Release files / msasim-26.7.30-cp310-cp310-macosx_10_15_x86_64.whl

Download URL msasim-26.7.30-cp310-cp310-macosx_10_15_x86_64.whl
Size 722.1 kB
Tags CPython 3.10 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
0b1647700854c447664b7a89a577736613e19bcc591507121919cfbbc0cd2cfd
BLAKE2b-256 checksum
How to use checksums
295e26144a4ddce114758bc01109301629ebdb87f46caf5893d522c83bc9fac4
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 Jul 30, 2026.

Transparency log

Release files / msasim-26.7.30-cp39-cp39-win_amd64.whl

Download URL msasim-26.7.30-cp39-cp39-win_amd64.whl
Size 534.6 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
85807352b71da1e7c5b8a99f51f1b697bd46f8cae5c6aac07580e0f6f8ff5391
BLAKE2b-256 checksum
How to use checksums
6d3855f15163d4a05419e82f8b1cc3599cf27c998326065d7e2f425ce45328c5
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 Jul 30, 2026.

Transparency log

Release files / msasim-26.7.30-cp39-cp39-musllinux_1_2_x86_64.whl

Download URL msasim-26.7.30-cp39-cp39-musllinux_1_2_x86_64.whl
Size 1.9 MB
Tags CPython 3.9 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
40a88bc77be72066bb0dfcc70e1e4007a406d4ee39edd4f7a388fd1c7fc8d21d
BLAKE2b-256 checksum
How to use checksums
256066b198e137e9ab60fbcee37ea46553be29ef8b718a1f354ed3158384b47d
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 Jul 30, 2026.

Transparency log

Release files / msasim-26.7.30-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL msasim-26.7.30-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 799.0 kB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
cb6d66b9749095387bda8bfea4856b1d80ee2a2a361fecc81e172fea011dd0bb
BLAKE2b-256 checksum
How to use checksums
de111f52611493f456778540693119a9a78c03ae2f16cf4afafcebb9678d57c0
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 Jul 30, 2026.

Transparency log

Release files / msasim-26.7.30-cp39-cp39-macosx_11_0_arm64.whl

Download URL msasim-26.7.30-cp39-cp39-macosx_11_0_arm64.whl
Size 689.3 kB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
33d71fbf8a2d9ddfec85d989e5b889d10bd5126caa6fb1a1de42e6cdf3377d9e
BLAKE2b-256 checksum
How to use checksums
c505ed2d901ca2c303cb8f6413804c2792b1f80afe22509dfd9eaf137b455c30
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 Jul 30, 2026.

Transparency log

Release files / msasim-26.7.30-cp39-cp39-macosx_10_15_x86_64.whl

Download URL msasim-26.7.30-cp39-cp39-macosx_10_15_x86_64.whl
Size 722.0 kB
Tags CPython 3.9 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
e01457c516fbb658a230a930110d6b97341063e16573e4ed25578713d62f3111
BLAKE2b-256 checksum
How to use checksums
cef76c5bd425e2892eb9b5c58f57c0ea1b7daa843a7e692897e725be7568a498
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 Jul 30, 2026.

Transparency log

Release files / msasim-26.7.30-cp38-cp38-win_amd64.whl

Download URL msasim-26.7.30-cp38-cp38-win_amd64.whl
Size 534.2 kB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
36942a95f22b5a1a93994eb0200c487ca3aecabb9baaa378159af44403117a2b
BLAKE2b-256 checksum
How to use checksums
6fef553cd57af151ebb7a60a117db437c3c6ee5e3fbb827b48ac57ea3d0ad843
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 Jul 30, 2026.

Transparency log

Release files / msasim-26.7.30-cp38-cp38-musllinux_1_2_x86_64.whl

Download URL msasim-26.7.30-cp38-cp38-musllinux_1_2_x86_64.whl
Size 1.9 MB
Tags CPython 3.8 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
5a89783038e94c35858f46b7cdef159fcd2f590e6bcf0431726e7e18c08a4ae5
BLAKE2b-256 checksum
How to use checksums
e9377f8739f6818350fe4ea7f510f1fb0c231676d882c5308b5e20a0f191e571
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 Jul 30, 2026.

Transparency log

Release files / msasim-26.7.30-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL msasim-26.7.30-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 798.2 kB
Tags CPython 3.8 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
bacb95b13bb41d1caf97fae39222fbfa5063bb96e97f75025edc79adce51b61b
BLAKE2b-256 checksum
How to use checksums
d5746a8b07719cf2acec1b9086997e03706164d27a88480154f4e048b5458e62
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 Jul 30, 2026.

Transparency log

Release files / msasim-26.7.30-cp38-cp38-macosx_11_0_arm64.whl

Download URL msasim-26.7.30-cp38-cp38-macosx_11_0_arm64.whl
Size 688.5 kB
Tags CPython 3.8 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
a5bdf783cc09823c382e9de74f7a64825f64942618267aaeaece25d379bc91ff
BLAKE2b-256 checksum
How to use checksums
f9090e22ac5335d13c8af87e489627619f931346bb81a4e59d3729f663c2ae81
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 Jul 30, 2026.

Transparency log

Release files / msasim-26.7.30-cp38-cp38-macosx_10_15_x86_64.whl

Download URL msasim-26.7.30-cp38-cp38-macosx_10_15_x86_64.whl
Size 721.5 kB
Tags CPython 3.8 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
225402031649eccfed695dd3d1ef4b4e2f310f61fdeca8d0ba689937301f6df8
BLAKE2b-256 checksum
How to use checksums
b17a48149e8d95339913e59ae90e24694c231cd29db269d7c8b427613a83bd7e
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 Jul 30, 2026.

Transparency log

Release files / msasim-26.7.30-cp37-cp37m-win_amd64.whl

Download URL msasim-26.7.30-cp37-cp37m-win_amd64.whl
Size 508.7 kB
Tags CPython 3.7 CPython 3.7 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
4d8340e889fde8fdc2efda4775b86c17cee6a0700f62ab1ec48b7f1c3202856a
BLAKE2b-256 checksum
How to use checksums
10e3225a6edaa8557c5e121549e5d89eded4b35280b1a5c8cc5d0dcaf5fb3fc8
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 Jul 30, 2026.

Transparency log

Release files / msasim-26.7.30-cp37-cp37m-musllinux_1_2_x86_64.whl

Download URL msasim-26.7.30-cp37-cp37m-musllinux_1_2_x86_64.whl
Size 1.8 MB
Tags CPython 3.7 CPython 3.7 pymalloc Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
34e2bb7bd0fe42ecf05c03ee0b0f56ed2129ea3121bcbcf1d0d858d4b8b45d07
BLAKE2b-256 checksum
How to use checksums
f388bfdda677a60073d087ad135bf93c5d8d577b0c122e574d1c0f59e2f26943
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 Jul 30, 2026.

Transparency log

Release files / msasim-26.7.30-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL msasim-26.7.30-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 770.1 kB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
f1d1a2ad4d038e9fe6307aa1ff69ac1ac3962dce34909bcfb424c3c91caebdf2
BLAKE2b-256 checksum
How to use checksums
fe79643c729a900396653317bfc1c436c71935ba041cf85ded8968efc3924b21
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 Jul 30, 2026.

Transparency log

Release files / msasim-26.7.30-cp37-cp37m-macosx_10_15_x86_64.whl

Download URL msasim-26.7.30-cp37-cp37m-macosx_10_15_x86_64.whl
Size 693.0 kB
Tags CPython 3.7 CPython 3.7 pymalloc macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
66e9fad12104b86b16ae9984dd8efa553c93b4c23d4121daf9af9346accda64c
BLAKE2b-256 checksum
How to use checksums
2c1929aed006907edf953082db2dce57da18338cc67321fd5941c939c067a989
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 Jul 30, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

26.7.30 This release

35 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