Skip to main content

⚠️ Discontinuation of project

This project is no longer actively maintained by Astronomer. Development has been paused and we are not accepting new contributions, bug fixes or releases. The code is still here for you to explore, fork and adapt under the terms of its license. Please note that it may not work with the latest dependencies or platforms, and it could contain security vulnerabilities. Astronomer can't offer guarantees or warranties for its use.

Google Cloud alternative (partial): If you run Ray on Google Cloud, the official Apache Airflow Google provider (apache-airflow-providers-google) ships Ray operators that cover a subset of what this provider does:

This provider is Kubernetes-generic, so the Google operators are a Google Cloud-specific alternative, not a drop-in replacement.

If you're interested in adopting or stewarding this project, we'd be happy to chat — reach us at oss@astronomer.io. Thanks for being part of the open-source journey and helping keep great ideas alive!


Ray provider

:books: Docs   |   :rocket: Getting Started   |   :speech_balloon: Slack (#airflow-ray)  |   :fire: Contribute  

Orchestrate your Ray jobs using Apache Airflow® combining Airflow's workflow management with Ray's distributed computing capabilities.

Benefits of using this provider include:

  • Integration: Incorporate Ray jobs into Airflow DAGs for unified workflow management.
  • Distributed computing: Use Ray's distributed capabilities within Airflow pipelines for scalable ETL, LLM fine-tuning etc.
  • Monitoring: Track Ray job progress through Airflow's user interface.
  • Dependency management: Define and manage dependencies between Ray jobs and other tasks in DAGs.
  • Resource allocation: Run Ray jobs alongside other task types within a single pipeline.

Table of Contents

Quickstart

Check out the Getting Started guide in our docs. Sample DAGs are available at example_dags/.

Sample DAGs

Example 1: Using @ray.task for job life cycle

The below example showcases how to use the @ray.task decorator to manage the full lifecycle of a Ray cluster: setup, job execution, and teardown.

This approach is ideal for jobs that require a dedicated, short-lived cluster, optimizing resource usage by cleaning up after task completion

https://github.com/astronomer/astro-provider-ray/blob/bd6d847818be08fae78bc1e4c9bf3334adb1d2ee/example_dags/ray_taskflow_example.py#L1-L57

Example 2: Using SetupRayCluster, SubmitRayJob & DeleteRayCluster

This example shows how to use separate operators for cluster setup, job submission, and teardown, providing more granular control over the process.

This approach allows for more complex workflows involving Ray clusters.

Key Points:

  • Uses SetupRayCluster, SubmitRayJob, and DeleteRayCluster operators separately.
  • Allows for multiple jobs to be submitted to the same cluster before deletion.
  • Demonstrates how to pass cluster information between tasks using XCom.

This method is ideal for scenarios where you need fine-grained control over the cluster lifecycle, such as running multiple jobs on the same cluster or keeping the cluster alive for a certain period.

https://github.com/astronomer/astro-provider-ray/blob/bd6d847818be08fae78bc1e4c9bf3334adb1d2ee/example_dags/setup-teardown.py#L1-L44

Getting Involved

Platform Purpose Est. Response time
Discussion Forum General inquiries and discussions < 3 days
GitHub Issues Bug reports and feature requests < 1-2 days
Slack Quick questions and real-time chat 12 hrs

Changelog

We follow Semantic Versioning for releases. Check CHANGELOG.rst for the latest changes.

Contributing Guide

All contributions, bug reports, bug fixes, documentation improvements, enhancements are welcome.

A detailed overview on how to contribute can be found in the Contributing Guide.

License

Apache 2.0 License

Privacy Notice

This project follows Astronomer's Privacy Policy <https://www.astronomer.io/privacy/>_

Metadata

Release files for astro-provider-ray 0.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for astro-provider-ray 0.4.0
File Size Uploaded Provenance Actions
astro_provider_ray-0.4.0.tar.gz 22.8 kB Without provenance Details for astro_provider_ray-0.4.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for astro-provider-ray 0.4.0
File Interpreter ABI Platform Actions
astro_provider_ray-0.4.0-py3-none-any.whl Python 3 none any Details for astro_provider_ray-0.4.0-py3-none-any.whl

Total release size: 47.1 kB

Release files / astro_provider_ray-0.4.0.tar.gz

Download URL astro_provider_ray-0.4.0.tar.gz
Size 22.8 kB
Tags Source
SHA-256 checksum
How to use checksums
a130803489cbb03daa03a8f428d3c9fc13066d12e062ad99a788baf9fff6e5f6
BLAKE2b-256 checksum
How to use checksums
8ac9fc7215a7356e8297e5d52d551cd27d2e2911e323ed76942c74733b96d94e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.8

Release files / astro_provider_ray-0.4.0-py3-none-any.whl

Download URL astro_provider_ray-0.4.0-py3-none-any.whl
Size 24.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8f8c13e0129cc7c72709fbf33b9e1fd4c08fc22fb4e5f86667b87ab060a3c4b6
BLAKE2b-256 checksum
How to use checksums
ed61d417b4d2d1477631c2433792394e464aea18fd491f2ec86157919b2b74e8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.8

Security for astro-provider-ray 0.4.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page