Skip to main content

normalizer-tr

CI

Turkish text normalization for speech, with a Rust core and a typed Python API. Convert numbers, money, dates, measurements and other supported notation into spoken Turkish while preserving ordinary prose. Runs offline, without a speech model or service. Decimal and money arithmetic is exact.

saat 09:30'da 5 kg malzeme ve %12,5'lik fark
→ saat dokuz otuzda beş kilogram malzeme ve yüzde on iki virgül beşlik fark

Python

python -m pip install normalizer-tr
from normalizer_tr import Normalizer

normalizer = Normalizer()
result = normalizer.normalize("25 TL; 5 kg")
assert result.normalized_text == "yirmi beş Türk lirası; beş kilogram"
assert result.complete

Wheels support CPython 3.11 to 3.14 on Windows and Linux x64, and macOS x64 and arm64. Compatible wheels need no Rust compiler. Platform requirements and source builds.

Rust

Requires Rust 1.94 or newer. Add to Cargo.toml:

[dependencies]
normalizer-tr = "0.7"
use normalizer_tr::{NormalizeError, NormalizeOptions, Normalizer};

fn main() -> Result<(), NormalizeError> {
    let normalizer = Normalizer::new()?;
    let result = normalizer.normalize("25 TL; 5 kg", &NormalizeOptions::default())?;
    assert_eq!(result.normalized_text(), "yirmi beş Türk lirası; beş kilogram");
    assert!(result.complete());
    Ok(())
}

Reuse a Normalizer across calls. It is cloneable and Send + Sync. Enable the optional serde feature to serialize results.

Choose how to handle ambiguity

Policy Behavior
preserve (default) Keep unresolved spans as written. Return complete=false and issues.
reject Return an error if any span is unresolved.
fallback Render unresolved notation and symbols. Return handled assumptions in fallbacks.
result = normalizer.normalize("1.234; AB12", ambiguity_policy="fallback")
assert result.normalized_text == "bin iki yüz otuz dört; a be bir iki"
assert result.complete and not result.issues
assert result.fallback_used

In Rust, set NormalizeOptions.ambiguity_policy to AmbiguityPolicy::Fallback or AmbiguityPolicy::Reject.

Fallback prefers clear formats, then literal readings and named symbols, then spoken Unicode codes. It does not correct invalid facts or certify identifiers. Check fallbacks when those assumptions matter. Invalid input or hints, cancellation and resource limits remain errors in every policy.

Hints provide explicit intent. All hint and diagnostic ranges are original UTF-8 byte offsets, not character positions.

Documentation

Guide Contents
Rust API Types, methods and examples
Python API Hints, errors, cancellation and building
Normalization reference Supported formats and boundaries
Fallback Reading strategies and diagnostics
Contributing Setup, architecture and verification

This is a pre 1.0 library with bounded coverage, not a universal pronunciation engine. See performance for measurements and changelog for release status and migration notes.

The guides track repository behavior: expanded initialism coverage and foreign-name speech aliases are included in 0.5.0. Review the changelog's migration notes before upgrading, especially exhaustive Rust enum matches and strict serialized allowlists.

0.6.0: approved names support plural and possessive suffixes followed by a case suffix, such as iPhone'umdan -> ayfonumdan. Review coverage and migration notes, including changed Instagram and WhatsApp readings, before upgrading.

0.7.0: expanded numeric/quantity suffixes, date formats and clock ranges, flat multiplication readings and contextual address fields. See the normalization reference and migration notes for intentional rate-reading and source-boundary changes. Mixed arithmetic and protected telephone operands remain unresolved; adjacent address fields keep independent ownership.

License

Apache-2.0, with third party notices.

Thanks to @canberk7 for his contribution to fallback support.

Metadata

Release files for normalizer-tr 0.7.0

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

Source distribution (sdist)

