Project: ray

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

Project Details

Latest version
2.9.0
Home Page
https://github.com/ray-project/ray
PyPI Page
https://pypi.org/project/ray/

Project Popularity

PageRank
0.011094994844159415
Number of downloads
2430470

.. image:: https://github.com/ray-project/ray/raw/master/doc/source/images/ray_header_logo.png

.. image:: https://readthedocs.org/projects/ray/badge/?version=master :target: http://docs.ray.io/en/master/?badge=master

.. image:: https://img.shields.io/badge/Ray-Join%20Slack-blue :target: https://forms.gle/9TSdDYUgxYs8SA9e8

.. image:: https://img.shields.io/badge/Discuss-Ask%20Questions-blue :target: https://discuss.ray.io/

.. image:: https://img.shields.io/twitter/follow/raydistributed.svg?style=social&logo=twitter :target: https://twitter.com/raydistributed

Ray is a unified framework for scaling AI and Python applications. Ray consists of a core distributed runtime and a set of AI libraries for simplifying ML compute:

.. image:: https://github.com/ray-project/ray/raw/master/doc/source/images/what-is-ray-padded.svg

.. https://docs.google.com/drawings/d/1Pl8aCYOsZCo61cmp57c7Sja6HhIygGCvSZLi_AuBuqo/edit

Learn more about Ray AI Libraries_:

  • Data_: Scalable Datasets for ML
  • Train_: Distributed Training
  • Tune_: Scalable Hyperparameter Tuning
  • RLlib_: Scalable Reinforcement Learning
  • Serve_: Scalable and Programmable Serving

Or more about Ray Core_ and its key abstractions:

  • Tasks_: Stateless functions executed in the cluster.
  • Actors_: Stateful worker processes created in the cluster.
  • Objects_: Immutable values accessible across the cluster.

Monitor and debug Ray applications and clusters using the Ray dashboard <https://docs.ray.io/en/latest/ray-core/ray-dashboard.html>__.

Ray runs on any machine, cluster, cloud provider, and Kubernetes, and features a growing ecosystem of community integrations_.

Install Ray with: pip install ray. For nightly wheels, see the Installation page <https://docs.ray.io/en/latest/installation.html>__.

.. _Serve: https://docs.ray.io/en/latest/serve/index.html .. _Data: https://docs.ray.io/en/latest/data/dataset.html .. _Workflow: https://docs.ray.io/en/latest/workflows/concepts.html .. _Train: https://docs.ray.io/en/latest/train/train.html .. _Tune: https://docs.ray.io/en/latest/tune/index.html .. _RLlib: https://docs.ray.io/en/latest/rllib/index.html .. _ecosystem of community integrations: https://docs.ray.io/en/latest/ray-overview/ray-libraries.html

Why Ray?

Today's ML workloads are increasingly compute-intensive. As convenient as they are, single-node development environments such as your laptop cannot scale to meet these demands.

Ray is a unified way to scale Python and AI applications from a laptop to a cluster.

With Ray, you can seamlessly scale the same code from a laptop to a cluster. Ray is designed to be general-purpose, meaning that it can performantly run any kind of workload. If your application is written in Python, you can scale it with Ray, no other infrastructure required.

More Information

  • Documentation_
  • Ray Architecture whitepaper_
  • Exoshuffle: large-scale data shuffle in Ray_
  • Ownership: a distributed futures system for fine-grained tasks_
  • RLlib paper_
  • Tune paper_

Older documents:

  • Ray paper_
  • Ray HotOS paper_
  • Ray Architecture v1 whitepaper_

.. _Ray AI Libraries: https://docs.ray.io/en/latest/ray-air/getting-started.html .. _Ray Core: https://docs.ray.io/en/latest/ray-core/walkthrough.html .. _Tasks: https://docs.ray.io/en/latest/ray-core/tasks.html .. _Actors: https://docs.ray.io/en/latest/ray-core/actors.html .. _Objects: https://docs.ray.io/en/latest/ray-core/objects.html .. _Documentation: http://docs.ray.io/en/latest/index.html .. _Ray Architecture v1 whitepaper: https://docs.google.com/document/d/1lAy0Owi-vPz2jEqBSaHNQcy2IBSDEHyXNOQZlGuj93c/preview .. _Ray Architecture whitepaper: https://docs.google.com/document/d/1tBw9A4j62ruI5omIJbMxly-la5w4q_TjyJgJL_jN2fI/preview .. _Exoshuffle: large-scale data shuffle in Ray: https://arxiv.org/abs/2203.05072 .. _Ownership: a distributed futures system for fine-grained tasks: https://www.usenix.org/system/files/nsdi21-wang.pdf .. _Ray paper: https://arxiv.org/abs/1712.05889 .. _Ray HotOS paper: https://arxiv.org/abs/1703.03924 .. _RLlib paper: https://arxiv.org/abs/1712.09381 .. _Tune paper: https://arxiv.org/abs/1807.05118

Getting Involved

.. list-table:: :widths: 25 50 25 25 :header-rows: 1

    • Platform
    • Purpose
    • Estimated Response Time
    • Support Level
    • Discourse Forum_
    • For discussions about development and questions about usage.
    • < 1 day
    • Community
    • GitHub Issues_
    • For reporting bugs and filing feature requests.
    • < 2 days
    • Ray OSS Team
    • Slack_
    • For collaborating with other Ray users.
    • < 2 days
    • Community
    • StackOverflow_
    • For asking questions about how to use Ray.
    • 3-5 days
    • Community
    • Meetup Group_
    • For learning about Ray projects and best practices.
    • Monthly
    • Ray DevRel
    • Twitter_
    • For staying up-to-date on new features.
    • Daily
    • Ray DevRel

.. _Discourse Forum: https://discuss.ray.io/ .. _GitHub Issues: https://github.com/ray-project/ray/issues .. _StackOverflow: https://stackoverflow.com/questions/tagged/ray .. _Meetup Group: https://www.meetup.com/Bay-Area-Ray-Meetup/ .. _Twitter: https://twitter.com/raydistributed .. _Slack: https://forms.gle/9TSdDYUgxYs8SA9e8