Skip to main content

Ray provides a simple, universal API for building distributed applications.

Project description

https://github.com/ray-project/ray/raw/master/doc/source/images/ray_header_logo.png https://readthedocs.org/projects/ray/badge/?version=master https://img.shields.io/badge/Ray-Join%20Slack-blue https://img.shields.io/badge/Discuss-Ask%20Questions-blue https://img.shields.io/twitter/follow/raydistributed.svg?style=social&logo=twitter

Ray provides a simple, universal API for building distributed applications.

Ray is packaged with the following libraries for accelerating machine learning workloads:

  • Tune: Scalable Hyperparameter Tuning

  • RLlib: Scalable Reinforcement Learning

  • Train: Distributed Deep Learning (beta)

  • Datasets: Distributed Data Loading and Compute (beta)

As well as libraries for taking ML and distributed apps to production:

  • Serve: Scalable and Programmable Serving

  • Workflows: Fast, Durable Application Flows (alpha)

There are also many community integrations with Ray, including Dask, MARS, Modin, Horovod, Hugging Face, Scikit-learn, and others. Check out the full list of Ray distributed libraries here.

Install Ray with: pip install ray. For nightly wheels, see the Installation page.

Quick Start

Execute Python functions in parallel.

import ray
ray.init()

@ray.remote
def f(x):
    return x * x

futures = [f.remote(i) for i in range(4)]
print(ray.get(futures))

To use Ray’s actor model:

import ray
ray.init()

@ray.remote
class Counter(object):
    def __init__(self):
        self.n = 0

    def increment(self):
        self.n += 1

    def read(self):
        return self.n

counters = [Counter.remote() for i in range(4)]
[c.increment.remote() for c in counters]
futures = [c.read.remote() for c in counters]
print(ray.get(futures))

Ray programs can run on a single machine, and can also seamlessly scale to large clusters. To execute the above Ray script in the cloud, just download this configuration file, and run:

ray submit [CLUSTER.YAML] example.py --start

Read more about launching clusters.

Tune Quick Start

https://github.com/ray-project/ray/raw/master/doc/source/images/tune-wide.png

Tune is a library for hyperparameter tuning at any scale.

To run this example, you will need to install the following:

$ pip install "ray[tune]"

This example runs a parallel grid search to optimize an example objective function.

from ray import tune


def objective(step, alpha, beta):
    return (0.1 + alpha * step / 100)**(-1) + beta * 0.1


def training_function(config):
    # Hyperparameters
    alpha, beta = config["alpha"], config["beta"]
    for step in range(10):
        # Iterative training function - can be any arbitrary training procedure.
        intermediate_score = objective(step, alpha, beta)
        # Feed the score back back to Tune.
        tune.report(mean_loss=intermediate_score)


analysis = tune.run(
    training_function,
    config={
        "alpha": tune.grid_search([0.001, 0.01, 0.1]),
        "beta": tune.choice([1, 2, 3])
    })

print("Best config: ", analysis.get_best_config(metric="mean_loss", mode="min"))

# Get a dataframe for analyzing trial results.
df = analysis.results_df

If TensorBoard is installed, automatically visualize all trial results:

tensorboard --logdir ~/ray_results

RLlib Quick Start

https://github.com/ray-project/ray/raw/master/doc/source/images/rllib/rllib-logo.png

RLlib is an industry-grade library for reinforcement learning (RL), built on top of Ray. It offers high scalability and unified APIs for a variety of industry- and research applications.

$ pip install "ray[rllib]" tensorflow  # or torch
import gym
from ray.rllib.agents.ppo import PPOTrainer


