-
Notifications
You must be signed in to change notification settings - Fork 11
DM-33027: add PipelineGraph and supporting classes #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
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