Source distribution for normalizer-tr 0.7.0
File Size Uploaded
normalizer_tr-0.7.0.tar.gz 473.7 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for normalizer-tr 0.7.0
File
normalizer_tr-0.7.0-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
normalizer_tr-0.7.0-cp314-cp314-manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64 Details
normalizer_tr-0.7.0-cp314-cp314-macosx_12_0_x86_64.whl CPython 3.14 CPython 3.14 macOS 12.0+ x86-64 Details
normalizer_tr-0.7.0-cp314-cp314-macosx_12_0_arm64.whl CPython 3.14 CPython 3.14 macOS 12.0+ ARM64 Details
normalizer_tr-0.7.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
normalizer_tr-0.7.0-cp313-cp313-manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64 Details
normalizer_tr-0.7.0-cp313-cp313-macosx_12_0_x86_64.whl CPython 3.13 CPython 3.13 macOS 12.0+ x86-64 Details
normalizer_tr-0.7.0-cp313-cp313-macosx_12_0_arm64.whl CPython 3.13 CPython 3.13 macOS 12.0+ ARM64 Details
normalizer_tr-0.7.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
normalizer_tr-0.7.0-cp312-cp312-manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64 Details
normalizer_tr-0.7.0-cp312-cp312-macosx_12_0_x86_64.whl CPython 3.12 CPython 3.12 macOS 12.0+ x86-64 Details
normalizer_tr-0.7.0-cp312-cp312-macosx_12_0_arm64.whl CPython 3.12 CPython 3.12 macOS 12.0+ ARM64 Details
normalizer_tr-0.7.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
normalizer_tr-0.7.0-cp311-cp311-manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64 Details
normalizer_tr-0.7.0-cp311-cp311-macosx_12_0_x86_64.whl CPython 3.11 CPython 3.11 macOS 12.0+ x86-64 Details
normalizer_tr-0.7.0-cp311-cp311-macosx_12_0_arm64.whl CPython 3.11 CPython 3.11 macOS 12.0+ ARM64 Details

Total release size: 22.4 MB

Release files / normalizer_tr-0.7.0.tar.gz

Download URL normalizer_tr-0.7.0.tar.gz
Size 473.7 kB
Tags Source
SHA-256 checksum
How to use checksums
370514afb5ac09fb56e6521f85d679bda2a6f177a17ee7cbb503a0717a27b3ee
BLAKE2b-256 checksum
How to use checksums
56f98de07405eea530339a0d259abeeee23611ed20ae36707316755cb450b49a
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 Oct 11, 2026.

Transparency log

Release files / normalizer_tr-0.7.0-cp314-cp314-win_amd64.whl

Download URL normalizer_tr-0.7.0-cp314-cp314-win_amd64.whl
Size 1.3 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
65ac3d4edc29ae70585a5e50e21007cbb8f8d28853f8378d45b8ccbe6d5bf837
BLAKE2b-256 checksum
How to use checksums
cc1c87e3a27cd84d504e66d2293397efc2d6f4a8ebddfea7cf2d967a8d76be0c
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 Oct 11, 2026.

Transparency log

Release files / normalizer_tr-0.7.0-cp314-cp314-manylinux_2_28_x86_64.whl

Download URL normalizer_tr-0.7.0-cp314-cp314-manylinux_2_28_x86_64.whl
Size 1.5 MB
Tags CPython 3.14 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
b14857623e73f9be9681c71de44140e314d9de4c6c05ad665ad68c8a267a8271
BLAKE2b-256 checksum
How to use checksums
d3ccfa394e524d97ac171147e50423ec546d7882e616dc1eb5f4a8d887d63996
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 Oct 11, 2026.

Transparency log

Release files / normalizer_tr-0.7.0-cp314-cp314-macosx_12_0_x86_64.whl

Download URL normalizer_tr-0.7.0-cp314-cp314-macosx_12_0_x86_64.whl
Size 1.4 MB
Tags CPython 3.14 macOS 12.0+ x86-64
SHA-256 checksum
How to use checksums
3f53939f2db8516208adaea0e9d6792a96260430cfb4d06c79f3188fa647cee4
BLAKE2b-256 checksum
How to use checksums
2dc5822ff29bf8dd4805ae485c3a7ac067afac16c7477b70b79e2134392b6b9a
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 Oct 11, 2026.

