Skip to main content

tinyray

A minimal, actor-only Ray for ML experiments. Rust core, Python API.

import tinyray as tr

@tr.remote(num_gpus=1, max_restarts=3)
class Rollout:
    def __init__(self, cfg):
        self.env = make_env(cfg)
    def step(self):
        return self.env.rollout()          # ~10 MB

rollouts = tr.create_actors(Rollout, cfg, count=32)   # atomic, all or nothing
refs = [r.step.remote() for r in rollouts]            # returns immediately
ready, pending = tr.wait(refs, num_returns=24)        # 24 finished; 8 still running
learner.update.remote(ready)                          # data goes rollout -> learner

wait returns two lists of ObjectRef, never values: ready are the ones that have settled, pending the ones still running. Both are just names -- a task id and the address of the actor holding the result -- so the driver moves a few dozen bytes per reference and never the payload. Passing ready to the learner hands over those names, and the learner fetches each 10 MB batch straight from the rollout that produced it.

Dropping the eight slow rollouts drops their results, not their work: they are still running, and their outputs still occupy the producers' stores until the watermark or TTL reclaims them. And if the group runs NCCL collectives, those same eight actors must still attend the next barrier -- see tinyray.collective.

What it is, and is not

tinyray is an HTTP control plane. The data plane belongs to the framework.

SGLang, vLLM, Megatron and torchrun already do distributed compute well. What they want from a cluster manager is placement, rank assignment, supervision and restart -- and then to be left alone.

  • Actors only. No stateless tasks. ML workers hold models and CUDA contexts.
  • HTTP for control. At 200 ms per call a ~200 us round trip is 0.1% overhead, and every message is inspectable with ordinary tools.
  • It never claims a process-global resource. A process has one default torch.distributed group, one CUDA context, one set of signal handlers. Those belong to your framework. tinyray assigns ranks and injects the torchrun environment; you call init_process_group yourself.
  • It supervises processes it did not write. An SGLang server is an ordinary process: give it GPUs, wait until it actually serves, label its logs, restart it when it dies.
  • No object store. For pure-Python rollouts a result stays in the actor that produced it and consumers fetch it directly. When a framework owns the data, tinyray moves references and nothing else.

Minimal intrusion: your script keeps its own process

The least invasive option, and the one to reach for with Megatron, DeepSpeed or anything else that expects to own its entrypoint. The script is unchanged apart from one line:

# train.py -- your ordinary training script
import torch.distributed as dist

class Trainer:                                # not decorated, not subclassed
    def __init__(self):
        dist.init_process_group(backend="nccl")   # yours, not tinyray's
        self.model = build_model()                # yours
    def train_step(self, batch): ...

if __name__ == "__main__":
    import tinyray
    tinyray.serve(Trainer())                  # the only tinyray line
# controller.py
workers = tr.launch_workers(["python", "train.py"], size=8, gpus_per_worker=1)
workers.run("train_step", batch)              # all ranks, then awaited

server = tr.launch_process(                   # a process tinyray never imports
    ["python", "-m", "sglang.launch_server", "--port", "{port}", "--tp", "4"],
    name="rollout", num_gpus=4, ready_when="http:/health",
)

Nothing is pickled to the worker, no class is shipped over the wire, and __main__ stays yours. tinyray.connect(endpoint) will even drive a process that something else started.

examples/native_stack.py runs a four-rank trainer and an inference server end to end; it uses gloo and a toy server so it works without a GPU.

The actor API

Still available, and the right choice for code written for tinyray -- pure Python rollouts, evaluation harnesses, hyperparameter trials:

@tr.remote(num_gpus=1)
class Rollout:
    def step(self): return self.env.rollout()

rollouts = tr.create_actors(Rollout, count=32)

Here tinyray owns the process and constructs your class remotely, which is convenient and unavoidably more invasive.

Two details that are load-bearing rather than cosmetic:

  • Constructors run concurrently. A framework that rendezvous in __init__ blocks rank 0 until the last rank arrives, so constructing a group serially deadlocks on the first worker.
  • Readiness is observed, not assumed. An inference server binds its port minutes before it can answer; ready_when="http:/health" waits for the second event, not the first.

tinyray.collective still exists for pure-tinyray NCCL groups, but it takes the default process group and therefore cannot coexist with Megatron or SGLang. Use create_worker_group unless nothing else in the process wants that group.

Why Rust

