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

Providing conda packages #99

Closed
9 tasks done
ap-- opened this issue Nov 21, 2022 · 7 comments
Closed
9 tasks done

Providing conda packages #99

ap-- opened this issue Nov 21, 2022 · 7 comments

Comments

@ap--
Copy link

ap-- commented Nov 21, 2022

Hello @mxmlnkn

I'd like to install ratarmount via conda and wanted to ask what your thoughts are on providing conda packages. I would offer to create the required conda-forge package feedstocks to make that happen.

Packages that would need to be created:

Let me know what you think,
Cheers,
Andreas 😃

@mxmlnkn
Copy link
Owner

mxmlnkn commented Nov 21, 2022

Hi there :),

I's welcome uploading a conda package. I already have a pipeline for indexed_bzip2 as you found out. Those were uploaded by me. Unfortunately, I'm pretty new to the conda ecosystem and I don't use it normally.

I didn't port the indexed_bzip2 conda CI to pragzip yet because the downloads were around five in total ... compared to thousands via PyPI. But, pragzip is not a required dependency yet anyway because it is not fully finished.

Could the low download count be because it is a "personal feedstock" instead of conda-forge? I'm not sure I quite get what difference that would make for someone wanting to install ratarmount.

@ap--
Copy link
Author

ap-- commented Nov 22, 2022

The downloads for your indexed_bzip2 package are low, because users would have to specifically add your personal channel to the install command or to their environment.yml (basically requirements.txt)

The conda ecosystem uses channels to host packages. By default conda uses a channel called default which is managed by Anaconda Inc. This default channel is more curated and doesn't move as fast (I assume because Anaconda also provides paid tiers with guarantees regarding how stable the distributed tools are)
But there is a very large community driven project called conda-forge, which provides the conda-forge channel which contains a lot more and more recent packages than the defaults channel. To add packages to that channel you create a new feedstock repository in the conda-forge github organisation via the staged-recipes repository. The feedstocks are then managed by whoever volunteers to be maintaining them. For well designed tools, this maintaining overhead is very little, and can mostly be automated via bots provided by the conda-forge community.

So for each package you will end up with a repository in the conda-forge org, where me (and I would of course add you) would have maintainer access. So something like
https://github.com/conda-forge/ratarmount-feedstock

If you would like, I can set all of this up, and provide a few more explanations what I consider best-practice and what would help to reduce the maintainer burden, in terms of automation etc... I would start with the dependencies and make these feedstock repositories one by one.

@mxmlnkn
Copy link
Owner

mxmlnkn commented Nov 22, 2022

I see. Thank you for the detailed explanation.

If you would like, I can set all of this up, and provide a few more explanations what I consider best-practice and what would help to reduce the maintainer burden, in terms of automation etc... I would start with the dependencies and make these feedstock repositories one by one.

I will take up that offer. Thank you for your help! Let me know when you need some changes in one of the projects owned by me. The other depended-on projects also had responsive maintainers the last time I reported bugs for any of them.

@ap--
Copy link
Author

ap-- commented Nov 22, 2022

Great 👍 I'll start setting everything up in the next few days and will keep this issue updated!

@ap--
Copy link
Author

ap-- commented Mar 2, 2023

The last remaining pull request got merged! 🎉

conda create -n myenv -c conda-forge ratarmount
conda activate myenv
ratarmount --help

Cheers,
Andreas

@ap-- ap-- closed this as completed Mar 2, 2023
@mxmlnkn
Copy link
Owner

mxmlnkn commented Mar 2, 2023

It took a while but it finally is done 🎉

Thank you for keeping at it and thank you so much for your work on this ❤️

As the last step, I'll have to add it to the Readme. Maybe another badge and/or your posted install steps.

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

2 participants