# Define your problem using python and openAI's gym API:
class SimpleCorridor(gym.Env):
    """Corridor in which an agent must learn to move right to reach the exit.

    ---------------------
    | S | 1 | 2 | 3 | G |   S=start; G=goal; corridor_length=5
    ---------------------

    Possible actions to chose from are: 0=left; 1=right
    Observations are floats indicating the current field index, e.g. 0.0 for
    starting position, 1.0 for the field next to the starting position, etc..
    Rewards are -0.1 for all steps, except when reaching the goal (+1.0).
    """

    def __init__(self, config):
        self.end_pos = config["corridor_length"]
        self.cur_pos = 0
        self.action_space = gym.spaces.Discrete(2)  # left and right
        self.observation_space = gym.spaces.Box(0.0, self.end_pos, shape=(1,))

    def reset(self):
        """Resets the episode and returns the initial observation of the new one.
        """
        self.cur_pos = 0
        # Return initial observation.
        return [self.cur_pos]

    def step(self, action):
        """Takes a single step in the episode given `action`

        Returns:
            New observation, reward, done-flag, info-dict (empty).
        """
        # Walk left.
        if action == 0 and self.cur_pos > 0:
            self.cur_pos -= 1
        # Walk right.
        elif action == 1:
            self.cur_pos += 1
        # Set `done` flag when end of corridor (goal) reached.
        done = self.cur_pos >= self.end_pos
        # +1 when goal reached, otherwise -1.
        reward = 1.0 if done else -0.1
        return [self.cur_pos], reward, done, {}


# Create an RLlib Trainer instance.
trainer = PPOTrainer(
    config={
        # Env class to use (here: our gym.Env sub-class from above).
        "env": SimpleCorridor,
        # Config dict to be passed to our custom env's constructor.
        "env_config": {
            # Use corridor with 20 fields (including S and G).
            "corridor_length": 20
        },
        # Parallelize environment rollouts.
        "num_workers": 3,
    })

# Train for n iterations and report results (mean episode rewards).
# Since we have to move at least 19 times in the env to reach the goal and
# each move gives us -0.1 reward (except the last move at the end: +1.0),
# we can expect to reach an optimal episode reward of -0.1*18 + 1.0 = -0.8
for i in range(5):
    results = trainer.train()
    print(f"Iter: {i}; avg. reward={results['episode_reward_mean']}")

After training, you may want to perform action computations (inference) in your environment. Here is a minimal example on how to do this. Also check out our more detailed examples here (in particular for normal models, LSTMs, and attention nets).

# Perform inference (action computations) based on given env observations.
# Note that we are using a slightly different env here (len 10 instead of 20),
# however, this should still work as the agent has (hopefully) learned
# to "just always walk right!"
env = SimpleCorridor({"corridor_length": 10})
# Get the initial observation (should be: [0.0] for the starting position).
obs = env.reset()
done = False
total_reward = 0.0
# Play one episode.
while not done:
    # Compute a single action, given the current observation
    # from the environment.
    action = trainer.compute_single_action(obs)
    # Apply the computed action in the environment.
    obs, reward, done, info = env.step(action)
    # Sum up rewards for reporting purposes.
    total_reward += reward
# Report results.
print(f"Played 1 episode; total-reward={total_reward}")

Ray Serve Quick Start

https://raw.githubusercontent.com/ray-project/ray/master/doc/source/serve/logo.svg

Ray Serve is a scalable model-serving library built on Ray. It is:

  • Framework Agnostic: Use the same toolkit to serve everything from deep learning models built with frameworks like PyTorch or Tensorflow & Keras to Scikit-Learn models or arbitrary business logic.

  • Python First: Configure your model serving declaratively in pure Python, without needing YAMLs or JSON configs.

  • Performance Oriented: Turn on batching, pipelining, and GPU acceleration to increase the throughput of your model.

  • Composition Native: Allow you to create “model pipelines” by composing multiple models together to drive a single prediction.

  • Horizontally Scalable: Serve can linearly scale as you add more machines. Enable your ML-powered service to handle growing traffic.

To run this example, you will need to install the following:

$ pip install scikit-learn
$ pip install "ray[serve]"

This example runs serves a scikit-learn gradient boosting classifier.

import pickle
import requests

from sklearn.datasets import load_iris
from sklearn.ensemble import GradientBoostingClassifier

from ray import serve

serve.start()

# Train model.
iris_dataset = load_iris()
model = GradientBoostingClassifier()
model.fit(iris_dataset["data"], iris_dataset["target"])

@serve.deployment(route_prefix="/iris")
class BoostingModel:
    def __init__(self, model):
        self.model = model
        self.label_list = iris_dataset["target_names"].tolist()

    async def __call__(self, request):
        payload = await request.json()["vector"]
        print(f"Received flask request with data {payload}")

        prediction = self.model.predict([payload])[0]
        human_name = self.label_list[prediction]
        return {"result": human_name}


