Skip to main content

AsterVec

Memory-friendly vector engine for on-device AI memory.

Quick Start · Why · How it works · Docs

CI PyPI Python versions License

AsterVec is a vector search engine that keeps its index on disk and puts as little as possible in memory. RAM holds only a small navigation structure and caches, so an application can search millions of embeddings within a few hundred MB of memory. It is built for local AI agents and desktop RAG.

At the heart of AsterVec is one architectural decision: on disk, the graph and the vectors are stored separately, because the two parts are updated and accessed in essentially different patterns.

  • Graph — edges churn in small, scattered writes, so they live in Aster, a graph-oriented LSM-tree that absorbs them out of place.
  • Vectors — they rarely change once written, so they live in packed pages built for bulk reads.

Keeping the two apart is what makes updates cheap: a graph change writes only edges and never touches a vector page.

Quick start

pip install aster-vec
import astervec

opts = astervec.AsterVecDBOptions()
opts.dim = 128
opts.vector_file_path = "./db/vectors.bin"
db = astervec.AsterVecDB.open("./db", opts)

db.insert(1, [0.1] * 128, metadata={"source": "notes"})

hits = db.search([0.1] * 128, k=10, filter={"source": "notes"})
for h in hits:
    print(h["id"], h["distance"])

db.close()

Your data stays live — no index rebuilds:

db.update(7, new_vector)          # document re-embedded? just update it
db.delete(3)                      # real deletes — space is reclaimed
db.bulk_build(embeddings)         # fast initial load (NumPy accepted)

Why AsterVec

  • 🪶 Small memory, by design — RAM holds only the navigation structure and caches. You choose the memory budget, and it stays flat as your data grows.
  • 🔁 Live data — insert, update, and delete without ever rebuilding.
  • 🏷️ Filtered search — attach JSON metadata, query it Mongo-style.
  • 🔌 Runs inside your app — a thread-safe Python/C++ library that needs no separate service. An optional HTTP server is included for when you want one.
Search speed Memory needed
In-memory graph index (HNSW libraries) fast grows with your data
On-disk list index (IVF) slower small
AsterVec — graph index, on disk graph-fast small

How it works

Your app's process
  └─ AsterVec
       ├─ Memory — upper navigation layers + caches   (small, bounded)
       └─ Disk — two separate stores, updated independently:
            ├─ Graph store   — base-layer edges in Aster, a graph-oriented LSM-tree, built for small, frequent link updates
            └─ Vector store  — related vectors stored in nearby pages, compressed

For example, when graph and vectors share one disk record, recording a single new edge can move about 8 KB of vector data that did not change. In AsterVec, that edge lands in the graph store alone. On the vector side, related vectors are packed onto the same pages, so one read serves many candidate evaluations.

Documentation

Guide
Python & C++ API reference docs/API_REFERENCE.md
Python SDK guide docs/python_sdk_guide.md
Configuration options docs/API_REFERENCE.md §7
HTTP server (optional) docs/HTTP_API.md
Troubleshooting docs/TROUBLESHOOTING.md
Build from source CONTRIBUTING.md

Prefer a REST boundary? astervec_http serves the same engine over HTTP — see docs/HTTP_API.md.

Contributing

Contributions are welcome — CONTRIBUTING.md has build steps, tests, and PR expectations.

License

Apache-2.0 — see LICENSE.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

