Skip to main content

East.py

License: BSL 1.1

Python runtime for the East programming language.

Overview

East.py is a Python backend that enables East IR to be compiled and executed in Python environments. It is a Cython bridge to the native east-c runtime — IR compilation, the builtin library, execution, and serialization all run in east-c. It provides:

  • Complete type system - Full representation of all East types (primitives, containers, structs, variants, functions)
  • East values as Python data - Use East values as ordinary Python objects with eager methods that delegate to the east-c builtins, plus runtime validation/coercion at the Python↔East boundary
  • Full builtin library - Array, Set, Dict, String, DateTime, Blob, Integer, Float operations, exposed eagerly
  • Serialization - East text format, JSON, and BEAST (Binary East) support
  • DateTime formatting - Custom datetime parsing and printing with format strings
  • Platform integration - Expose Python functions to East with the @platform_function decorator

Using East values from Python

East runtime values are usable as ordinary Python data. Containers carry their East element types and expose eager methods that run immediately by delegating to the east-c builtins (no IR, no rewrite); chained collection results stay backed by east-c.

from east import (EastArray, StringType, FloatType, StructType, VectorType,
                  East, array, coerce_to)

# Construct + validate from native Python (dicts are coerced to the struct type)
LineItem = StructType([("name", StringType), ("price", FloatType)])
items = array(LineItem, [{"name": "a", "price": 1}, {"name": "b", "price": 2.0}])

# Eager methods execute now and chain
cheap = items.filter(lambda r: r["price"] < 2.0).sorted(key=lambda r: r["price"])

# Primitive builtins live on the East.<Type> namespaces (you can't add methods
# to Python's float/str/int) — they delegate to east-c too
East.Float.sqrt(2.0)
East.String.upper_case("hi")
East.less(StringType, "a", "b")

# Validate / coerce at a boundary; a mismatch raises a path-pinpointed EastTypeError
coerce_to([1, 2, 3], VectorType(FloatType))   # -> Vector<Float>

Platform functions

Expose a Python function to East with the @platform_function decorator. It infers sync/async, validates the result against the declared output (a named EastTypeError instead of silent corruption), and auto-collects the function:

from east import platform_function, platform_functions, struct, FloatType, ArrayType

@platform_function(inputs=[FloatType, ArrayType(LineItem)], output=ArrayType(LineItem))
def convert_prices(fx_rate, items):
    return items.map(lambda r: struct({"name": r["name"], "price": r["price"] * fx_rate}, LineItem))

platform = platform_functions(__name__)   # pass to compile() to register

For NumPy/torch interop, EastVector.data / EastMatrix.data are the contiguous NumPy buffers — torch.from_numpy(m.data) and EastMatrix(FloatType, tensor.numpy()) need no manual dtype juggling (the bridge canonicalizes at the east-c boundary).

Current Status

Fully implemented: the East type system, the full builtin library (exposed both through IR compilation and the eager value methods), serialization (East text, JSON, BEAST2, CSV), DateTime formatting, runtime validation/coercion, and the platform-function integration API. The compliance suite (shared across the TypeScript, C, and Python runtimes) passes in full.

Installation

# Install from source
git clone https://github.com/elaraai/east-workspace/tree/main/libs/east-py
cd east-py
pip install -e .

Quick Start

Here's a complete example showing how to load, compile, and execute East IR with platform functions:

import asyncio
from east.runtime.compiler import compile_from_json
from east.runtime.platform import PlatformFunction
from east.types.types import IntegerType, NullType, StringType

# Load IR JSON exported by the East TypeScript compiler (raw bytes).
# In this example the IR is a function that logs a message, fetches an HTTP
# status (async), and logs the response.
with open("fetch_status.ir.json", "rb") as f:
    ir_json = f.read()

# Define platform function implementations
def log_impl(message: str) -> None:
    """Sync platform function: log a message."""
    print(message)

async def fetch_status_impl(url: str) -> str:
    """Async platform function: fetch HTTP status from URL."""
    import urllib.request
    loop = asyncio.get_event_loop()
    response = await loop.run_in_executor(None, urllib.request.urlopen, url)
    return f"{response.status} ({response.msg})"

def time_ns_impl() -> int:
    """Sync platform function: get current time in nanoseconds."""
    import time
    return time.time_ns()

