ResearchObject / ro-crate-py

Python library for RO-Crate
https://pypi.org/project/rocrate/
Apache License 2.0
46 stars 23 forks source link

Distribution request: rocrate-py on conda forge #139

Open Denubis opened 1 year ago

Denubis commented 1 year ago

(Requested duplicate to https://github.com/ResearchObject/ro-crate/issues/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 commented 1 year ago

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 commented 1 year ago

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 commented 1 year ago

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

stain commented 1 year ago

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 commented 1 year ago

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 commented 2 months ago

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 commented 1 month ago

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.