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

Distribution request: rocrate-py on conda forge #139

Closed
Denubis opened this issue Nov 3, 2022 · 15 comments
Closed

Distribution request: rocrate-py on conda forge #139

Denubis opened this issue Nov 3, 2022 · 15 comments

Comments

@Denubis
Copy link

Denubis commented Nov 3, 2022

(Requested duplicate to ResearchObject/ro-crate#217)

As an academic distributing software, I've just found myself making a conda environment (instead of a pip requirements.txt file). I'd like to be able to conda install -c conda-forge rocrate instead of:

dependencies:
  - python=3.10
  - pip
  - pip:
    - "rocrate"

A search https://anaconda.org/search?q=rocrate doesn't show rocrate as available inside the anaconda ecosystem.

@simleo
Copy link
Collaborator

simleo commented Nov 4, 2022

Conda distributions tend to be more useful when the package has non-Python dependencies, e.g. C/C++, as is often the case for packages including extension modules. ro-crate-py, OTOH, is pure Python. That being said, Conda packages would still be nice to have, though the recipe requires work and then there's the burden of maintenance. I think the main hurdle would be the dependency from galaxy2cwl, which is not available from conda-forge.

Volunteers?

@jmfernandez
Copy link

Several months ago I made a contribution to bioconda, a conda channel more biased to life sciences. I contributed the Python crypt4gh conda recipe, inspired in the public indications from an Spanish colleague (sorry, instructions are in Spanish).

But, I guess the right conda channel should be bioconda instead of conda-forge. The main reason is that one of the rocrate-py dependencies is galaxy2cwl, which does not have conda package yet (as @simleo rightly pointed out). Exploring galaxy2cwl dependencies, it depends on gxformat2, which is already at bioconda channel.

@Denubis
Copy link
Author

Denubis commented Nov 5, 2022

Bioconda instead of conda-forge is entirely acceptable for my needs, if that helps @jmfernandez.

@stain
Copy link
Contributor

stain commented Nov 9, 2022

ro-crate is not a life-science library, so should really be on conda-forge.

We had Gromacs in bioconda (maintained by UNIMAN for a while) and then moved it to CondaForge as it was also used by Material Sciences.

Can the galaxy2cwl dependency be optional somehow in Conda?

@simleo
Copy link
Collaborator

simleo commented Nov 10, 2022

I think we can make galaxy2cwl an optional dependency. Without it one would be able to do everything except generating abstract CWL from Galaxy workflows.

@stain
Copy link
Contributor

stain commented Jul 2, 2024

Instead of galaxy2cwl could we not use gxformat2 directly? It can also convert to abstract CWL with gxwf-abstract-export command

https://github.com/galaxyproject/gxformat2

@corneliusroemer
Copy link

Just to add to the motivation: rocrate is a dependency of galaxy-data and so the the galaxy-data recipe in bioconda would like to require it at runtime - that's not possible while there isn't a conda-forge or bioconda package.

@ewels
Copy link

ewels commented Dec 15, 2024

And to add one more voice: we'd like to use it in the @nf-core tooling and so a conda package would be great!

@mirpedrol
Copy link

mirpedrol commented Dec 16, 2024

Hello, since we would like to use rocrate in the nf-core tooling as @ewels mentioned, I tried adding the recipe and all the missing dependencies to conda-forge. I have some tests still failing.
Please let me know if that's ok and if you would like to be added as maintainers, thanks!

@mirpedrol
Copy link

I am tagging different implicated devs here to have the discussion centralized, please feel free to ping more people if needed.
@ewels @elichad @stain @pvanheus @nsoranzo @bedroesb

We have been trying to add the rocrate recipe to conda-forge and currently found some blockers:

  • building the update of arcp v0.2.1 recipe
  • using bioblend and gxformat2 packages, since they are already in bioconda but these can't be used in a conda-forge recipe

As @nsoranzo mentioned, there are two options:

  • Make the galaxy2cwl dependency optional in rocrate, as suggested before
  • Move bioblend and gxformat2 to conda-forge (dropping them from bioconda)

We would have to decide on the best way to deal with this. What is your opinion?
From nf-core we are happy to help with what we can to make this happen :)

@bedroesb
Copy link
Member

I like the idea of adding the galaxy2cwl functionality into the ro-crate library directly, as @stain mentioned. This way we can indeed drop it as a dependency. Adding it to conda-forge is also fine by me, but in both cases I think we will have to retest the functionality with recent dependencies. The repo is untouched for a while now.

@simleo
Copy link
Collaborator

simleo commented Dec 20, 2024

  • Make the galaxy2cwl dependency optional in rocrate, as suggested before

Working on this, see #210. Without the ga2cwl option, dependencies are reduced to:

MarkupSafe
arcp
certifi
charset-normalizer
click
idna
jinja2
python-dateutil
requests
six
urllib3

@simleo
Copy link
Collaborator

simleo commented Dec 20, 2024

I have just released rocrate 0.13.0, which does not require galaxy2cwl by default. bioblend and gxformat2 are thus not required anymore for the default installation.

@mirpedrol
Copy link

Thank you @simleo !

@elichad
Copy link
Contributor

elichad commented Jan 9, 2025

It's done! You can now conda install rocrate from conda-forge 🎉
Thanks @mirpedrol @ewels and colleagues for sorting out the recipe :)
https://anaconda.org/conda-forge/rocrate
https://github.com/conda-forge/rocrate-feedstock

@elichad elichad closed this as completed Jan 9, 2025
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

No branches or pull requests

9 participants