# Register platform functions with type signatures
platform = [
    PlatformFunction(
        name="log",
        inputs=[StringType],
        output=NullType,
        type="sync",
        fn=log_impl
    ),
    PlatformFunction(
        name="fetch_status",
        inputs=[StringType],
        output=StringType,
        type="async",
        fn=fetch_status_impl
    ),
    PlatformFunction(
        name="time_ns",
        inputs=[],
        output=IntegerType,
        type="sync",
        fn=time_ns_impl
    ),
]

# Compile the IR to a Python callable (is_async=True: a platform fn is async)
fetch_status = compile_from_json(ir_json, platform, is_async=True)

# Execute the compiled function
async def main():
    await fetch_status("https://www.google.com")
    # Output:
    # Fetching URL: https://www.google.com
    # Response status: 200 (OK) - fetched in 123.45 ms

if __name__ == "__main__":
    asyncio.run(main())

Development

# First-time setup (installs dependencies and pre-commit hooks)
make install

# Development workflow
make test          # Run test suite
make lint          # Run linter (ruff)
make format        # Format code
make typecheck     # Type check with mypy
make check         # Run all checks (lint + typecheck + test)

# Other useful commands
make repl          # Start Python REPL with east loaded
make coverage      # Generate HTML coverage report
make lint-fix      # Auto-fix linting issues
make clean         # Clean build artifacts

# Run the compliance suite directly (executes the IR corpus through the bridge)
uv run pytest tests/test_compliance.py -v

The native extensions (the east-c bridge and the Cython hot paths) are compiled at install time. After editing a .pyx/.pxd or the linked east-c sources, rebuild with make install (from the libs/east-py lib root) to recompile them.

Native build

The package compiles the native east-c runtime into a Cython extension (the _eastc bridge) at install time — this is required: IR compilation, execution, the builtin library, and the eager value methods all run through it. A few hot paths (struct/variant construction, BEAST2/CSV decoding, ordering) have additional Cython acceleration with a pure-Python fallback, but the core bridge is not optional.

Building requires a C compiler and python3-dev (Linux) or Xcode CLI tools (macOS); extensions compile automatically during pip install / uv sync / make install.

Architecture

The builtin library, IR compiler, execution, and serialization live in the native east-c runtime; this package is the Python type system plus a Cython bridge to it.

Module Structure

  • east/types/ - Type system + value representation

    • types.py - Type constructors, guards, comparison/unification
    • values.py - Value classes (EastArray/Set/Dict/Vector/Matrix/Struct/Variant/Ref/Blob), their eager methods, is_value_of/type_of
    • coercion.py - coerce_to / assert_value_of / explain_value_of / EastTypeError
    • construct.py - Ergonomic constructors (variant/some/none/match/struct/array)
    • type_of_type.py - Homoiconic type encoding (types are East values)
  • east/namespace.py - The East.<Type> scalar builtin namespaces (Float/Integer/String/DateTime/Boolean + compare/equal/less)

  • east/datetime_format.py - Format-string tokenizer for the DateTime print/parse builtins

  • east/runtime/ - Execution engine

    • compiler.py / _compiler_eastc.pyx - Bridge to east-c: compile IR, east_call, the eager call_builtin shim, and the Python-callback invoke hook
    • platform.py - PlatformFunction + the @platform_function on-ramp
    • errors.py - EastError
  • east/serialization/ - East text, JSON, BEAST2, CSV (thin wrappers over the east-c encoders/decoders)

  • east/utils/ordering.py - East total order (compare_for/equal_for/less_for/make_east_key)

  • east/_eastc_bridge.pyx, east/_eastc.pxd - The Cython ↔ east-c value/type marshalling layer

Claude Code plugin

The East ecosystem also ships a Claude Code plugin — East language skills, example search, and preemptive diagnostics for East code — installed separately from the elaraai marketplace:

# Inside Claude Code
/plugin marketplace add elaraai/east-workspace
/plugin install east@elaraai
# From a terminal
claude plugin marketplace add elaraai/east-workspace
claude plugin install east@elaraai

License

BSL 1.1 (Business Source License):

  • Non-production use (evaluation, testing, development) is free
  • Production use by or on behalf of for-profit entities requires a commercial license
  • Code becomes AGPL-3.0 four years after each release

See LICENSE.md for full details.

Commercial licensing: support@elara.ai

