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.14

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.14
File Size Uploaded
msasim-26.7.14.tar.gz 30.4 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for msasim 26.7.14
File
msasim-26.7.14-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
msasim-26.7.14-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details
msasim-26.7.14-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.14-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
msasim-26.7.14-cp313-cp313-macosx_10_15_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.15+ x86-64 Details
msasim-26.7.14-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
msasim-26.7.14-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details
msasim-26.7.14-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.14-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
msasim-26.7.14-cp312-cp312-macosx_10_15_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.15+ x86-64 Details
msasim-26.7.14-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
msasim-26.7.14-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details
msasim-26.7.14-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.14-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
msasim-26.7.14-cp311-cp311-macosx_10_15_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.15+ x86-64 Details
msasim-26.7.14-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
msasim-26.7.14-cp310-cp310-musllinux_1_2_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ x86-64 Details
msasim-26.7.14-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.14-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
msasim-26.7.14-cp310-cp310-macosx_10_15_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.15+ x86-64 Details
msasim-26.7.14-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
msasim-26.7.14-cp39-cp39-musllinux_1_2_x86_64.whl CPython 3.9 CPython 3.9 Linux musl 1.2+ x86-64 Details
msasim-26.7.14-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.14-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details
msasim-26.7.14-cp39-cp39-macosx_10_15_x86_64.whl CPython 3.9 CPython 3.9 macOS 10.15+ x86-64 Details
msasim-26.7.14-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details
msasim-26.7.14-cp38-cp38-musllinux_1_2_x86_64.whl CPython 3.8 CPython 3.8 Linux musl 1.2+ x86-64 Details
msasim-26.7.14-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.14-cp38-cp38-macosx_11_0_arm64.whl CPython 3.8 CPython 3.8 macOS 11.0+ ARM64 Details
msasim-26.7.14-cp38-cp38-macosx_10_15_x86_64.whl CPython 3.8 CPython 3.8 macOS 10.15+ x86-64 Details
msasim-26.7.14-cp37-cp37m-win_amd64.whl CPython 3.7 CPython 3.7 pymalloc Windows x86-64 Details
msasim-26.7.14-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.14-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.14-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.14.tar.gz

Download URL msasim-26.7.14.tar.gz
Size 30.4 kB
Tags Source
SHA-256 checksum
How to use checksums
2dc9d9595838b05857f39f78571b783a29a3d7599720419ff97a6f6f63612ad0
BLAKE2b-256 checksum
How to use checksums
114e46eefa2e78e302927207cf9b593f5c7c22257ad6f89e66398a77de9eea6e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 16, 2026.

Transparency log

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

Download URL msasim-26.7.14-cp313-cp313-win_amd64.whl
Size 539.2 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
e1b919b466b56b996782d5917d35e479d4805127047b0192cd84342e76de743f
BLAKE2b-256 checksum
How to use checksums
192ae7f955d36f675007667a171433ef32696e9ce5279c2b7fff865446414f3b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 16, 2026.

Transparency log

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

Download URL msasim-26.7.14-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
1ce294658b85cc1dcb9e12179f1eee8966a2e8b405a51f5aba5e40f9afa49b94
BLAKE2b-256 checksum
How to use checksums
fadf7cda158fccf2cc3132e64a0b9211babbafb629293efc47f5d8cfc201e4c4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 16, 2026.

Transparency log

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

Download URL msasim-26.7.14-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 796.6 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
1b19a33f3c951892d3ca95eceb62bda1d61a93ce81d687e6d1b2820be1311d3f
BLAKE2b-256 checksum
How to use checksums
0653cc7a17fb60b5ba97877177f0e667eae3fe25ff6d636016a797d607c39e5f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 16, 2026.

Transparency log

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

Download URL msasim-26.7.14-cp313-cp313-macosx_11_0_arm64.whl
Size 690.6 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
c4c9e5c63776d7e785cc31a742a8990ce102962f730e018b9cc50243e32a7cbb
BLAKE2b-256 checksum
How to use checksums
1bb9f140b8b9db2e8a840b8c15fb31cda2b0095ddc22e57199134f83380fb8ae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 16, 2026.