aster_vec-0.2.1-cp313-cp313-manylinux_2_28_x86_64.whl (3.8 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

aster_vec-0.2.1-cp313-cp313-manylinux_2_28_aarch64.whl (3.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

aster_vec-0.2.1-cp313-cp313-macosx_14_0_arm64.whl (2.7 MB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

aster_vec-0.2.1-cp313-cp313-macosx_13_0_x86_64.whl (3.0 MB view details)

Uploaded CPython 3.13macOS 13.0+ x86-64

aster_vec-0.2.1-cp312-cp312-manylinux_2_28_x86_64.whl (3.8 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

aster_vec-0.2.1-cp312-cp312-manylinux_2_28_aarch64.whl (3.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

aster_vec-0.2.1-cp312-cp312-macosx_14_0_arm64.whl (2.7 MB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

aster_vec-0.2.1-cp312-cp312-macosx_13_0_x86_64.whl (3.0 MB view details)

Uploaded CPython 3.12macOS 13.0+ x86-64

aster_vec-0.2.1-cp311-cp311-manylinux_2_28_x86_64.whl (3.8 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

aster_vec-0.2.1-cp311-cp311-manylinux_2_28_aarch64.whl (3.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

aster_vec-0.2.1-cp311-cp311-macosx_14_0_arm64.whl (2.7 MB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

aster_vec-0.2.1-cp311-cp311-macosx_13_0_x86_64.whl (3.0 MB view details)

Uploaded CPython 3.11macOS 13.0+ x86-64

aster_vec-0.2.1-cp310-cp310-manylinux_2_28_x86_64.whl (3.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

aster_vec-0.2.1-cp310-cp310-manylinux_2_28_aarch64.whl (3.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

aster_vec-0.2.1-cp310-cp310-macosx_14_0_arm64.whl (2.7 MB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

aster_vec-0.2.1-cp310-cp310-macosx_13_0_x86_64.whl (3.0 MB view details)

Uploaded CPython 3.10macOS 13.0+ x86-64

aster_vec-0.2.1-cp39-cp39-manylinux_2_28_x86_64.whl (3.8 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ x86-64

aster_vec-0.2.1-cp39-cp39-manylinux_2_28_aarch64.whl (3.5 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ ARM64

aster_vec-0.2.1-cp39-cp39-macosx_14_0_arm64.whl (2.7 MB view details)

Uploaded CPython 3.9macOS 14.0+ ARM64

aster_vec-0.2.1-cp39-cp39-macosx_13_0_x86_64.whl (3.0 MB view details)

Uploaded CPython 3.9macOS 13.0+ x86-64

File details

Details for the file aster_vec-0.2.1-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for aster_vec-0.2.1-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f93d540c1228c550eba5bd27565a9583cde9d7c9659fbb08fc0f9784c1487a63
MD5 fe911de1d075ea2d7aff854bb3cf0325
BLAKE2b-256 9bf6713c1670f87ccd770cbe58c27d51e878af5b3e1665af6e694540403802fb

See more details on using hashes here.

Provenance

The following attestation bundles were made for aster_vec-0.2.1-cp313-cp313-manylinux_2_28_x86_64.whl:

Publisher: publish.yml on NTU-Siqiang-Group/AsterVec

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aster_vec-0.2.1-cp313-cp313-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for aster_vec-0.2.1-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c8bd1d3dc5115a9c65f8832c900decbd75662b30cf60dea7e0c95525e6d82bfc
MD5 80f8ea51a95501ed62aea80e28ff5fb6
BLAKE2b-256 cc69a7916e4acfc5d29ff5cdefd0b79d9a2871d99233fa8c662691192d3c7e8d

See more details on using hashes here.

Provenance

The following attestation bundles were made for aster_vec-0.2.1-cp313-cp313-manylinux_2_28_aarch64.whl:

Publisher: publish.yml on NTU-Siqiang-Group/AsterVec

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aster_vec-0.2.1-cp313-cp313-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for aster_vec-0.2.1-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 7a830aa1bd3f385bf70febb63fb1d340ddf119994c06a123d1d5dbf17cc49367
MD5 28a1a0565759ce79b8d16286690f2d65
BLAKE2b-256 77c6b476e3e93e52ed50dedaf16d643f5c22d682e5b9cd0dd063217968a56419

See more details on using hashes here.

Provenance

The following attestation bundles were made for aster_vec-0.2.1-cp313-cp313-macosx_14_0_arm64.whl:

Publisher: publish.yml on NTU-Siqiang-Group/AsterVec

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aster_vec-0.2.1-cp313-cp313-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for aster_vec-0.2.1-cp313-cp313-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 a15d2f556ddc06858a2174aaad25be420708af0f4ac058433d5ab1f42b698162
MD5 705dd5a7e86a6ff1b00361396bb2cbb2
BLAKE2b-256 ae06e0345c604e139bfcbb326eea06faa2727ec79b0e048a02e8df4016748a65

See more details on using hashes here.

Provenance

The following attestation bundles were made for aster_vec-0.2.1-cp313-cp313-macosx_13_0_x86_64.whl:

Publisher: publish.yml on NTU-Siqiang-Group/AsterVec

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aster_vec-0.2.1-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for aster_vec-0.2.1-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 da68f5d456b1364bd651c4330e41a81d1368b9517d0de3083ddd77e9924c6468
MD5 166552c526ca1981ed88766d93324063
BLAKE2b-256 50ca5f470c739c58246f69dccc2e7c8a2aecf02cf7cc8b7dd48fbeb2806d8f6b

See more details on using hashes here.

Provenance

The following attestation bundles were made for aster_vec-0.2.1-cp312-cp312-manylinux_2_28_x86_64.whl:

Publisher: publish.yml on NTU-Siqiang-Group/AsterVec

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aster_vec-0.2.1-cp312-cp312-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for aster_vec-0.2.1-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 003b172b9d24eb85766f538cd64947616bc6ad1442edc1cde2883ad938ee834e
MD5 e98592ce4618e97ee8408f379fa4b72a
BLAKE2b-256 1937d5863794144c88cdec0694076a91cfeb2f2d63eff3a035edc89e5645cdc6

See more details on using hashes here.

Provenance

The following attestation bundles were made for aster_vec-0.2.1-cp312-cp312-manylinux_2_28_aarch64.whl:

Publisher: publish.yml on NTU-Siqiang-Group/AsterVec

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aster_vec-0.2.1-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for aster_vec-0.2.1-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 23f96d460cd47ebaa79613a1a9cd1ab75b72f0c2d050c23a96c75fa31e9fd713
MD5 1fd054bc8b59603fe5b2c5acce39cc44
BLAKE2b-256 ecd92c6fbbf08c3a75953753929c643c0a7cea8ba3f8915f56fda1f873ab90eb

See more details on using hashes here.

Provenance

The following attestation bundles were made for aster_vec-0.2.1-cp312-cp312-macosx_14_0_arm64.whl:

Publisher: publish.yml on NTU-Siqiang-Group/AsterVec

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aster_vec-0.2.1-cp312-cp312-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for aster_vec-0.2.1-cp312-cp312-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 edb366408efdf5f03cf841ca6e34dcf69663f0de90d483d72972c310dca26970
MD5 bc9d9831cee99cf999710015a2f52e36
BLAKE2b-256 53e7aa0cc34e31c8670f78dd6aabfbd487835b2a9e4d40b1963cb6936f98b9e6

See more details on using hashes here.

Provenance

The following attestation bundles were made for aster_vec-0.2.1-cp312-cp312-macosx_13_0_x86_64.whl:

Publisher: publish.yml on NTU-Siqiang-Group/AsterVec

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aster_vec-0.2.1-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for aster_vec-0.2.1-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4e7a7e9573cf55c5710f217006189506c80b655b2921cffdf63064b831042157
MD5 aadc447acb8d9cf2683b686355af7ffd
BLAKE2b-256 804f543c33727cbcd1eb3c097ccd199cdbabb05c70ae07aa5ed6b74c1325bb4a

See more details on using hashes here.

Provenance

The following attestation bundles were made for aster_vec-0.2.1-cp311-cp311-manylinux_2_28_x86_64.whl:

Publisher: publish.yml on NTU-Siqiang-Group/AsterVec

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aster_vec-0.2.1-cp311-cp311-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for aster_vec-0.2.1-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e2298cb813302599acf66db4282e02277c45c6b9a9e9407417933aba7776f9ed
MD5 15a31abe94eacf50308caeab2bb50be6
BLAKE2b-256 00a8099c1ccb0ebc559c80c85d821c48df10a2311b7ea3157337a4afe0eb25f6

See more details on using hashes here.

Provenance

The following attestation bundles were made for aster_vec-0.2.1-cp311-cp311-manylinux_2_28_aarch64.whl:

Publisher: publish.yml on NTU-Siqiang-Group/AsterVec

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aster_vec-0.2.1-cp311-cp311-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for aster_vec-0.2.1-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 dc30a34163267a0a49e9b6e185bfb3f4033c78926e631c81321815e60b9c560c
MD5 3f0b0a682250a46662fe11ebaeae1e87
BLAKE2b-256 8f313c2587166da58939c5549bcb768fdbec0a1df9db0ef7e4b7ce3caff4212b

See more details on using hashes here.

Provenance

The following attestation bundles were made for aster_vec-0.2.1-cp311-cp311-macosx_14_0_arm64.whl:

Publisher: publish.yml on NTU-Siqiang-Group/AsterVec

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aster_vec-0.2.1-cp311-cp311-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for aster_vec-0.2.1-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 f3f9823974fce19ea64202f9650397d75b4a24af4d8bd8b561373ea4632ba90d
MD5 a6bcded9d556cb1b96ce702299a0cc11
BLAKE2b-256 8ecfbe860503d6baca5cf73d17305b9d3bf470709431ddf4ce02c158cdd1f4ec

See more details on using hashes here.

Provenance

The following attestation bundles were made for aster_vec-0.2.1-cp311-cp311-macosx_13_0_x86_64.whl:

Publisher: publish.yml on NTU-Siqiang-Group/AsterVec

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aster_vec-0.2.1-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for aster_vec-0.2.1-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a383ae3cd4b16e681098f6c39300da7295c5f0c76ee49c465fe3b5915e7701e5
MD5 dd30fad0990339a04d346dbf5df5e556
BLAKE2b-256 598ff73b111f41312867db0be5ae1eea65a8d9a618d5f7aaa7bda51d0030d05d

See more details on using hashes here.

Provenance

The following attestation bundles were made for aster_vec-0.2.1-cp310-cp310-manylinux_2_28_x86_64.whl:

Publisher: publish.yml on NTU-Siqiang-Group/AsterVec

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aster_vec-0.2.1-cp310-cp310-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for aster_vec-0.2.1-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 1f05c34ea7130cefbbed633f3409f8f99c897325949084a703edaf5b5b5d2974
MD5 4537791fe86955d1e763ec9e42b25e6d
BLAKE2b-256 fd4367824340f7c93a88ae255791e90dd07d3176f8c8db59ce15a3be01e3ba42

See more details on using hashes here.

Provenance

The following attestation bundles were made for aster_vec-0.2.1-cp310-cp310-manylinux_2_28_aarch64.whl:

Publisher: publish.yml on NTU-Siqiang-Group/AsterVec

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aster_vec-0.2.1-cp310-cp310-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for aster_vec-0.2.1-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 22236f9c88900893abfdb059adde1478c361fc409304598243a90c74133ce850
MD5 3b23b9ccc1334f33792baf84cfbc695b
BLAKE2b-256 d7667122bcb8de3839bfc9a1d036884fa0c3c93b5e1e39598a7be9bcd8a2b483

See more details on using hashes here.

Provenance

The following attestation bundles were made for aster_vec-0.2.1-cp310-cp310-macosx_14_0_arm64.whl:

Publisher: publish.yml on NTU-Siqiang-Group/AsterVec

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aster_vec-0.2.1-cp310-cp310-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for aster_vec-0.2.1-cp310-cp310-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 8c4e28c6a5bd976b06b2c79cb8b106edceb53973a44ef1910097119ffe3641eb
MD5 6153bce21bb73c32669ae337d328c868
BLAKE2b-256 ee1169d8352de0f4780493a6ced91698820abd45abdbf1eb661efde2ab47f9e9

See more details on using hashes here.

Provenance

The following attestation bundles were made for aster_vec-0.2.1-cp310-cp310-macosx_13_0_x86_64.whl:

Publisher: publish.yml on NTU-Siqiang-Group/AsterVec

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aster_vec-0.2.1-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for aster_vec-0.2.1-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 95b6d54de7cd1bf98c81f05cfd47607f825858f37de2927a1fa81c0d323e9c82
MD5 c7b9034dd54ac3ff54ac48c8c808588a
BLAKE2b-256 bc6318509abfaa7fc3af5d854527524be2516db73e00463d48b4c59d1532243f

See more details on using hashes here.

Provenance

The following attestation bundles were made for aster_vec-0.2.1-cp39-cp39-manylinux_2_28_x86_64.whl:

Publisher: publish.yml on NTU-Siqiang-Group/AsterVec

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aster_vec-0.2.1-cp39-cp39-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for aster_vec-0.2.1-cp39-cp39-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 3c881cecee767d4ae3d2a3b19d5bd75241d829e523f496bed3a53313156e33ec
MD5 39d4630a3a706fedeb5f252d80e7226f
BLAKE2b-256 95a9c171536022fdfb6e461e831f88fde9b2d758fa4f924dc1afa9b38659d8b1

See more details on using hashes here.

Provenance

The following attestation bundles were made for aster_vec-0.2.1-cp39-cp39-manylinux_2_28_aarch64.whl:

Publisher: publish.yml on NTU-Siqiang-Group/AsterVec

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aster_vec-0.2.1-cp39-cp39-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for aster_vec-0.2.1-cp39-cp39-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 2ec74fe2c19adffd6c8d999af1488a89b844f2ce190474103ec02d5392a2866c
MD5 6c82248189c892d58f64fca51cce2233
BLAKE2b-256 346bd561d936e58bf5686c0ccdcbdf7c5cc72c3bf9b6250bdfd6e397a27aa479

See more details on using hashes here.

Provenance

The following attestation bundles were made for aster_vec-0.2.1-cp39-cp39-macosx_14_0_arm64.whl:

Publisher: publish.yml on NTU-Siqiang-Group/AsterVec

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aster_vec-0.2.1-cp39-cp39-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for aster_vec-0.2.1-cp39-cp39-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 57bd4368c017d29afd4bb2463c92f3e84bc3b5e93ddace874745668b07e27d4a
MD5 9f0a12d8418e18d19f2e0e7bff4374a0
BLAKE2b-256 60e7bafe8657c4ade4f3a11a2746b671d339395b334287296542d8ea17118419

See more details on using hashes here.

Provenance

The following attestation bundles were made for aster_vec-0.2.1-cp39-cp39-macosx_13_0_x86_64.whl:

Publisher: publish.yml on NTU-Siqiang-Group/AsterVec

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.2.1 This release

20 files

0.2.0

10 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