Transparency log

Release files / normalizer_tr-0.7.0-cp314-cp314-macosx_12_0_arm64.whl

Download URL normalizer_tr-0.7.0-cp314-cp314-macosx_12_0_arm64.whl
Size 1.3 MB
Tags CPython 3.14 macOS 12.0+ ARM64
SHA-256 checksum
How to use checksums
3ad2921b7aabe08f89e8fc3a49bd9deb2f2bbbe617c656d082895c82296d8c4c
BLAKE2b-256 checksum
How to use checksums
6444aecb2e7a28ea35b1c065f8f5ce20467dde3abbdb9c14db860054119431e8
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 Oct 11, 2026.

Transparency log

Release files / normalizer_tr-0.7.0-cp313-cp313-win_amd64.whl

Download URL normalizer_tr-0.7.0-cp313-cp313-win_amd64.whl
Size 1.3 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
86841fb1ea86914c96f10d04cc371b54936a141d0381a641648f0c5489d066bc
BLAKE2b-256 checksum
How to use checksums
a6a5d9b484ecb8c9d03f7caf92a6ef516e3ea19b7da1e85f925e2799b8c2d143
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 Oct 11, 2026.

Transparency log

Release files / normalizer_tr-0.7.0-cp313-cp313-manylinux_2_28_x86_64.whl

Download URL normalizer_tr-0.7.0-cp313-cp313-manylinux_2_28_x86_64.whl
Size 1.5 MB
Tags CPython 3.13 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
b55c25299b43be4b73adaff50e807e02742b4584c65d015f3db70d1424e8a754
BLAKE2b-256 checksum
How to use checksums
a00a6a354d6c74338fb3ce78e09297cfcbddc5d7acd8285fe451ff144f523d30
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 Oct 11, 2026.

Transparency log

Release files / normalizer_tr-0.7.0-cp313-cp313-macosx_12_0_x86_64.whl

Download URL normalizer_tr-0.7.0-cp313-cp313-macosx_12_0_x86_64.whl
Size 1.4 MB
Tags CPython 3.13 macOS 12.0+ x86-64
SHA-256 checksum
How to use checksums
603baa57a84d890bdcda1f8f88ce915edbb09bbaf84fd81092aab9f5d9539cbb
BLAKE2b-256 checksum
How to use checksums
b927012bba812b34df1293c070414915e127129bdedcce280ea10624b02d1aa0
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 Oct 11, 2026.

Transparency log

Release files / normalizer_tr-0.7.0-cp313-cp313-macosx_12_0_arm64.whl

Download URL normalizer_tr-0.7.0-cp313-cp313-macosx_12_0_arm64.whl
Size 1.3 MB
Tags CPython 3.13 macOS 12.0+ ARM64
SHA-256 checksum
How to use checksums
034cef1eddd844ad3c940242a075ada6c3d2c59bc867297c3df6d50a2bda813a
BLAKE2b-256 checksum
How to use checksums
52daf3d13b8a1e8074b09fe36d5a8fe883416019e583e8bc22e779ac26f24a55
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 Oct 11, 2026.

Transparency log

Release files / normalizer_tr-0.7.0-cp312-cp312-win_amd64.whl

Download URL normalizer_tr-0.7.0-cp312-cp312-win_amd64.whl
Size 1.3 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
47c42c552b407eefe2602b57d1f31567a82d406ca78842814aa02e5f08703d74
BLAKE2b-256 checksum
How to use checksums
ae15cdb3ebd151d4f94cda6976510c229ed2e2e8de1ea287ebb014e14c8a3a86
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 Oct 11, 2026.

Transparency log

Release files / normalizer_tr-0.7.0-cp312-cp312-manylinux_2_28_x86_64.whl

Download URL normalizer_tr-0.7.0-cp312-cp312-manylinux_2_28_x86_64.whl
Size 1.5 MB
Tags CPython 3.12 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
7ef7fe39948462564f7179f096fa434da95e4bbb449d4aef4be04d20cc08a659
BLAKE2b-256 checksum
How to use checksums
db7d135b83cbca0de5538b588ce2078009872109713cbdc30c4a92e956534efe
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 Oct 11, 2026.