An actor running a 200 ms training step holds the GIL. If the data path were Python, it could not serve result fetches during that time, and 32 actors fetching from each other would degrade to serial. The Rust core removes that coupling entirely:

10 MB decode idle 4 GIL-bound threads slowdown
native thread (the real serving path) 0.37 ms 0.38 ms 1.04x
initiated from Python 0.75 ms 36.7 ms 49x

Which also yields an architectural rule: the serving path must be driven by tokio, never by a Python-side loop. Work initiated from Python inherits GIL scheduling latency no matter how little of it runs in the interpreter, so /task/fetch never enters the interpreter at all.

Install

pip install tinyray

Wheels are built per interpreter version (3.9-3.13) for Linux and macOS on both x86_64 and aarch64. There is no abi3 build: the buffer protocol that makes results zero-copy is absent from the limited API on older interpreters, and version-specific wheels are a cheap price for it.

The package ships py.typed and hand-written stubs for the Rust extension, so type checkers see the full API.

From source

Requires a Rust toolchain.

python -m venv .venv
.venv/bin/pip install -e ".[dev]"
.venv/bin/maturin develop --release
pre-commit install

Tests

./scripts/test.sh                    # everything
cargo test --workspace               # 120 Rust tests
pytest tests/ -q                     # 216 Python tests
pytest benchmarks/ -q -s -m bench
python scripts/mutate.py             # 19 mutants: do the tests actually work?

Testing the tests

A green suite proves nothing about the tests. Three mechanisms keep them honest:

  • tests/test_suite_quality.py -- structural checks encoding the six blind spots that let real bugs through: unwired modules, timing constants that only ever run at their production value, options accepted but ignored, collapsed error taxonomies, untested lock branches, and design claims with no test.
  • tests/test_driver_byte_budget.py -- parks a 32 MB result in an actor, exercises every driver-side operation and asserts what crossed the driver's wire. The design's central claim is that payloads move between actors and never through the driver; this is where that claim is enforced for every operation rather than one.
  • scripts/mutate.py -- deliberately breaks 21 invariants and reports which ones the suite catches. It has already found three tests that passed while the behaviour they claimed to check was disabled.

Each check exists because a real bug got through in that exact shape.

Development

pre-commit install wires up the gates that CI also runs:

hook what it guards
ruff check / ruff format Python lint and formatting
cargo fmt / cargo clippy -D warnings Rust formatting and lint
mypy the public API's annotations, checked against the stubs

Releases are cut by pushing a v* tag; .github/workflows/release.yml runs the full suite, builds the wheel matrix and an sdist, and publishes to PyPI through a trusted publisher. workflow_dispatch targets TestPyPI by default so a dry run cannot reach the real index by accident.

Operations

tinyray status 127.0.0.1:41234 127.0.0.1:41235   # what is each actor doing?
tinyray introspect 127.0.0.1:41234               # raw report
tinyray health 127.0.0.1:41234

status calls out stalled callers, evictions, backpressure and stragglers, because "which actor is stuck, and on what?" is the question that dominates distributed ML debugging.

Layout

crates/tinyray-core/      wire protocol, framing, identifiers
crates/tinyray-runtime/   store, ordered queue, transport, cluster, collective, shm
crates/tinyray-py/        PyO3 bindings (all unsafe lives in buffers.rs)
python/tinyray/           API, serde, launcher, head, collective, pool, CLI

Download files

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

Source Distribution

tinyray-0.2.0.tar.gz (119.0 kB view details)

Uploaded Source

Built Distributions

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

tinyray-0.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

tinyray-0.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

tinyray-0.2.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (2.0 MB view details)

Uploaded CPython 3.13macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

tinyray-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

tinyray-0.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

tinyray-0.2.0-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (2.0 MB view details)

Uploaded CPython 3.12macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

tinyray-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

tinyray-0.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

tinyray-0.2.0-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (2.0 MB view details)

Uploaded CPython 3.11macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

tinyray-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

tinyray-0.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

tinyray-0.2.0-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (2.0 MB view details)

Uploaded CPython 3.10macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

tinyray-0.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

tinyray-0.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

tinyray-0.2.0-cp39-cp39-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (2.0 MB view details)

Uploaded CPython 3.9macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

File details

Details for the file tinyray-0.2.0.tar.gz.

File metadata

  • Download URL: tinyray-0.2.0.tar.gz
  • Upload date:
  • Size: 119.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for tinyray-0.2.0.tar.gz
