Skip to main content

A subpackage of Ray which provides the Ray C++ API.

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_cpp-1.11.1-cp39-cp39-win_amd64.whl (18.4 MB view details)

Uploaded CPython 3.9Windows x86-64

ray_cpp-1.11.1-cp39-cp39-manylinux2014_x86_64.whl (30.7 MB view details)

Uploaded CPython 3.9

ray_cpp-1.11.1-cp39-cp39-macosx_12_0_arm64.whl (26.5 MB view details)

Uploaded CPython 3.9macOS 12.0+ ARM64

ray_cpp-1.11.1-cp39-cp39-macosx_10_15_x86_64.whl (28.7 MB view details)

Uploaded CPython 3.9macOS 10.15+ x86-64

ray_cpp-1.11.1-cp38-cp38-win_amd64.whl (18.4 MB view details)

Uploaded CPython 3.8Windows x86-64

ray_cpp-1.11.1-cp38-cp38-manylinux2014_x86_64.whl (30.7 MB view details)

Uploaded CPython 3.8

ray_cpp-1.11.1-cp38-cp38-macosx_12_0_arm64.whl (26.5 MB view details)

Uploaded CPython 3.8macOS 12.0+ ARM64

ray_cpp-1.11.1-cp38-cp38-macosx_10_15_x86_64.whl (28.7 MB view details)

Uploaded CPython 3.8macOS 10.15+ x86-64

ray_cpp-1.11.1-cp37-cp37m-win_amd64.whl (18.4 MB view details)

Uploaded CPython 3.7mWindows x86-64

ray_cpp-1.11.1-cp37-cp37m-manylinux2014_x86_64.whl (30.7 MB view details)

Uploaded CPython 3.7m

ray_cpp-1.11.1-cp37-cp37m-macosx_10_15_intel.whl (28.7 MB view details)

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

ray_cpp-1.11.1-cp36-cp36m-win_amd64.whl (18.4 MB view details)

Uploaded CPython 3.6mWindows x86-64

ray_cpp-1.11.1-cp36-cp36m-manylinux2014_x86_64.whl (30.7 MB view details)

Uploaded CPython 3.6m

ray_cpp-1.11.1-cp36-cp36m-macosx_10_15_intel.whl (28.7 MB view details)

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

File details

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

File metadata

  • Download URL: ray_cpp-1.11.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 18.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_cpp-1.11.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 553e6617749e2b96359ffa8cb98ccbad1a09e3937f1e4eba0ef88e5a0abb1311
MD5 4740ec1ca0b7c322fbd29c8f442b4ef6
BLAKE2b-256 197deafa6d50c30b8bd6f858ba46c4cd9f56c221352d4d0b727e32fa7bf8c97f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ray_cpp-1.11.1-cp39-cp39-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 30.7 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_cpp-1.11.1-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2631b37e3c86399a0f06f12ed9f4c462f11389983c20bd30c7840b9d25b28ca7
MD5 f237dd004a3cf3eb1aa2cb145d4db893
BLAKE2b-256 0d9e6ae639dce9ce80c5dd9158cd16262c068ed71a36a781ee77f32610a0827f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ray_cpp-1.11.1-cp39-cp39-macosx_12_0_arm64.whl
  • Upload date:
  • Size: 26.5 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_cpp-1.11.1-cp39-cp39-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 b82e323922a1b94158f0933b292bfa468ade522158f2aec8599401e90c44e594
MD5 315e9d3fc579fad661ceffedcfd4eb59
BLAKE2b-256 0710ebf400cdb97f7f88267f569f0efe23318f7b0d3a6fa9846d83cd501ad9fe

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ray_cpp-1.11.1-cp39-cp39-macosx_10_15_x86_64.whl
  • Upload date:
  • Size: 28.7 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_cpp-1.11.1-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 a782ef77d2f6721886d13b242db20dbc6c1050076f02fe4cdd57e1230cbd3cc8