Transparency log

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

Download URL msasim-26.7.14-cp313-cp313-macosx_10_15_x86_64.whl
Size 729.5 kB
Tags CPython 3.13 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
0244c3afeac0614bbafcb87217d37dadf8395467e7c322fb56e5d0273a0b092d
BLAKE2b-256 checksum
How to use checksums
c416422d8bbede02d794268f80acea359ca030940a6453546d0274a770d6bb0a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 16, 2026.

Transparency log

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

Download URL msasim-26.7.14-cp312-cp312-win_amd64.whl
Size 539.2 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
082f6151362123f3080fb0642b0fea6ea8f6613566c6fb8bdb9616fca2a404e2
BLAKE2b-256 checksum
How to use checksums
32df87902b05f449cf7ebea673c9775519c5d883b7b8ac1e9f24b5ff227bb662
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 16, 2026.

Transparency log

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

Download URL msasim-26.7.14-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
b7191cbbb023c316be04656cd27aa3c53484e45f4f6cef47e59139085b1c6881
BLAKE2b-256 checksum
How to use checksums
5cc774fbb61e0b2b0149a315888e93c7136d62706055c25f145809066ae250ee
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 16, 2026.

Transparency log

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

Download URL msasim-26.7.14-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 796.8 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
74c9bada78176dbfc6b79402ca563e1ba00a15fd0508f4f67db969d92d06f7dd
BLAKE2b-256 checksum
How to use checksums
b1705d7a639e90d7eced1d2a53a6c7c1bcc342afa9e170b5d2af5cbb435f1f05
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 16, 2026.

Transparency log

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

Download URL msasim-26.7.14-cp312-cp312-macosx_11_0_arm64.whl
Size 690.4 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
404dc7f6bbce8e95f1727cff27b247e293916caea561ccb4e0ed108673b68f15
BLAKE2b-256 checksum
How to use checksums
046106205da5a9c510c328833ea4fb9343994972ad0357091a5900389d592613
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 16, 2026.

Transparency log

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

Download URL msasim-26.7.14-cp312-cp312-macosx_10_15_x86_64.whl
Size 729.4 kB
Tags CPython 3.12 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
659d82d868bc819d6e27995c9679b50835a41203209c7483b60cea9e3dee283d
BLAKE2b-256 checksum
How to use checksums
0cc0b01614f6c3c0b8298af0b3a6dc1312acd69d2b5ff8c231b88be410a7db5f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 16, 2026.

Transparency log

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

Download URL msasim-26.7.14-cp311-cp311-win_amd64.whl
Size 535.3 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
6e90f9d4f44c033f4567d39579479f8c33fa79f6129b631a972479d0b6301a8d
BLAKE2b-256 checksum
How to use checksums
d9c468ff951248c729cb1eaa902426acb76a65cb253ac9921c83d7d11c803687
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 16, 2026.

Transparency log

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

Download URL msasim-26.7.14-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
7991a1f8e6640d18b1ae28c0696dd71bb34e29e6573e8eb09129e4e14e7053ac
BLAKE2b-256 checksum
How to use checksums
e13fd92b3e91832f3de1286a03e5fee515047290ff26bb3d1aa57fa9b944d869
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 16, 2026.

Transparency log

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

Download URL msasim-26.7.14-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 799.9 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
70e207acb40f18a4138893d08e14db537ebb83cc0df898182f1d42e22ca1a6fe
BLAKE2b-256 checksum
How to use checksums
6e345720bf746bf2847d9328c8eaa2aa44212131239914054acbe43ed7761457
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 16, 2026.

Transparency log

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

Download URL msasim-26.7.14-cp311-cp311-macosx_11_0_arm64.whl
Size 690.1 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
7a823b5006e5a9754949b127daa74046f57ba50b9984e193b6ecb015df6d0271
BLAKE2b-256 checksum
How to use checksums
2d56544d5a09d0258a2b355b5b75c68f018bbe3b05945d3da8825615f088e2de
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 16, 2026.

Transparency log

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

