ray-project /ray
Ray is an AI compute engine. Ray consists of a core distributed runtime and a set of AI Libraries for accelerating ML workloads.
★ 44,247⑂ 8,262👁 481⑃ 44,196● 23,296▤ 134◈ 0
44,247
stars
+6
8,262
forks
481
watchers
44,196
prs
23,296
issues
134
releases
0
discussions
README
! 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: ! 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. Learn more about Monitoring and Debugging: - Monitor Ray apps and clusters with the Ray Dashboard. - Debug Ray apps with the Ray Distributed Debugger. 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. 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 Getting Involved | 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 |
Top issues
#30012[Core] Failed to register worker . Slurm - srun -66 comments · 2022-11-04#65879[Serve] [RFC] Computed Retry-After for backpressure rejections41 comments · 2026-09-03#59522[data][llm] LLM Batch Inference Resiliency Thread38 comments · 2025-12-17#29412[Ray Core] Ray agent getting killed unexpectedly38 comments · 2022-10-17#27421Ray with PyInstaller34 comments · 2022-08-03#50961[Feedback] Feedback for ray + uv32 comments · 2025-02-27#15893[autoscaler] 'ray up' disconnects when setting up head node on AWS32 comments · 2021-05-18#18053[core] occasional Ray port conflict issue31 comments · 2021-08-24
Latest release
Ray-2.60.0 ray-2.60.0 2026-11-04Highlights Ray Data shuffle and Parquet reads: In this Ray release, shuffle v2 is the default shuffle strategy for joins, aggregations (\66260). Parquet reads now size read tasks from the row-group metadata in each file's footer instead of estimating from file size, so read tasks are packed to an accurate byte budget (\65596, \65806, \65821). Ray Serve rolling updates: We've added max_surge_percent, which starts replacement replicas before stopping old ones so a rolling update doesn't reduce serving capacity (\66267). A rolling update whose new replicas keep failing now stops at DEPLOY