Skip to content

Implement Obol, a compiler pipeline for compiling imperative Python to Styx code#40

Merged
kPsarakis merged 5 commits into
delftdata:mainfrom
AlexDimakos:main
Jun 22, 2026
Merged

Implement Obol, a compiler pipeline for compiling imperative Python to Styx code#40
kPsarakis merged 5 commits into
delftdata:mainfrom
AlexDimakos:main

Conversation

@AlexDimakos

Copy link
Copy Markdown
Contributor

This PR introduces Obol, a compiler-driven framework that allows developers to write distributed stateful workflows as standard sequential, object-oriented Python code. Obol automatically transforms these high-level structures into the asynchronous message-passing operator chains required by the Styx runtime while strictly preserving Styx’s serializable, exactly-once transactional guarantees.

@codecov

codecov Bot commented Jun 18, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 36.00000% with 16 lines in your changes missing coverage. Please review.
✅ Project coverage is 86.44%. Comparing base (d09e58c) to head (af6f299).

Files with missing lines Patch % Lines
styx-package/styx/common/stateful_function.py 30.00% 14 Missing ⚠️
styx-package/styx/local_runner/local_state.py 60.00% 2 Missing ⚠️
Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main      #40      +/-   ##
==========================================
- Coverage   86.92%   86.44%   -0.48%     
==========================================
  Files          45       45              
  Lines        2661     2685      +24     
==========================================
+ Hits         2313     2321       +8     
- Misses        348      364      +16     
Flag Coverage Δ
coordinator 93.40% <ø> (ø)
integration 8.97% <0.00%> (-0.09%) ⬇️
styx-package 81.97% <36.00%> (-0.80%) ⬇️
worker 83.69% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
styx-package/styx/local_runner/local_state.py 93.10% <60.00%> (-6.90%) ⬇️
styx-package/styx/common/stateful_function.py 88.65% <30.00%> (-9.71%) ⬇️
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@kPsarakis kPsarakis left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Great stuff @AlexDimakos !

@kPsarakis kPsarakis merged commit e1c76b2 into delftdata:main Jun 22, 2026
7 of 8 checks passed
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.

2 participants