-
Notifications
You must be signed in to change notification settings - Fork 3
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
Register DAG #692
base: main
Are you sure you want to change the base?
Register DAG #692
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@spencerseale It's an excellent idea! I've got a suggestion and a question inline.
@spencerseale if registration.py imports dag.py and dag.py imports registration.py we have a circular import, no? Let's avoid doing that, especially if only to have perfect type hints. I think it's okay to relax the typing for But if we do want better type hints without a circular import... In general, I'm not concerned about whether |
@spencerseale about test failures: tiledb versions 0.33.1 and 0.33.2 broke the |
Adds functionality to register a
DAG
instance:The
DAG.register
method is to be prioritized, but also usable withregistration.register
as that's what's used in theDAG.register
method.Open question about type hinting
I need to update type hint in
tiledb.cloud.taskgraphs.registration.register
tograph: Union[tgbuilder, DAG]
. So I then add the import to that modulefrom tiledb.cloud.dag.dag import DAG
. But it's interesting, when I go to do that using my editable install and then run:python -m src.tiledb.cloud.dag.dag
I get:
I get the same stack trace when I update the module
tiledb.cloud.taskgraphs.registration
to import anything. I think this is the way we have cloud-py wired up and how the Py system path is getting created. Switching topoetry
or something similar would fix the dev experience a lot so the current dev library is installed into the system path as a Python library to simulate how cloud-py will execute as an installed library.@sgillies any ideas on this?