MD5 23f1119ddbed40c866c27cfeb06bc99d
BLAKE2b-256 2d56257be0e18d9cdf2383368e4edddcd98740b152ecd33310bc9fd2c093951e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ray_cpp-1.11.1-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 18.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_cpp-1.11.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 6313f0ea7e0597cc9e7a679bd6c8001bbb8b0fdc824216741a97999cd07e5bf2
MD5 61ace3e7bed20d85681bf2981966f18c
BLAKE2b-256 5f4564033eb9a91b46bcf98b63921bdcfc982bd0616e15b38e9b90ffc3a5f712

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ray_cpp-1.11.1-cp38-cp38-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 30.7 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_cpp-1.11.1-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 59c9ea5624abff9a3f9da7a3aa945741d981c861a62938cc99a283261dc432f6
MD5 eb86c241a82e57962e8902c8db4f0153
BLAKE2b-256 3bd88bf32b0d7e3d29dc0ccb658418f9e88c2a953851f3d2a654d25dcb67df8b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ray_cpp-1.11.1-cp38-cp38-macosx_12_0_arm64.whl
  • Upload date:
  • Size: 26.5 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_cpp-1.11.1-cp38-cp38-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 bc16d8a4cfb5d2a4d33a0c9e576b769bf3559278d5ec6b9d68a9accb1963e34f
MD5 59c9cf1cce254e460ace1d7eedd9510e
BLAKE2b-256 dead129cc1d793a58ab78316ecfe004332c20b0e9d73032ba7c0a1810e0ecbec

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ray_cpp-1.11.1-cp38-cp38-macosx_10_15_x86_64.whl
  • Upload date:
  • Size: 28.7 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_cpp-1.11.1-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 8e5e3c5c1c3cd8ab568a14c3c034e5bffcb1e108d143f51e8f33851069394256
MD5 64623931a8c284d1372844ac9d0233a6
BLAKE2b-256 a4912fcc3f3d45345790c070219a8923f49d86c613d0101ac288d953d29a89a3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ray_cpp-1.11.1-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 18.4 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_cpp-1.11.1-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 422945ccb12d5ffac6b30dd73ff8854b367e1cf99bdbf4aa73c9ac423d403197
MD5 8cfe1cd5eab337d1838f7ee9abf1d3d1
BLAKE2b-256 d2d1e5b80e0388633dda1066b8d611f4fe17d0498ab9eee7f2121036a8078617

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ray_cpp-1.11.1-cp37-cp37m-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 30.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_cpp-1.11.1-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7f0d7b03fe23d8be56449c1ce216544471cf7badb5c2a5ca678f591d6af6889c
MD5 388330b370eb544416cf237235fcc5b4
BLAKE2b-256 1d6cb0fbe544cde4f50e32cbf0c709f1d3ac4fed03f7df117416fd1befbdeaf1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ray_cpp-1.11.1-cp37-cp37m-macosx_10_15_intel.whl
  • Upload date:
  • Size: 28.7 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_cpp-1.11.1-cp37-cp37m-macosx_10_15_intel.whl
Algorithm Hash digest
SHA256 795a533823a83cb53d7482367b162b58a20508f6738b7ff02efa0e8b4f2fefaa
MD5 e3bd83e270e7f555203d2403c3b7d508
BLAKE2b-256 33cb86736f900f414b134a3c788b9143763e5319152ffc186261edb975abc327

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ray_cpp-1.11.1-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 18.4 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_cpp-1.11.1-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 0fd23023b04fcdd40cd72ac68a1a600764c106853643c45b223e2afad0cf05c5
MD5 6f52291c565908aea68dd2bd7e18d30b
BLAKE2b-256 646fbcfaefd6541dfb9e68244d5fdb966094a4d6129ad6af455c43a492658d96

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ray_cpp-1.11.1-cp36-cp36m-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 30.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_cpp-1.11.1-cp36-cp36m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8ac962f08bf3919917689780f67341646b2ee9523a082cf6002448c98ee04e1f
MD5 cb4e4e4f925c93f1c44f884626c0f06e
BLAKE2b-256 d3d6813493a0df421131627d0bf05572c6c3df4d241db63262f19675c55a9472

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ray_cpp-1.11.1-cp36-cp36m-macosx_10_15_intel.whl
  • Upload date:
  • Size: 28.7 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_cpp-1.11.1-cp36-cp36m-macosx_10_15_intel.whl
Algorithm Hash digest
SHA256 4fe7039f33fe500acc2a54f925494e574fb5d91d2bc3869acfac74e9b54743ce
MD5 56834f4fd15504dd2b447202c3d26854
BLAKE2b-256 5f96fb61f2a94ad4a095349ef3428258144cc861d203038696805bea50918940

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