Download URL msasim-26.7.14-cp311-cp311-macosx_10_15_x86_64.whl
Size 722.7 kB
Tags CPython 3.11 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
468f18469a54a6ee669a602d80f07d5a79430298272ac04e8a3d6d263c41252b
BLAKE2b-256 checksum
How to use checksums
fd44efc4c86318b1bff0f8f38453abe7f6c1dcf02de824fc6191fa4f63b4f3dc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 16, 2026.

Transparency log

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

Download URL msasim-26.7.14-cp310-cp310-win_amd64.whl
Size 534.3 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
bd0b3eb019526def52b0a125483c08d4e44eb76ef1ac47a8c36afbb4d4a5b09f
BLAKE2b-256 checksum
How to use checksums
3ad4791b66fa825784c3d1c5614c729a6f68080cb494305f0037cb64dcf2ebc4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 16, 2026.

Transparency log

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

Download URL msasim-26.7.14-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
b9403a182aa424cb80badc9d28f1c9522eddaba44021bd030e6645ff9d43d289
BLAKE2b-256 checksum
How to use checksums
496e075ada81d6207f6bd704f5e0c0f764f2e0299e7d82b83c3cd9027d529f8d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 16, 2026.

Transparency log

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

Download URL msasim-26.7.14-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 798.7 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
2701b9dc30d89e582720ead13cf07e45ecc7651753ec8b93b65cb5d01f79e945
BLAKE2b-256 checksum
How to use checksums
95a19938c576878f041c4ee3e5bf710a1b48e360fa8583dfe7dd93206bd7f7a9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 16, 2026.

Transparency log

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

Download URL msasim-26.7.14-cp310-cp310-macosx_11_0_arm64.whl
Size 689.3 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
3fd6e6bded08db14a56e0d085186d7ec23ec12475a07ce3505e3e220946ed129
BLAKE2b-256 checksum
How to use checksums
420980ca876682db71c1e0d9ef8d91819633e904a98b1e8b3066e9cecb84a590
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 16, 2026.

Transparency log

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

Download URL msasim-26.7.14-cp310-cp310-macosx_10_15_x86_64.whl
Size 721.3 kB
Tags CPython 3.10 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
c19fd3d63e53885daf5f92abf12a5ea0534d520986717ef746b2c1776b551dac
BLAKE2b-256 checksum
How to use checksums
e1b18d6851930467f7cb9110d18d0007af6cfd411d227e69f04f0f8007fe6d95
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 16, 2026.

Transparency log

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

Download URL msasim-26.7.14-cp39-cp39-win_amd64.whl
Size 534.4 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
4d77de7220aef91d2b28d0b7687d0807e646cd9bf83a9364a3100c69ccdc2b24
BLAKE2b-256 checksum
How to use checksums
76bc058e37e50049c9776cab1e61df081034511eda43c1df60135d7223470b8a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 16, 2026.

Transparency log

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

Download URL msasim-26.7.14-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
bfcbb3e0d3b51d18552e2d688475fed782e91ca4f93914bfe2865ea638d8f5bd
BLAKE2b-256 checksum
How to use checksums
b673db066ab8a3b3d45fe169ba2ff3bd252bd6542da994f320af77f81b55de9d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 16, 2026.

Transparency log

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

Download URL msasim-26.7.14-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
e2ea0d0b162ca0ce99eec7b70251bfa84a9ae0ceb32e9ade5ddb61430063cba9
BLAKE2b-256 checksum
How to use checksums
ca52f1a0e9d6a9f1ac86c3baa7524ec068f13b6bb68fa8e7032db70a285ba32a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 16, 2026.

Transparency log

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

Download URL msasim-26.7.14-cp39-cp39-macosx_11_0_arm64.whl
Size 689.4 kB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
64d7d8c28846ff0cb15aa353f3d9f53dc62f9e61bc21597b13de75b145f1930f
BLAKE2b-256 checksum
How to use checksums
cdd434e0b9424916be7fcbb7917032e46a2450668ad582279c7516c60468ba13
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 16, 2026.

Transparency log

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

