higra / Higra

Hierarchical Graph Analysis
Other
97 stars 20 forks source link

add to `conda-forge` #275

Closed JoOkuma closed 3 months ago

JoOkuma commented 3 months ago

Hey @PerretB,

I hope you're doing well.

I'm trying to upload a package that depends on higra to conda-forge, and they require all the dependencies to be on conda. Would you be OK with me creating a conda recipe for it? I would include you as a maintainer.

This should add minimal maintenance work because conda rebuilds automatically once higra on pypi is updated.

PerretB commented 3 months ago

Hi Jordão,

yes sure it's always nice to enrich the ecosytem with new contributions!

I'm not familiar at all with the conda recipe system, however I remember that the initial setup of the build system using CI/CD pipelines was a bit painful (but yet again I had no prior experience with this) so I'm curious to see how forge handles this.

For maintenance, it will be important to understand and document what should be done when a new version of the library is pushed, when a new version of python is available and when the builders of forge are updated. For example, currently, pushing a new version tag to github will trigger the CI/CD pipeline to build new wheels and upload them on pipy. However, new version of pythons and azure agents upgrade must be handled manually in the CI/CD pipeline configuration files.

JoOkuma commented 3 months ago

Great, @PerretB! I'll tag in the conda-forge contribution.

OK, I'll document the new procedures. My current understanding, and I might be wrong here, is that they have automated most of the conda-forge building process, so Higra will be rebuilt once a new version is uploaded to pip or azure agents are updated (here, I'm talking about their azure agent, they are also using it).

It will only need manual interaction if Higra dependencies are updated because this requires updating the conda package metadata; in the past, this triggered an issue on the conda-forge repo, and they pinged me to fix the build.

JoOkuma commented 3 months ago

Hey @PerretB, conda-forge integration is done, https://anaconda.org/conda-forge/higra

This issue can be closed and maybe #249.

PerretB commented 3 months ago

Thank you very for this great contribution @JoOkuma !

This indeed provides a solution to #249, although I still plan to add ARM64 to Pypi as soon as arm64 is available on Azure pipelines