# Deploy model.
BoostingModel.deploy(model)

# Query it!
sample_request_input = {"vector": [1.2, 1.0, 1.1, 0.9]}
response = requests.get("http://localhost:8000/iris", json=sample_request_input)
print(response.text)
# Result:
# {
#  "result": "versicolor"
# }

More Information

Older documents:

Getting Involved

  • Forum: For discussions about development, questions about usage, and feature requests.

  • GitHub Issues: For reporting bugs.

  • Twitter: Follow updates on Twitter.

  • Slack: Join our Slack channel.

  • Meetup Group: Join our meetup group.

  • StackOverflow: For questions about how to use Ray.

Project details


Release history Release notifications | RSS feed

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.

ray-1.11.1-cp39-cp39-win_amd64.whl (19.4 MB view details)

Uploaded CPython 3.9Windows x86-64

ray-1.11.1-cp39-cp39-manylinux2014_x86_64.whl (52.4 MB view details)

Uploaded CPython 3.9

ray-1.11.1-cp39-cp39-macosx_12_0_arm64.whl (24.6 MB view details)

Uploaded CPython 3.9macOS 12.0+ ARM64

ray-1.11.1-cp39-cp39-macosx_10_15_x86_64.whl (55.0 MB view details)

Uploaded CPython 3.9macOS 10.15+ x86-64

ray-1.11.1-cp38-cp38-win_amd64.whl (19.4 MB view details)

Uploaded CPython 3.8Windows x86-64

ray-1.11.1-cp38-cp38-manylinux2014_x86_64.whl (52.4 MB view details)

Uploaded CPython 3.8

ray-1.11.1-cp38-cp38-macosx_12_0_arm64.whl (24.6 MB view details)

Uploaded CPython 3.8macOS 12.0+ ARM64

ray-1.11.1-cp38-cp38-macosx_10_15_x86_64.whl (55.0 MB view details)

Uploaded CPython 3.8macOS 10.15+ x86-64

ray-1.11.1-cp37-cp37m-win_amd64.whl (19.5 MB view details)

Uploaded CPython 3.7mWindows x86-64

ray-1.11.1-cp37-cp37m-manylinux2014_x86_64.whl (52.7 MB view details)

Uploaded CPython 3.7m

ray-1.11.1-cp37-cp37m-macosx_10_15_intel.whl (55.2 MB view details)

Uploaded CPython 3.7mmacOS 10.15+ Intel (x86-64, i386)

ray-1.11.1-cp36-cp36m-win_amd64.whl (19.5 MB view details)

Uploaded CPython 3.6mWindows x86-64

ray-1.11.1-cp36-cp36m-manylinux2014_x86_64.whl (52.7 MB view details)

Uploaded CPython 3.6m

ray-1.11.1-cp36-cp36m-macosx_10_15_intel.whl (55.2 MB view details)

Uploaded CPython 3.6mmacOS 10.15+ Intel (x86-64, i386)

File details

Details for the file ray-1.11.1-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: ray-1.11.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 19.4 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.63.1 CPython/3.8.11

File hashes

Hashes for ray-1.11.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 da2c79543a0f690b5bebd8debaa099c57afc47f3fe3dc937293ad0946b509d10
MD5 675d2b4c6c531212e04c124f0c91b133
BLAKE2b-256 489f0d4ff44316bf4f7965335388b6551981ef4316e26db7d8f33f575cf6de2b

See more details on using hashes here.

File details

Details for the file ray-1.11.1-cp39-cp39-manylinux2014_x86_64.whl.

File metadata

  • Download URL: ray-1.11.1-cp39-cp39-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 52.4 MB
  • Tags: CPython 3.9
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.63.1 CPython/3.8.11

File hashes

Hashes for ray-1.11.1-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cc6c1508be9912dbee9fc8a049d66d22991c27f08fa1684332bb2bf676a8beaf
MD5 5ef15d2b9c7808225aaf728f98189ee0
BLAKE2b-256 4d22f15d630f04114d57b0a6f876bc5c1f2e4f0710e4af4ab522f8afb3bfd024