Ecosystem

  • East: Statically typed, expression-based language with serializable IR. Run portable logic across TypeScript, Python, C, and other runtimes.

    • @elaraai/east: Core language SDK with type system, expressions, and reference JS compiler
  • East Node: Node.js platform functions for I/O, databases, and system operations.

  • East C: C11 native runtime for executing East IR. Distributed via npm (launcher + per-platform optional dependencies) and as tarballs on each GitHub Release.

    • @elaraai/east-c-cli: npm launcher — installs the matching native binary as an optional dependency
    • east-c: Core runtime — type system, IR interpreter, builtins, serialization (Beast2, JSON, CSV, East text)
    • east-c-std: Console, FileSystem, Fetch, Crypto, Time, Path, Random
    • east-c-cli: CLI for running East IR programs natively
  • East Python: Python runtime, standard platform, I/O, and data-science platform functions. Published to PyPI.

    • east-py: Core Python runtime — type system, Cython bridge to the east-c runtime (compiler, builtins, serialization), eager value methods
    • east-py-std: Console, FileSystem, Fetch, Crypto, Time, Path, Random
    • east-py-io: SQLite, PostgreSQL, MySQL, MongoDB, Redis, S3, FTP, SFTP, XLSX, XML, compression
    • east-py-cli: CLI for running East IR programs in Python
    • east-py-datascience (PyPI) + @elaraai/east-py-datascience (npm): Optimization (MADS, Optuna, ALNS, GoogleOR), ML (XGBoost, LightGBM, NGBoost, PyTorch, Lightning, GP), Bayesian inference (PyMC), explainability (SHAP), conformal prediction (MAPIE)
  • East UI: Typed UI component definitions and React renderer, plus VS Code preview.

  • e3 — East Execution Engine: Durable execution engine for running East pipelines at scale. Git-like content-addressable storage, automatic memoization, reactive dataflow, real-time monitoring.

Links

About Elara

East is developed by Elara AI Pty Ltd, an AI-powered platform that creates economic digital twins of businesses that optimize performance. Elara combines business objectives, decisions and data to help organizations make data-driven decisions across operations, purchasing, sales and customer engagement, and project and investment planning. East powers the computational layer of Elara solutions, enabling the expression of complex business logic and data in a simple, type-safe and portable language.


Developed by Elara AI Pty Ltd.

Download files

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

Source Distribution

elaraai_east_py-1.0.63.tar.gz (819.6 kB view details)

Uploaded Source

Built Distributions

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

elaraai_east_py-1.0.63-cp313-cp313-win_amd64.whl (1.3 MB view details)

Uploaded CPython 3.13Windows x86-64

elaraai_east_py-1.0.63-cp313-cp313-win32.whl (1.2 MB view details)

Uploaded CPython 3.13Windows x86

elaraai_east_py-1.0.63-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

elaraai_east_py-1.0.63-cp313-cp313-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

elaraai_east_py-1.0.63-cp313-cp313-macosx_10_13_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

elaraai_east_py-1.0.63-cp312-cp312-win_amd64.whl (1.3 MB view details)

Uploaded CPython 3.12Windows x86-64

elaraai_east_py-1.0.63-cp312-cp312-win32.whl (1.2 MB view details)

Uploaded CPython 3.12Windows x86

elaraai_east_py-1.0.63-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

elaraai_east_py-1.0.63-cp312-cp312-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

elaraai_east_py-1.0.63-cp312-cp312-macosx_10_13_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

elaraai_east_py-1.0.63-cp311-cp311-win_amd64.whl (1.3 MB view details)

Uploaded CPython 3.11Windows x86-64

elaraai_east_py-1.0.63-cp311-cp311-win32.whl (1.2 MB view details)

Uploaded CPython 3.11Windows x86

elaraai_east_py-1.0.63-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