Download URL msasim-26.7.14-cp39-cp39-macosx_10_15_x86_64.whl
Size 721.2 kB
Tags CPython 3.9 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
4a0ec984f963701a378a1b79d4a0fc0e6d9520a60d1ecc99f3156611d39a075c
BLAKE2b-256 checksum
How to use checksums
246b952f018e7377ec6d15a63eca4da135fec9c5f96f5fe42828bbcc30044c57
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 16, 2026.

Transparency log

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

Download URL msasim-26.7.14-cp38-cp38-win_amd64.whl
Size 533.8 kB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
cf1925de4b67ba63acade16b2c6ab307c614078ee8e11a6651dd41d6e215599b
BLAKE2b-256 checksum
How to use checksums
ac23ccac658cf1c4a47aa8c8b6e469d1177361b3f00bc2fa80ed5370983be98d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 16, 2026.

Transparency log

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

Download URL msasim-26.7.14-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
c431a984ce5867960d11f43484b2a07fa53b80c9de448ea943ec9ad501c3b17f
BLAKE2b-256 checksum
How to use checksums
e30c9f96a22dc9be5ddab68496ba43f8ac9c58bbc7038c8ad8610a384fd308d9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 16, 2026.

Transparency log

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

Download URL msasim-26.7.14-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 798.5 kB
Tags CPython 3.8 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
2051ef0cf639addba3f4aba67e9bf2b860768e6b5404bc0c47744a9cc1c5e3f8
BLAKE2b-256 checksum
How to use checksums
22c45a337b78361ff2dce34e5d24edfd7b44c584550439b01b820d1a5346c715
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 16, 2026.

Transparency log

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

Download URL msasim-26.7.14-cp38-cp38-macosx_11_0_arm64.whl
Size 688.9 kB
Tags CPython 3.8 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
d82c6123b8c2a385563706e991d301eee46ed8ff1963e516b6a10b6d07b14059
BLAKE2b-256 checksum
How to use checksums
0ecf9ec5063bb87eba2e098fede17fe11d817e54880813626e132d302a0169e5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 16, 2026.

Transparency log

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

Download URL msasim-26.7.14-cp38-cp38-macosx_10_15_x86_64.whl
Size 720.8 kB
Tags CPython 3.8 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
08eb0377fc2790df12880f864162dbade74c190edfb35bbf8143666c566a5896
BLAKE2b-256 checksum
How to use checksums
d9a8929a2b7e6259990bffcc29bbea9e230a1ed277bcbdc21b40b7d75125d326
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 16, 2026.

Transparency log

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

Download URL msasim-26.7.14-cp37-cp37m-win_amd64.whl
Size 508.4 kB
Tags CPython 3.7 CPython 3.7 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
0853d142099cdaeaa09d6c910dd34d3198f03004984741a3a29c49df958896f9
BLAKE2b-256 checksum
How to use checksums
de74cce0f9d622d616b999a89a7439cd29d9aeb356715c3a7b4fa91c313b725a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 16, 2026.

Transparency log

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

Download URL msasim-26.7.14-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
418e6de4b8bc1bba73bed53670b0cac7ec4d4a50b33f0be90a556bdb93bec132
BLAKE2b-256 checksum
How to use checksums
254487e4f0ceb3c568618a61800706a7cbcfa9eab9c9082b499d3629396b6bf1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 16, 2026.

Transparency log

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

Download URL msasim-26.7.14-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 770.5 kB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
68c2a8b44752662a2d4863d8a7c3280eb7c66ae504039ca9bc6ba10c6552b4fa
BLAKE2b-256 checksum
How to use checksums
039588f629229fb9919a0a2690cc1dc1015e05d4fc2575d161922309df237b7a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 16, 2026.

Transparency log

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

Download URL msasim-26.7.14-cp37-cp37m-macosx_10_15_x86_64.whl
Size 692.3 kB
Tags CPython 3.7 CPython 3.7 pymalloc macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
f39a3dbd6892edacb185b22026f0999debfc17d21e14e64ecf5ac9a3f9c447be
BLAKE2b-256 checksum
How to use checksums
e33df0765b4a25575f65f9d84a7b1430a929ed794f17c7709bd551638443f0ba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 16, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

26.7.14 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