Skip to content

docs: ray example with ops - #1079

Open
geoHeil wants to merge 1 commit into
mainfrom
03-19-docs_ray_example_with_ops
Open

docs: ray example with ops#1079
geoHeil wants to merge 1 commit into
mainfrom
03-19-docs_ray_example_with_ops

Conversation

@geoHeil

@geoHeil geoHeil commented Mar 19, 2026

Copy link
Copy Markdown
Collaborator

resolves: #74

Summary

Changelog

Test Plan

geoHeil commented Mar 19, 2026

Copy link
Copy Markdown
Collaborator Author

How to use the Graphite Merge Queue

Add either label to this PR to merge it via the merge queue:

  • graphite:merge - adds this PR to the back of the merge queue
  • graphite:hotfix - for urgent changes, fast-track this PR to the front of the merge queue

You must have a Graphite account in order to use the merge queue. Sign up using this link.

An organization admin has enabled the Graphite Merge Queue in this repository.

Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue.

This stack of pull requests is managed by Graphite. Learn more about stacking.

@geoHeil

geoHeil commented Mar 19, 2026

Copy link
Copy Markdown
Collaborator Author

not yet ready for review

@geoHeil geoHeil mentioned this pull request Mar 19, 2026
@geoHeil
geoHeil force-pushed the 03-19-docs_ray_example_with_ops branch 5 times, most recently from e422dec to b110f39 Compare March 21, 2026 16:52
@geoHeil
geoHeil requested a review from Copilot March 21, 2026 17:22

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new “Ray” example project to the repository and publishes it in the docs, while also introducing BigQuery live integration test plumbing (fixtures, marker, and CI secrets) to support broader store coverage.

Changes:

  • Introduce a new examples/example-ray project with 3 progressive scenarios (basic Ray pipeline, Ray+Dagster assets, and “production patterns” ops).
  • Add Ray example documentation page and register it in MkDocs nav; add snapshot/runbook coverage for the new example.
  • Add BigQuery test marker + fixtures + a new live BigQuery integration test file; wire BigQuery secrets into CI workflows.

Reviewed changes

Copilot reviewed 34 out of 37 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
uv.lock Adds example-ray and dependencies (dagster-ray, tenacity), plus Ray optional deps section updates.
tests/metadata_stores/test_bigquery_integration.py New live BigQuery integration tests (write/read + resolve_update).
tests/metadata_stores/conftest.py Adds BigQuery store case and BigQuery project/dataset fixtures.
tests/examples/test_ray.py Runs the Ray example via runbook scenarios (skips if Ray missing).
tests/examples/test_example_snapshots.py Improves DuckLake temp-path overrides for snapshot isolation.
tests/examples/__snapshots__/test_example_snapshots.ambr Adds the expected snapshot output for example-ray.
pyproject.toml Registers the bigquery pytest marker.
mkdocs.yml Adds “Ray” to the examples navigation.
examples/example-ray/src/example_ray/basic_pipeline.py Example 1: Ray Data pipeline using MetaxyDatasource/MetaxyDatasink.
examples/example-ray/src/example_ray/defs/assets/__init__.py Example 2: Dagster assets using Ray Data + BufferedMetadataWriter.
examples/example-ray/src/example_ray/defs/assets/production.py Example 3: “production patterns” asset (run modes, counters, failure policy, branching writes).
examples/example-ray/src/example_ray/defs/ops/run_config.py Run-mode config + sample selection helper.
examples/example-ray/src/example_ray/defs/ops/worker.py Timed worker wrapper for per-row timing/error capture.
examples/example-ray/src/example_ray/defs/ops/error_handling.py Failure policy utility.
examples/example-ray/src/example_ray/defs/ops/counters.py Counter struct for Dagster metadata.
examples/example-ray/src/example_ray/defs/ops/__init__.py Package init for ops helpers.
examples/example-ray/src/example_ray/features.py Feature definitions for the Ray example graph.
examples/example-ray/src/example_ray/definitions.py Dagster Definitions for Example 2 assets.
examples/example-ray/src/example_ray/production_definitions.py Dagster Definitions for Example 3 assets.
examples/example-ray/src/example_ray/materialize_dagster.py Programmatic materialization + verification for Example 2.
examples/example-ray/src/example_ray/materialize_production.py Programmatic materialization + verification for Example 3.
examples/example-ray/src/example_ray/__init__.py Package init.
examples/example-ray/src/example_ray/__entrypoint__.py Entrypoint module for feature discovery.
examples/example-ray/src/example_ray/defs/__init__.py Package init for defs/ (added/updated in PR).
examples/example-ray/metaxy.toml Example config (DuckDB + DuckLake via SQLite catalog/local storage).
examples/example-ray/pyproject.toml Example package metadata and dependencies.
examples/example-ray/README.md Links to the hosted docs page.
examples/example-ray/ruff.toml Extends repo Ruff config for the example package.
examples/example-ray/.example.yaml Runbook scenarios for the example.
examples/example-ray/.example.result.json Captured runbook output used by docs/tests.
docs/examples/ray.md New docs page describing the Ray example and embedding code snippets.
.pre-commit-config.yaml Excludes the Ray example’s lockfile from “added large files” check.
.github/workflows/_qa.yml Adds BigQuery env/secrets + credential file write step for CI tests.
.github/workflows/Pull Request.yml Passes BigQuery secrets through to reusable QA workflow; adds run-all-checks input wiring.
.github/workflows/main.yml Passes BigQuery secrets through to QA workflow on main.
.github/workflows/release.yml Passes BigQuery secrets through to QA workflow for release gating.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/_qa.yml Outdated
Comment thread tests/metadata_stores/conftest.py Outdated
Comment thread examples/example-ray/src/example_ray/defs/assets/__init__.py Outdated
Comment thread examples/example-ray/src/example_ray/defs/assets/production.py Outdated
Comment thread tests/metadata_stores/conftest.py Outdated
@geoHeil
geoHeil force-pushed the 03-19-docs_ray_example_with_ops branch 2 times, most recently from 49b3bf1 to b150460 Compare March 21, 2026 18:37
@geoHeil
geoHeil requested a review from Copilot March 21, 2026 18:38

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 27 out of 30 changed files in this pull request and generated 5 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread docs/examples/ray.md
Comment thread tests/examples/test_ray.py Outdated
Comment thread tests/examples/test_ray.py Outdated
Comment thread examples/example-ray/src/example_ray/materialize_dagster.py Outdated
Comment thread examples/example-ray/src/example_ray/materialize_production.py Outdated
@geoHeil
geoHeil force-pushed the 03-19-docs_ray_example_with_ops branch from b150460 to aa290e6 Compare March 21, 2026 19:13
@geoHeil
geoHeil requested a review from danielgafni March 22, 2026 07:11
@geoHeil
geoHeil marked this pull request as ready for review March 22, 2026 07:11
@geoHeil

geoHeil commented Mar 22, 2026

Copy link
Copy Markdown
Collaborator Author

can you take a first rough look.

As discussed:

  • given feedback I can rfine it
  • you definitively know better than I (you used it longer in PROD) and could push also directly to the branch
  • otherwise, if you think it is better - we can close this one and you create a similar example from scratch

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[examples] Ray example

2 participants