-
Notifications
You must be signed in to change notification settings - Fork 44
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
feat: Add 'Packaging the HEP simulation stack on conda-forge' project #62
feat: Add 'Packaging the HEP simulation stack on conda-forge' project #62
Conversation
matthewfeickert
commented
Sep 5, 2023
- Add project to get as many of the HEP simulation stack dependencies on conda-forge.
contacts: | ||
- name: Matthew Feickert | ||
email: [email protected] |
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.
@henryiii, @chrisburr, @agbuckley would you be willing to be listed as mentors on this project, if "mentors" here translates to "people that can be emailed and asked to give advice on why things are breaking horribly in the build and then approve and merge PRs/MRs to the projects they maintain"?
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.
Hi @matthewfeickert , realistically I am just too overloaded to add this to the list at the moment -- after coming back from one day offline at another workshop to find 200+ departmental emails and our MSc programmes metaphorically on fire. I don't mind being copied in and helping as and when, but it can't be a priority for me and I wouldn't want to advertise as being available and then disappoint. Is there a particular project you had in mind for me to accept MRs on? Obviously the Rivet etc. teams manage our own trackers, and we have a responsibility to help... though Conda has correlated strongly with borked environments run by users who can't provide a MWE.
Chris Gutschow is also pretty technically invested in the simulation stack -- not for conda, but might be available to help on generic things as well as on the specific projects. Not sure if he has a GitHub account.
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.
Unfortunately I'm in a similar situation to Andy so can't really commit to reliably responding to questions from the mentee. Though if you let me know when the project starts I can try to keep an eye on conda-forge/staged-recipes
to help get PRs accepted.
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 don't mind being copied in and helping as and when, but it can't be a priority for me and I wouldn't want to advertise as being available and then disappoint
Totally understand this @agbuckley. 👍
Is there a particular project you had in mind for me to accept MRs on?
I had originally thought for HepMC, but given @chrisburr's comment #62 (comment) it seems that these are already taken care of! So I think realistically just LHAPDF, and only if that required some patch to get applied to be able to build in conda-forge's conda-smithy CI.
Obviously the Rivet etc. teams manage our own trackers, and we have a responsibility to help...
The goal of this project was to basically have teams like Rivet not have to do any work, beyond maybe reviewing a MR and saying "LGTM" (as well as approving that their code be distributed on conda-forge).
though Conda has correlated strongly with borked environments run by users who can't provide a MWE.
Yeah, hopefully this project would have a RSE-inclined Fellow be able to help make conda environments less difficult for the simulation stack to work with.
Chris Gutschow is also pretty technically invested in the simulation stack
Ah great! I'll follow up with him. Thanks!
Though if you let me know when the project starts I can try to keep an eye on conda-forge/staged-recipes to help get PRs accepted.
@chrisburr, this is more than enough help. Many thanks!
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.
Hiya - getting Rivet 3.2 + YODA2 release ready currently has higher priority on my to-do list, but I could probably spend some time on this afterwards. ✌️
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.
Sounds good @20DM. To be clear, this is a proposed IRIS-HEP Fellow project for the future, and wouldn't start until either late 2023 or early 2024.
There's already some packages on conda-forge, which is great, but this project would hopefully get things like conda-forge/staged-recipes#21052 finished (if we can't get it done before then) and then iteratively address others so that we could ideally start having the larger applications that pull in many dependencies get packaged as well.
[HepMC2](https://gitlab.cern.ch/hepmc/HepMC), and | ||
[HepMC3](https://gitlab.cern.ch/hepmc/HepMC3). |
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.
These two are already there:
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.
Amazing. :)
$ docker run --rm -ti mambaorg/micromamba:1.4.9-bullseye-slim
(base) mambauser@20be5bfb0b84:/tmp$ micromamba install --yes --channel conda-forge hepmc3
(base) mambauser@20be5bfb0b84:/tmp$ micromamba list hepmc3
List of packages in environment: "/opt/conda"
Name Version Build Channel
────────────────────────────────────────────
hepmc3 3.2.6 h93df44d_0 conda-forge
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.
Ah, but no Python bidings: conda-forge/hepmc3-feedstock#16
That would be important to have.
* Add project to get as many of the HEP simulation stack dependencies on conda-forge.
262c64b
to
bfed3a5
Compare
@davidlange6 This is ready for review and to be merged. @chrisburr, @agbuckley, @20DM this Fellow project would be targetting Summer 2024, so if you end up having time and interest to join as mentors on this later on feel free to just ping here and we can add you on. 👍 |
4203ed3
into
research-software-collaborations:main
and adding Python 3 bindings for the | ||
[HepMC2](https://github.com/conda-forge/hepmc2-feedstock), and |
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.
Ah. @chrisburr, @agbuckley, @20DM from looking at https://gitlab.cern.ch/hepmc/HepMC I see now that there never was Python bindings for HepMC2 at all and that they were only added in HepMC3. If that's correct and I haven't missed something, then that means that this bit of the proposal is a "no go" as HepMC2 development has long since stopped and there's no point in trying to add Python bindings to it, and we can close PR conda-forge/hepmc2-feedstock#4.
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.
Yep. There were a couple of different external packages providing bindings, e.g. I had made a SWIG-based one many years before, but nothing official/built-in until very recently.
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.
Thanks @agbuckley. I didn't do my research well enough on this before starting things off 😬, and I'm happily (but embarrassingly) finding that multiple projects described in this proposal already have Python bindings on conda-forge
- HepMC3: https://github.com/conda-forge/pyhepmc-feedstock
- LHAPDF: https://github.com/conda-forge/lhapdf-feedstock
or won't need them in the case of HepMC2 https://github.com/conda-forge/hepmc2-feedstock.