See more details on using hashes here.

File details

Details for the file ray-1.11.1-cp39-cp39-macosx_12_0_arm64.whl.

File metadata

  • Download URL: ray-1.11.1-cp39-cp39-macosx_12_0_arm64.whl
  • Upload date:
  • Size: 24.6 MB
  • Tags: CPython 3.9, macOS 12.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.63.1 CPython/3.8.11

File hashes

Hashes for ray-1.11.1-cp39-cp39-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 41f1335a844b2c65b99fbe7d29199d958bb45797b090a81971d34f6e94a3baf8
MD5 f0a8be0d5c73136d415a21d4b0479db0
BLAKE2b-256 a6a684548125bbd12e2c1a0de81c7a164d3d14acf43d58c458f13244035127c3

See more details on using hashes here.

File details

Details for the file ray-1.11.1-cp39-cp39-macosx_10_15_x86_64.whl.

File metadata

  • Download URL: ray-1.11.1-cp39-cp39-macosx_10_15_x86_64.whl
  • Upload date:
  • Size: 55.0 MB
  • Tags: CPython 3.9, macOS 10.15+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.63.1 CPython/3.8.11

File hashes

Hashes for ray-1.11.1-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 4e82d9033421075df58fb35455fef12e47957414cc2d914e92a6ccb16092f17c
MD5 42a1b47d130c4b6399be6ab3d9ee0c0f
BLAKE2b-256 160df4649d56bfed5ac6c9b5e7e5a9e2efcd32bc248642f7e91c0e723f7e4e8c

See more details on using hashes here.

File details

Details for the file ray-1.11.1-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: ray-1.11.1-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 19.4 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.63.1 CPython/3.8.11

File hashes

Hashes for ray-1.11.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 79b03d9bb7d0dce6df0c1fbc0ce7e7a345a6d18e7c91eb8490cd5b19fed72877
MD5 094f4566fd4dbc7c8fa5f4755f6edb16
BLAKE2b-256 a86e274ca57e5d9a63f70be45b1a6b393ec0bdbf900d272ab23510df5d8b9a35

See more details on using hashes here.

File details

Details for the file ray-1.11.1-cp38-cp38-manylinux2014_x86_64.whl.

File metadata

  • Download URL: ray-1.11.1-cp38-cp38-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 52.4 MB
  • Tags: CPython 3.8
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.63.1 CPython/3.8.11

File hashes

Hashes for ray-1.11.1-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 74a3d2691d4dbeaee1795cf8fb43d69219bdddc88d107885dd5c7010866fa5fc
MD5 a081708693e5374e8e5f0fba9569e948
BLAKE2b-256 4f5fc6691e8bf9c539f3be47d2a4f8d6d57c67c06e15cfae735deeffee8c2d50

See more details on using hashes here.

File details

Details for the file ray-1.11.1-cp38-cp38-macosx_12_0_arm64.whl.

File metadata

  • Download URL: ray-1.11.1-cp38-cp38-macosx_12_0_arm64.whl
  • Upload date:
  • Size: 24.6 MB
  • Tags: CPython 3.8, macOS 12.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.63.1 CPython/3.8.11

File hashes

Hashes for ray-1.11.1-cp38-cp38-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 4ee14013b7afbfaac27783de232c42f77a5192e579ad55321be934da6f4fdf73
MD5 51eb7a4337f46855b71af7812d178492
BLAKE2b-256 5dcb1fa4123e4f80a544be9c87f521f8b4514806706f5e98507a1588003ee0c0

See more details on using hashes here.

File details

Details for the file ray-1.11.1-cp38-cp38-macosx_10_15_x86_64.whl.

File metadata

  • Download URL: ray-1.11.1-cp38-cp38-macosx_10_15_x86_64.whl
  • Upload date:
  • Size: 55.0 MB
  • Tags: CPython 3.8, macOS 10.15+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.63.1 CPython/3.8.11

File hashes

Hashes for ray-1.11.1-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 74946cae4f2087df4b63648846998c001bf52cf81309278b4d269f55eb24453e
MD5 632772942666de4a63b7ad7a785c8492
BLAKE2b-256 5e481c0604da2a55a888ba2e1fe61cc3a64d4a98606a97b35bf9f5b5b5ec4eaf

