-
Notifications
You must be signed in to change notification settings - Fork 12
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
DM-33027: add PipelineGraph and supporting classes #221
Conversation
01f3ecf
to
c6f1caf
Compare
Note that these commits (in their original form) mostly predate the |
python/lsst/pipe/base/pipelineIR.py
Outdated
|
||
Parameters | ||
---------- | ||
expanded_tasks : `Mapping` [ `str`, `TaskIR` ], optional |
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.
I'm not sure I like that instrument is not written, seems like it would make it easier to determine where something came from, and what it is intended for. And without it I dont think we can work toward the goal of having instrument help inform the registry what the right instrument is
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.
This bothered me, too, but we absolutely can't afford to apply instrument overrides again (since other overrides may have been applied on top of those that should not be overridden), and that's what would happen if we left the instrument directive in. I think the alternative is to add a syntax for specifying an instrument while noting that its overrides have already been applied. Would you prefer that?
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.
Yeah I would prefer some syntax for that, or even another top level key, like instrument_name
that does nothing, but is persisted.
This comment got be thinking, because these are conceptually finalized
pipelines I can see why we can not apply instruments a second time. However, these are not actually distinguishable from any other pipelines on load, there really is nothing that stops someone from doing additional overrides, such as passing something like --instrument on the command line, or even deriving a whole new pipeline from this as an import. I think this could be a useful feature (especially in testing for production when you need to quickly modify or something), but I also think it could be a foot gun if not taken into account. With this in mind, is there anything about this ticket you would like to re-evaluate?
bf1ce5a
to
2273659
Compare
2273659
to
cf72ce6
Compare
edf0438
to
44ac030
Compare
b1087ef
to
d976e5a
Compare
b77c85d
to
7a893cb
Compare
Codecov ReportPatch coverage:
Additional details and impacted files@@ Coverage Diff @@
## main #221 +/- ##
==========================================
+ Coverage 82.82% 84.35% +1.52%
==========================================
Files 66 77 +11
Lines 7242 8524 +1282
Branches 1410 1634 +224
==========================================
+ Hits 5998 7190 +1192
- Misses 999 1054 +55
- Partials 245 280 +35
☔ View full report in Codecov by Sentry. |
5b67ba0
to
cda0f39
Compare
468b7e7
to
688f475
Compare
91f5c3a
to
e4b109f
Compare
e51265e
to
a16a939
Compare
e8d3349
to
bcf519d
Compare
f743700
to
b1d8206
Compare
Much of the code changed here is actually stuff I want to deprecate in the future, once PipelineGraph has been integrated with more things. In the meantime, this addresses much the duplication caused by adding PipelineGraph.
b1d8206
to
e8fff7d
Compare
I just resolved some very old comments, but I think I'm actually just going to close this PR and make a new one, because the new branch has almost no relation to the old one. |
Checklist
doc/changes