Transparency log

Release files / normalizer_tr-0.7.0-cp312-cp312-macosx_12_0_x86_64.whl

Download URL normalizer_tr-0.7.0-cp312-cp312-macosx_12_0_x86_64.whl
Size 1.4 MB
Tags CPython 3.12 macOS 12.0+ x86-64
SHA-256 checksum
How to use checksums
2ff1551ce0c3230f12aeee629f3b100b67ee0ed042b9705839c29a7afb6c80d6
BLAKE2b-256 checksum
How to use checksums
f9dd020d533fc6753b8eb4859853be0f295edfc125c23e0335ee1c304192e3fb
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 Oct 11, 2026.

Transparency log

Release files / normalizer_tr-0.7.0-cp312-cp312-macosx_12_0_arm64.whl

Download URL normalizer_tr-0.7.0-cp312-cp312-macosx_12_0_arm64.whl
Size 1.3 MB
Tags CPython 3.12 macOS 12.0+ ARM64
SHA-256 checksum
How to use checksums
d3780e3e9b60ece4aa7eff711e4c812a5ec5511a689e52547488ffb9a6d8dc45
BLAKE2b-256 checksum
How to use checksums
1d13e6ab105d6dbf4055dc0f9c2afdfeed436f522d961643e80d369e18a5caf8
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 Oct 11, 2026.

Transparency log

Release files / normalizer_tr-0.7.0-cp311-cp311-win_amd64.whl

Download URL normalizer_tr-0.7.0-cp311-cp311-win_amd64.whl
Size 1.3 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
fc179f78dfec681923b3c7314cf9796c456ea0c036faa4db0208bf81027ec4ba
BLAKE2b-256 checksum
How to use checksums
d6068b253cf0348b168112e9b0f985e56011bc36b3a08946e3a172e37bc3d79c
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 Oct 11, 2026.

Transparency log

Release files / normalizer_tr-0.7.0-cp311-cp311-manylinux_2_28_x86_64.whl

Download URL normalizer_tr-0.7.0-cp311-cp311-manylinux_2_28_x86_64.whl
Size 1.5 MB
Tags CPython 3.11 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
f4f8075bbc2519b4a64083bee8adc4ed90bb6a28a99f13e35aa1629c3d05fa27
BLAKE2b-256 checksum
How to use checksums
c7b4411106024e5de33d9c2263daa2acaea24ecb63a7383fdadc31c126f77744
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 Oct 11, 2026.

Transparency log

Release files / normalizer_tr-0.7.0-cp311-cp311-macosx_12_0_x86_64.whl

Download URL normalizer_tr-0.7.0-cp311-cp311-macosx_12_0_x86_64.whl
Size 1.4 MB
Tags CPython 3.11 macOS 12.0+ x86-64
SHA-256 checksum
How to use checksums
63003874f3294b13755ba666b29062e6d855cd4d005614fa323950074b510260
BLAKE2b-256 checksum
How to use checksums
32919e37ee9ac8959220b051e63518ae4a1c469c9aeff250834a4dd341ba737a
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 Oct 11, 2026.

Transparency log

Release files / normalizer_tr-0.7.0-cp311-cp311-macosx_12_0_arm64.whl

Download URL normalizer_tr-0.7.0-cp311-cp311-macosx_12_0_arm64.whl
Size 1.4 MB
Tags CPython 3.11 macOS 12.0+ ARM64
SHA-256 checksum
How to use checksums
0b4246cbea8a41e01d5d48204d058348c14f0256b5835902d73f094f430aa2d1
BLAKE2b-256 checksum
How to use checksums
89c196ea2858ef540ffee91c92bbcc9463b3fe2abe9ab4a7b10abb756302b5b4
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 Oct 11, 2026.

Transparency log

Release history Release notifications | RSS feed

0.8.0

17 release files

This release

0.7.0 This release

17 release files

0.6.0

17 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