See more details on using hashes here.

File details

Details for the file ray-1.11.1-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: ray-1.11.1-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 19.5 MB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.63.1 CPython/3.8.11

File hashes

Hashes for ray-1.11.1-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 014d412c19bae06af2398fe712a4726795f0bd3b2fe9d3dc8050eaf8ec50d377
MD5 ff981164e96168a10f25c97412827e24
BLAKE2b-256 f7d4e5cc989bee54ca9ae4ac1d68db3d5db28a7fe0304126b448e5f6858b77e4

See more details on using hashes here.

File details

Details for the file ray-1.11.1-cp37-cp37m-manylinux2014_x86_64.whl.

File metadata

  • Download URL: ray-1.11.1-cp37-cp37m-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 52.7 MB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.63.1 CPython/3.8.11

File hashes

Hashes for ray-1.11.1-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 47da2bde731aa81ecaca47f4e98054db7916e379db2b82aecd49af2bb42d7e71
MD5 0e7993b8fe823feff6e87a2f65e82018
BLAKE2b-256 260c0804ae7c10a50c39ee9817896f6ecf3d9fd967ef31cefec36535521f7cc5

See more details on using hashes here.

File details

Details for the file ray-1.11.1-cp37-cp37m-macosx_10_15_intel.whl.

File metadata

  • Download URL: ray-1.11.1-cp37-cp37m-macosx_10_15_intel.whl
  • Upload date:
  • Size: 55.2 MB
  • Tags: CPython 3.7m, macOS 10.15+ Intel (x86-64, i386)
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.63.1 CPython/3.8.11

File hashes

Hashes for ray-1.11.1-cp37-cp37m-macosx_10_15_intel.whl
Algorithm Hash digest
SHA256 18defa69be5c5f5411928271d67088dfac2eb5a3ef03df1aca2152368b96830c
MD5 02ced7146538a8df54e78cefb91affb1
BLAKE2b-256 dbad5ddf6a7188014c0e9f4108013e90f70ce0b2ff51299371d42da3bc46e37f

See more details on using hashes here.

File details

Details for the file ray-1.11.1-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: ray-1.11.1-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 19.5 MB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.63.1 CPython/3.8.11

File hashes

Hashes for ray-1.11.1-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 b29442c366aa55ea8973a1d259ed2a4df699036457694ba283bf58dcbc847de6
MD5 2bebcad0481c429acf4de6d9426dd1a1
BLAKE2b-256 391f7f1591fcf12edee85cbcb089a5535feea42d86fb2c57d7648c16cc4586c4

See more details on using hashes here.

File details

Details for the file ray-1.11.1-cp36-cp36m-manylinux2014_x86_64.whl.

File metadata

  • Download URL: ray-1.11.1-cp36-cp36m-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 52.7 MB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.63.1 CPython/3.8.11

File hashes

Hashes for ray-1.11.1-cp36-cp36m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6457d729df12579634bdf06b8356e019bd44fc6533eacebfaa2ea81a6af2d012
MD5 5a4fe1f22d70ab0946730c478c6c3706
BLAKE2b-256 9cd3fe24217c0ccb745fd03715e6a64445923327ea60515cc0130f81c8bd9982

See more details on using hashes here.

File details

Details for the file ray-1.11.1-cp36-cp36m-macosx_10_15_intel.whl.

File metadata

  • Download URL: ray-1.11.1-cp36-cp36m-macosx_10_15_intel.whl
  • Upload date:
  • Size: 55.2 MB
  • Tags: CPython 3.6m, macOS 10.15+ Intel (x86-64, i386)
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.63.1 CPython/3.8.11

File hashes

Hashes for ray-1.11.1-cp36-cp36m-macosx_10_15_intel.whl
Algorithm Hash digest
SHA256 b18383ffd5f6640af8998700bb70ef55ba0ff34742b47b6d06d9ab36be19ada6
MD5 b0bb645708069fe52cedad7e04f680de
BLAKE2b-256 9d1af54c94a466a4d734f9e15c7ee1b5b31c86ef5eaf017ccccac0d17e4cb5e7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page