Algorithm Hash digest
SHA256 f06d228acf2a043274a62bb627a2464eb8c4dd26aa240aa41be7662f061bcf70
MD5 8f65456896cd5913d4829416c81d42f4
BLAKE2b-256 9f516e807240681a60394cc9ae78e162bdd0b02eed0425616a4c4e176c012ae4

See more details on using hashes here.

Provenance

The following attestation bundles were made for tinyray-0.2.0.tar.gz:

Publisher: release.yml on HSPK/tinyray

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

File details

Details for the file tinyray-0.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tinyray-0.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 598377f4c53e33b53b7849ec89327d0ae61ad2da3137c62ef5c7cfaeec74ac65
MD5 2cbf73f0e0441f0ea57ca74327c81d2d
BLAKE2b-256 142e6b4d461c667c23160ad87dc77b9ae31204a74ff977ce0faf144550300037

See more details on using hashes here.

Provenance

The following attestation bundles were made for tinyray-0.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on HSPK/tinyray

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

File details

Details for the file tinyray-0.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for tinyray-0.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 bfd9d7d79c05b6c39e22560f6361a8375f25471b627b4294fd1d5fdc2793ef27
MD5 09edc6ab9a2e23a2eeb63ae6761bc7fe
BLAKE2b-256 b7f7203d2889ba4a610a0dbf512f77f5c91c7d9da52140906f007f6f1a59f135

See more details on using hashes here.

Provenance

The following attestation bundles were made for tinyray-0.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on HSPK/tinyray

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

File details

Details for the file tinyray-0.2.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for tinyray-0.2.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 3da29afacb145f0265433bf27c5a1bc0bf3d29b4484b09eb93b5577264bbf055
MD5 13a48cd8f2df17e3870bfe6ece50f739
BLAKE2b-256 00eb6580a74b17a93ecdeb6d309fe2e9ea67606fde80ae7ef722f05036434eeb

See more details on using hashes here.

Provenance

The following attestation bundles were made for tinyray-0.2.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl:

Publisher: release.yml on HSPK/tinyray

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

File details

Details for the file tinyray-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tinyray-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 422150bd454671366e1651d1cf32d5bd812a67c36f7e4220b63fcbb6a1c8ea21
MD5 7b5aeba141a2103d668cfaee50a94882
BLAKE2b-256 ddf6f4eab607b072ae3fcfc2b0337c9f1968e4674e7587efcb2b0741d8c69de8

See more details on using hashes here.

Provenance

The following attestation bundles were made for tinyray-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on HSPK/tinyray

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

File details

Details for the file tinyray-0.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for tinyray-0.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3207edf5c96d33aa8b8f12401f0a5d412f187555cfcc7e3ad79a9c71ea566fcd
MD5 2d1e21923cf7ffa1df2c5d3c1f57c09e
BLAKE2b-256 6f085f01ac3e6bc1599066ed4464a928a2c8d136489b65c34a6a4a9f64c7d599

See more details on using hashes here.

Provenance

The following attestation bundles were made for tinyray-0.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on HSPK/tinyray

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

File details

Details for the file tinyray-0.2.0-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for tinyray-0.2.0-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 3e2c871f69390332421f5f2d09a3a7a780474d7a75481b3ff1dae207ed18b20d
MD5 be14e49b0c6c76479a2f2339ac905575
BLAKE2b-256 cb53f6f8bcf1a914057a88b102213645325a3a140fa784f03535c1520fb62a4a

See more details on using hashes here.

Provenance

The following attestation bundles were made for tinyray-0.2.0-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl:

Publisher: release.yml on HSPK/tinyray

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

File details

Details for the file tinyray-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tinyray-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ef1f01ee0b5dba78f3628652c91421e8a44a21ee3a558d916b447d8a492f9f42
MD5 fd70376970393ff2e00941543ead38c9
BLAKE2b-256 27374cf056bac9e54f8f69702c23c82e3ca1838f3a6c6b168c4c441d024730b2

See more details on using hashes here.

Provenance

The following attestation bundles were made for tinyray-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on HSPK/tinyray

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

File details

Details for the file tinyray-0.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for tinyray-0.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 221c538c5b96c855a274322f15864ddd81a2368ccd4b37734ab11cd0d53d0fff
MD5 a52cbe7120d46533951b479f8bcc2192
BLAKE2b-256 379099c332b1fe4c8dfaeb5434050d4638134e7c6e4764ed668a670dd4efc109

