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

release of pySBOL2 as a conda package? #396

Open
tduigou opened this issue Jan 20, 2021 · 10 comments
Open

release of pySBOL2 as a conda package? #396

tduigou opened this issue Jan 20, 2021 · 10 comments

Comments

@tduigou
Copy link

tduigou commented Jan 20, 2021

Hello,

Is there any plan to release [py]sbol2 as a conda package? As of today, people building conda packages that would require sbol2 will have to face with a dependency issue, as pySBOL2 is not available in public conda channels.

For the record, workarounds exist (see conda documentations), notably by building our own conda package of pySBOL2, so that it can be defined as a conda prerequisite. However, I believe it would be easier and increase compatibility if pySBOL2 conda releases are integrated within this repository.

Thanks for the great job.

@tcmitchell
Copy link
Collaborator

Hi @tduigou! Thanks for the kind words. We do not have plans to release a conda package, mainly because the developers do not use conda. We are open to contributions that would build a conda package. If you think this would be useful, and you are interested in making it happen, we encourage you to contribute whatever is needed to build a conda package.

If you have any questions, please let us know. Thanks!

@tduigou
Copy link
Author

tduigou commented Jan 26, 2021

Hi @tcmitchell! Here a first step in a separate repo.

https://github.com/brsynth/pysbol2-conda-recipe

It provides instructions to build the conda package from the sbol2 pypi package (version 1.2), and provide example of how to publish it on anaconda.org.

Following this, I published the sbol2 conda package into the brsynth conda channel -- https://anaconda.org/brsynth/sbol2. This channel is managed to the BioRetroSynth academic research group, of which I belongs to. People can freely install the sbol2 package using conda with conda install --channelbrsynth sbol2.

Although this work "as it is", I believe it would be more convenient for people if the package is integrated into the "conda-forge" conda channel. From the authors, this channel is "A community-led collection of recipes, build infrastructure and distributions for the conda package manager" (link: https://conda-forge.org/). Integrating sbol2 into it will make life simpler for anyone as conda-forge is already trusted and used by lots of folk (there is more 13k conda package referenced in it).

I propose now to integrate pySBOL2 into this conda-forge channel by following conda-forge guidelines (https://conda-forge.org/#contribute). That's something I never did, but it looks rather straightforward and I'm willing to do set it up.

Please let me know you think.

Best wishes,
Thomas

@tcmitchell
Copy link
Collaborator

We think this is great! 🎉

Thank you for the effort you are putting into making pySBOL2 a condo package! We are fully in favor of you proceeding to get the pySBOL2 package into the "conda-forge" channel. Please let us know if there's anything we need to do on our end to help.

Thank you! Merci beaucoup!

@jakebeal
Copy link
Collaborator

@tduigou If this works out, perhaps it could be done for pySBOL3 as well?

@tduigou
Copy link
Author

tduigou commented Feb 10, 2021

Hi,

@tcmitchell, I had a look to the details for publishing in conda-forge. I think things are now clear but... it remains to decide the package name to be used on conda.

The package is named sbol2 on pypi. Since pypi is dedicated to python, no issue, that's fine. However, conda (can) cover(s) other environment such as r, ruby,... Hence, in this case -- to "let the room" for other implementations of SBOL libs in other languages -- it could be wiser IMO choosing a py- or python- prefix to the conda package name.

From my readings, python-sbol2 would make the match. pysbol2 is also acceptable. I will use the one you feel more comfortable, just let me know.

@jakebeal Yes, that could be done as well, for instance following the releases published on pypi.

For the record, here a discussion about naming convention in conda-forge : conda-forge/conda-forge.github.io#18

@jakebeal
Copy link
Collaborator

Unless @tcmitchell or @bbartley thinks otherwise, I suspect that pysbol2 would be good, given that would match the name of this repository.

@tcmitchell
Copy link
Collaborator

I concur with @jakebeal , pysbol2 is probably the right choice.

@bbartley
Copy link
Collaborator

Fine with me.

@tduigou
Copy link
Author

tduigou commented Apr 13, 2021

Hi there, it appears I totally forgot to mentioned: the pysbol2 (v1.2) is now an official conda package on conda-forge! https://anaconda.org/conda-forge/pysbol2, it appears it has been downloaded 433 times already. As of today I'm the only maintainer of the git repo behind the conda packaging processing (https://github.com/conda-forge/pysbol2-feedstock). For the future I can add maintainers/admin on request.

We can do the same for the pysbol3, I'll probably do it (if no one do it before) when I'll find the time.

Thanks for this useful python package!
Thomas

@tcmitchell
Copy link
Collaborator

@tduigou Thank You! We appreciate your efforts on our behalf!

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

4 participants