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

Uploaded CPython 3.9Windows x86-64

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

Uploaded CPython 3.9

ray_cpp-1.10.0-cp39-cp39-macosx_11_0_arm64.whl (26.4 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

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

Uploaded CPython 3.9macOS 10.15+ x86-64

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

Uploaded CPython 3.8Windows x86-64

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

Uploaded CPython 3.8

ray_cpp-1.10.0-cp38-cp38-macosx_11_0_arm64.whl (26.4 MB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

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

Uploaded CPython 3.8macOS 10.15+ x86-64

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

Uploaded CPython 3.7mWindows x86-64

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

Uploaded CPython 3.7m

ray_cpp-1.10.0-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.10.0-cp36-cp36m-win_amd64.whl (18.4 MB view details)

Uploaded CPython 3.6mWindows x86-64

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

Uploaded CPython 3.6m

ray_cpp-1.10.0-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.10.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: ray_cpp-1.10.0-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.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.11

File hashes

Hashes for ray_cpp-1.10.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 2160b8fe283775929f4ad16d6ae5fab3748b0b6145dd56214803c5a43c394b10
MD5 fa04a8f97390e6b98889b9d1f600ec50
BLAKE2b-256 37b53d5484e54e3e22b2a44b14d706df64f8111d9a788c8a43cf6d586051f9c3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ray_cpp-1.10.0-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.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.11

File hashes

Hashes for ray_cpp-1.10.0-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 50c5a499820c0faefebc92e5172fc055c3025f5e6d5acee1cf68a0284a53b36a
MD5 79ab08cac2ea94d802b1f3b160bbf31c
BLAKE2b-256 7e85fef06a599120ffab6d76c1111b179798ba5407578b0c236bb50c86792d99

See more details on using hashes here.

File details

Details for the file ray_cpp-1.10.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

  • Download URL: ray_cpp-1.10.0-cp39-cp39-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 26.4 MB
  • Tags: CPython 3.9, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.11

File hashes

Hashes for ray_cpp-1.10.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 789f897a314a4af7059c63080a8abb770f0879c846ddf95b0443134b612fb5c8
MD5 1e53eda850f6ec3def2e1d78fa519fe7
BLAKE2b-256 87febc1b8415764ba5c4f870ae007b6497ecb4f27fbff414e08d9f2bdc01fc08

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ray_cpp-1.10.0-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.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.11

File hashes

Hashes for ray_cpp-1.10.0-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 8f4719f40a498cf2b2987a62c5aa4f93c71eb3c83b4d74f25c4b6b4bf7e6702a
MD5 cd68aa250ec4b3767e5cd04f5c58d16a
BLAKE2b-256 d85c0df4054e9dcedad7cce3bae20403311c266bb74cd95672dfe717d1cbb714

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ray_cpp-1.10.0-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.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.11

File hashes

Hashes for ray_cpp-1.10.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 d1853bf6939c69244beda6236da32ba651a4961b6ae37483f5e19659b9169036
MD5 c374f58f7ee4f58790293881cdb4f162
BLAKE2b-256 1d0f67fb0f5932dd6beb766e42043f0e674749a6b1f270f360e48e5f29606f5b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ray_cpp-1.10.0-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.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.11

File hashes

Hashes for ray_cpp-1.10.0-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 83acba654f204bdbcbeb1c709b398499b7a21741edf1fe5affe6a73dfde4f255
MD5 e2f1b59697ba54273d52104b656a0906
BLAKE2b-256 f81c51da500f07585c32eddbb7b47a58f6c1a5b2666c9e1e27b310db1ee6a0fc

See more details on using hashes here.

File details

Details for the file ray_cpp-1.10.0-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

  • Download URL: ray_cpp-1.10.0-cp38-cp38-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 26.4 MB
  • Tags: CPython 3.8, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.11

File hashes

Hashes for ray_cpp-1.10.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 57123993f2833e0f766a7ac35536f344c85d2baf11ab7c6cc9fb56ec4084508a
MD5 03c3f7b991d7c9eb8b56948b8644aa09
BLAKE2b-256 d64a1e0cff32766b25c7d2465b1d6749406c7102f22575fbe226233f9a78eefe

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ray_cpp-1.10.0-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.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.11

File hashes

Hashes for ray_cpp-1.10.0-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 61dc1c489699385d70509ccce9ec6145185295847711fbfbada04ff803901d98
MD5 130c91242e7951e3cd38d9861e707cb9
BLAKE2b-256 3f85280cf22dd9003967dec904e7fcae0e5fa9a39e7b986f196c594d049baad3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ray_cpp-1.10.0-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.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.11

File hashes

Hashes for ray_cpp-1.10.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 6af83b872a1133c48d17c7bcd0b0dc11a5e9d08f2015d709aeeca703602612fd
MD5 71a10f37826b4d827bbeb0acf9e852eb
BLAKE2b-256 2326ccc7062048aace4e5c48b3477c173441c265ea321b5880be11e2929f3c63

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ray_cpp-1.10.0-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.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.11

File hashes

Hashes for ray_cpp-1.10.0-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 91abeba09e744290eee6f9d004a1179ab3d97bd501ef0a181bd903da96fb627d
MD5 25ce737e94b4f03acb3cf661e2f939b5
BLAKE2b-256 44aeb73c331fce79e2823be8a67ae0780d0f4c09dea430880a1600678e2f8fb5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ray_cpp-1.10.0-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.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.11

File hashes

Hashes for ray_cpp-1.10.0-cp37-cp37m-macosx_10_15_intel.whl
Algorithm Hash digest
SHA256 2beb47e514d945be4fae7399137b6f997910142d9604ee59a181c3cdeb810e41
MD5 584463ebbc1283b639e8396655956a7c
BLAKE2b-256 58465569e1cf34cc10dd900e5102e61080b7ebbd2cde1a0912f1cfac2dd2ae41

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ray_cpp-1.10.0-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.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.11

File hashes

Hashes for ray_cpp-1.10.0-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 973dc29a45b6700c510845ee60f95e6d5ca0c7ba1859c6edef44dc15eaa6cd1a
MD5 444da1d82488d3c0efc054351ba88bbf
BLAKE2b-256 c569f2d9058ec3e9daca1455214a26cf02bec29d5939763adf681bc045584ecf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ray_cpp-1.10.0-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.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.11

File hashes

Hashes for ray_cpp-1.10.0-cp36-cp36m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f434ded958e12d47b74e5b0e09c01affcdc2726840c9e8ba5eda976d54d69323
MD5 23c6e9e982d48772c3fc6c759c21d1a6
BLAKE2b-256 31979d55a9c3bbf6a54949aca4c535606dde36f994e823cdf18e292f15cfa0de

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ray_cpp-1.10.0-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.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.11

File hashes

Hashes for ray_cpp-1.10.0-cp36-cp36m-macosx_10_15_intel.whl
Algorithm Hash digest
SHA256 78f1f0a7977ea69f8d7b2574c8925f9867daecafb3dd740da22e63ee603bb568
MD5 7b283f9b6640c40c4fc877bff717c387
BLAKE2b-256 5f08f42572c8956f27301b25992fbb958c1109a9eadc8cb775855aa3dcb68c77

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