See more details on using hashes here.

Provenance

The following attestation bundles were made for tinyray-0.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on HSPK/tinyray

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

File details

Details for the file tinyray-0.2.0-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for tinyray-0.2.0-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 08edbfd52116366cde2c897b9e7a01c15b318b01cea0f30cf717ba46855c2322
MD5 4bc74fd692b6773e892ba05548bb1873
BLAKE2b-256 4138a74870acf242483796dc79b94767a0528ea1a7e4d44d1995e95256b9dc50

See more details on using hashes here.

Provenance

The following attestation bundles were made for tinyray-0.2.0-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl:

Publisher: release.yml on HSPK/tinyray

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

File details

Details for the file tinyray-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tinyray-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e01c40ad6723b8f025fd3a3305a11e5cb37cbd64beda858a104df8645dfb2c80
MD5 77102f94aee87e4c846c33e502eae236
BLAKE2b-256 9e717c5e5283e968b4c9b24cf0101c409e213594ab89c21fe06b9a9ecab08be6

See more details on using hashes here.

Provenance

The following attestation bundles were made for tinyray-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on HSPK/tinyray

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

File details

Details for the file tinyray-0.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for tinyray-0.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 214ed2ecbaef0b561e022e1b8a1195ac28cfc15b623ebfc73e6e96505803cc9e
MD5 66df35200db361d17ebd16a2f033b438
BLAKE2b-256 af49e1d94410437a959d6b2d31c698d225e6be0f164cecea7e965cedf8498c77

See more details on using hashes here.

Provenance

The following attestation bundles were made for tinyray-0.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on HSPK/tinyray

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

File details

Details for the file tinyray-0.2.0-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for tinyray-0.2.0-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 81d7080b3c24ce393620239b43a1e635824f702c8ae0ae8f5b9d421297e232ad
MD5 4e7f76eebc8dbdc156e227e7feb9d69a
BLAKE2b-256 711353498013db995fccf969c3aed0b1f31f9c773626825282ec6e783edb8973

See more details on using hashes here.

Provenance

The following attestation bundles were made for tinyray-0.2.0-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl:

Publisher: release.yml on HSPK/tinyray

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

File details

Details for the file tinyray-0.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tinyray-0.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8260c8d4e3b169cd58b4a74cca5df1dacd31ad5998a2ffb965f3febe4fe462e1
MD5 16b63b6f5a7edf147d06e8c0a9ba277b
BLAKE2b-256 f3a31776498d7d0296890a015acf633c997b70e10bce8a77195fd8af512eae75

See more details on using hashes here.

Provenance

The following attestation bundles were made for tinyray-0.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on HSPK/tinyray

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

File details

Details for the file tinyray-0.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for tinyray-0.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 8de21ff0cbd90b7fe42dcee2343dc974f0346362f517033f99557a9f8090cfc3
MD5 f18d56878fc8fda44c6e4ade006e3164
BLAKE2b-256 f11f4f3e1b975055748fda367019f8fdf310cbccd14184dfc6e6275c9227a340

See more details on using hashes here.

Provenance

The following attestation bundles were made for tinyray-0.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on HSPK/tinyray

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

File details

Details for the file tinyray-0.2.0-cp39-cp39-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for tinyray-0.2.0-cp39-cp39-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 eb7f6d6e8e1833d0488674d4334dc2291105998306900491c2e6b888c8b997c8
MD5 1d2717480abfbc4836d04b7c4e2acdf5
BLAKE2b-256 1928c22753a80fe126ab05d5d0034bc1e0b927b743098b159ce7efc9b22dc783

See more details on using hashes here.

Provenance

The following attestation bundles were made for tinyray-0.2.0-cp39-cp39-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl:

Publisher: release.yml on HSPK/tinyray

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

Release history Release notifications | RSS feed

0.13.0

13 files

0.12.0

13 files

0.11.0

13 files

0.10.0

13 files

0.9.1

13 files

0.9.0

13 files

0.8.1

13 files

0.7.1

13 files

0.6.1

13 files

0.6.0

13 files

0.5.0

13 files

0.4.1

13 files

0.4.0

13 files

0.3.0

13 files

0.2.1

16 files

This release

0.2.0 This release

16 files

0.1.0

16 files

0.0.3

16 files

0.0.2

16 files

0.0.1

16 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