elaraai_east_py-1.0.63-cp311-cp311-macosx_11_0_arm64.whl (1.3 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

elaraai_east_py-1.0.63-cp311-cp311-macosx_10_9_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

File details

Details for the file elaraai_east_py-1.0.63.tar.gz.

File metadata

  • Download URL: elaraai_east_py-1.0.63.tar.gz
  • Upload date:
  • Size: 819.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for elaraai_east_py-1.0.63.tar.gz
Algorithm Hash digest
SHA256 aca75eab8f92045eb4bae7ee765d55cdebfe8a13dade0945a84531a4928e9acb
MD5 e34f14a823bcec01b98639a402d62b80
BLAKE2b-256 0dbe6b25003cb9c87d1489958cc8ab14ba89058b70846ed71f38e757c5901b2a

See more details on using hashes here.

File details

Details for the file elaraai_east_py-1.0.63-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for elaraai_east_py-1.0.63-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 92cf709a3a5881027652c6901c37681415dddfcaf79c06a334ffc69398f00932
MD5 2e9cfe431fd70e32ccffcf0274e3b26c
BLAKE2b-256 488651ae5e80192d494076ee202e357f868ec200cfd1ed0a543f1739170a626b

See more details on using hashes here.

File details

Details for the file elaraai_east_py-1.0.63-cp313-cp313-win32.whl.

File metadata

File hashes

Hashes for elaraai_east_py-1.0.63-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 fd715022c9b255f30fbaad11aa282a4df19e10dcf3a6e480695907bd5eb8cbe7
MD5 05c706d83f82363930bac8786fc56d59
BLAKE2b-256 3d226a91e1bc923b94a0364b0923553819a486d08fc1c753a8107471a2629e32

See more details on using hashes here.

File details

Details for the file elaraai_east_py-1.0.63-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for elaraai_east_py-1.0.63-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2133454cda5b71be8158604bd85412dc154193b7d9d94dc92a121017b5ec6169
MD5 d306141e17c8216149f3c0315f0e0f36
BLAKE2b-256 1b8792d656e374e3499e8f5f87acb565d35f51c81d52e4868a2fc51a86ed01ac

See more details on using hashes here.

File details

Details for the file elaraai_east_py-1.0.63-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for elaraai_east_py-1.0.63-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f0d69a28201dfc556df6692fb7ae1de6258ff093714a41c502fcc3a2e085ad65
MD5 fb9f3d3223ac83d80ce0addf44973efd
BLAKE2b-256 bcb01d4d5932adb25e1773c167f0405c0b9f06dc26d69cba1fe5c8feaccb2ec2

See more details on using hashes here.

File details

Details for the file elaraai_east_py-1.0.63-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for elaraai_east_py-1.0.63-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 c45f619be1287d05c5993aa7555da9c96fafc7c018908dcb75e795bf6c764c3a
MD5 4752661fd1234d9f52f9619459e92e37
BLAKE2b-256 f3a7a9b22359f203ad6fa5d75cdab5c4e52b5c100b1a8009ed2e69896b3cd513

See more details on using hashes here.

File details

Details for the file elaraai_east_py-1.0.63-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for elaraai_east_py-1.0.63-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 c2efdfe308d341791ffc45c6a66fc43c2575f79e2d9b5dec74fe7f7c077705dc
MD5 4837c77c4cb783de4cc61521433a1772
BLAKE2b-256 1b8a513385bf2ad85859a1699a5dd21e1cd7450629ac946af59118436bc8ed84

See more details on using hashes here.

File details

Details for the file elaraai_east_py-1.0.63-cp312-cp312-win32.whl.

File metadata

File hashes

Hashes for elaraai_east_py-1.0.63-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 12719e9e8006be6ac022c354a53934e0f775990983ceda45551f90432ea7a319
MD5 cd2766ca2b4bc37c485ecb1afe90c028
BLAKE2b-256 aa7b9be4f5a54ea468fd343ed6b4e1e554429adf5b5385c948228a8ded107cc9

See more details on using hashes here.

File details

Details for the file elaraai_east_py-1.0.63-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for elaraai_east_py-1.0.63-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9008af2e58dc82fb97413c77f14710bbf7abb3d54990650e170aedf273f8a095
MD5 82b31041c52b0d1d73a3089c5287c881
BLAKE2b-256 6802bb9940044b82cd3c2953560d18b76f18ae54c97cbd41e48b2bc53ce905a0

See more details on using hashes here.

File details

Details for the file elaraai_east_py-1.0.63-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for elaraai_east_py-1.0.63-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 40ee451bb27ce0f4354295bf3096db45295368c7335c25da2ce2017bbd52f12b
MD5 116316957a744bdf549b6d96eacbc7d0
BLAKE2b-256 50eb196d060016c1725c301cbab179111cebe6b8795eb91b606a7e713c6884cc

See more details on using hashes here.

File details

Details for the file elaraai_east_py-1.0.63-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for elaraai_east_py-1.0.63-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 5656671d5b8a135b89fb420bcaf0561f72e75635f576567fb5de5b9b15df1c51
MD5 9b641f5cecb22640699f64c1f2b397bb
BLAKE2b-256 023af3e2222f9d2f0f38204c06d394592b689071d5df05123e197348ab168e77

See more details on using hashes here.

File details

Details for the file elaraai_east_py-1.0.63-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for elaraai_east_py-1.0.63-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 2ea6986d58284d4126969899292cc05c280ef156fbaac9189027fb41dfc42e7d
MD5 e34118de527fc5fecdb978d93512425f
BLAKE2b-256 b8c2b1956a0ce21974a949a440fd864984bd68d5a587201ab15ca37c497f4f2c

See more details on using hashes here.

File details

Details for the file elaraai_east_py-1.0.63-cp311-cp311-win32.whl.

File metadata

File hashes

Hashes for elaraai_east_py-1.0.63-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 5561d0d0caab52f00c336ca05d46941c553d070799c2ffbbc7b6d30ff3dea76d
MD5 37e89695b9100d25f7014960d7da3b47
BLAKE2b-256 16188ed8e3931a245d7262f15f9b0324df948a57777777ac95376b9f9840e929

See more details on using hashes here.

File details

Details for the file elaraai_east_py-1.0.63-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for elaraai_east_py-1.0.63-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b56a74eb31d50e506803bf418337d28b358f06a842b15a002c710adc21563175
MD5 9d6ad995d2a1244a6de953027d64c625
BLAKE2b-256 3920092c2b34bf071cf678fd9d586a9946975597f9a3cfb186b0d466982f6353

See more details on using hashes here.

File details

Details for the file elaraai_east_py-1.0.63-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for elaraai_east_py-1.0.63-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1e4f72f26aac437b9a6f07befd677f1121c837c43d489792e02f085dd98e1f11
MD5 391a480cebb31488fe6c0007946dafcd
BLAKE2b-256 06a57cdfce987c8d24db5a37e0c06941499ac3556b215ccdb692217ebe50e589

See more details on using hashes here.

File details

Details for the file elaraai_east_py-1.0.63-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for elaraai_east_py-1.0.63-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 576cac3ee2bedf861505d265ff4d063dcdc8313f2ab9c681e4f9f38ab817e2ab
MD5 9739b8e4f55e20e986e5f0905d69b911
BLAKE2b-256 fee80fc876a08c609ea99b8ab5fe2a2f9cf4f5fba9094f12a10be4b4b18e54c8

See more details on using hashes here.

Release history Release notifications | RSS feed

1.0.70

16 files

1.0.69

16 files

1.0.68

16 files

1.0.67

16 files

1.0.66

16 files

1.0.65

16 files

1.0.64

16 files

This release

1.0.63 This release

16 files

1.0.62

16 files

1.0.61

16 files

1.0.60

16 files

1.0.59

16 files

1.0.58

16 files

1.0.57

16 files

1.0.56

16 files

1.0.55

16 files

1.0.54

16 files

1.0.53

16 files

1.0.52

16 files

1.0.51

16 files

1.0.50

16 files

1.0.49

16 files

1.0.48

16 files

1.0.47

16 files

1.0.46

16 files

1.0.45

16 files

1.0.44

16 files

1.0.43

16 files

1.0.42

16 files

1.0.41

16 files

1.0.40

16 files

1.0.39

16 files

1.0.38

16 files

1.0.37

16 files

1.0.36

16 files

1.0.35

16 files

1.0.34

16 files

1.0.33

16 files

1.0.32

16 files

1.0.31

16 files

1.0.30

16 files

1.0.29

16 files

1.0.28

16 files

1.0.27

16 files

1.0.26

16 files

1.0.25

16 files

1.0.24

16 files

1.0.23

16 files

1.0.22

16 files

1.0.21

16 files

1.0.20

16 files

1.0.19

16 files

1.0.18

16 files

1.0.17

16 files

1.0.16

16 files

1.0.15

16 files

1.0.14

16 files

1.0.13

16 files

1.0.12

16 files

1.0.11

16 files

1.0.10

16 files

1.0.9

16 files

1.0.8

16 files

1.0.7

16 files

1.0.6

16 files

1.0.5

16 files

1.0.4

10 files

1.0.3

10 files

1.0.2

10 files

1.0.1

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