Skip to content
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

Conversation

matthewfeickert
Copy link
Contributor

  • Add project to get as many of the HEP simulation stack dependencies on conda-forge.

Comment on lines +52 to +55
contacts:
- name: Matthew Feickert
email: [email protected]
Copy link
Contributor Author

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"?

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.

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.

Copy link
Contributor Author

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!

Copy link

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. ✌️

Copy link
Contributor Author

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.

Comment on lines 50 to 51
[HepMC2](https://gitlab.cern.ch/hepmc/HepMC), and
[HepMC3](https://gitlab.cern.ch/hepmc/HepMC3).

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor Author

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

Copy link
Contributor Author

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.
@matthewfeickert matthewfeickert force-pushed the feat/add-conda-forge-for-simulation-stack branch from 262c64b to bfed3a5 Compare February 8, 2024 07:19
@matthewfeickert
Copy link
Contributor Author

matthewfeickert commented Feb 8, 2024

@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. 👍

@davidlange6 davidlange6 merged commit 4203ed3 into research-software-collaborations:main Feb 9, 2024
3 checks passed
@matthewfeickert matthewfeickert deleted the feat/add-conda-forge-for-simulation-stack branch February 9, 2024 15:59
Comment on lines +50 to +51
and adding Python 3 bindings for the
[HepMC2](https://github.com/conda-forge/hepmc2-feedstock), and
Copy link
Contributor Author

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.

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.

Copy link
Contributor Author

@matthewfeickert matthewfeickert Aug 12, 2024

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

or won't need them in the case of HepMC2 https://github.com/conda-forge/hepmc2-feedstock.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants