Skip to content

Sync version degraded #221

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
ayjayt opened this issue Feb 24, 2025 · 3 comments
Open

Sync version degraded #221

ayjayt opened this issue Feb 24, 2025 · 3 comments
Assignees
Labels
bug something broken P1 needs immediate attention

Comments

@ayjayt
Copy link
Collaborator

ayjayt commented Feb 24, 2025

The sync version of choreographer is degrading due to code duplication, will expound later.

@gvwilson gvwilson added bug something broken P1 needs immediate attention labels Feb 24, 2025
@gvwilson
Copy link
Contributor

@ayjayt does this need to be addressed for the March 2025 release or nah? cc @emilykl

@ayjayt
Copy link
Collaborator Author

ayjayt commented Mar 11, 2025

@gvwilson, @emilykl

This will not impact kaleido.

I'm thinking of removing the synchronous branches from choreographer (we don't use them) because they degrade as the async branches are updated. It would technically be an API change, I have to think about it a bit, but probably make a decision this month.

Technical Explanation:

Writing syncronous and async/await frameworks in parallel is made difficult because functions that basically do the same thing have to be written twice because language keywords (and internal behavior) are slightly different. On a high level, async and sync functions can't be mixed, but on a very low level (where choreographer is), async functions are just wrapped sync functions, and it would be convenient if they could be mixed. But its a very tall order, and unlike javascript, the python community is not completely dedicated to async/await. Forcing users to use it seems somewhat daring. Our solution w/ kaleido is pretty good where it handles its async/await in a separate thread if you want to imitate sync, but would be a bigger pill to swallow if you meant kaleido as a purely synchronous layer.

@ayjayt
Copy link
Collaborator Author

ayjayt commented Apr 3, 2025

Diagnose is now skipping sync tests

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug something broken P1 needs immediate attention
Projects
None yet
Development

No branches or pull requests

2 participants