Closed ap-- closed 1 year ago
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.
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.
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.
Great 👍 I'll start setting everything up in the next few days and will keep this issue updated!
Stage Recipes:
The last remaining pull request got merged! :tada:
conda create -n myenv -c conda-forge ratarmount
conda activate myenv
ratarmount --help
Cheers, Andreas
It took a while but it finally is done :tada:
Thank you for keeping at it and thank you so much for your work on this :heart:
As the last step, I'll have to add it to the Readme. Maybe another badge and/or your posted install steps.
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:
ratarmount
https://github.com/conda-forge/ratarmount-feedstockratarmountcore
https://github.com/conda-forge/ratarmountcore-feedstockindexed_bzip2
https://github.com/conda-forge/indexed_bzip2-feedstockindexed_zstd
https://github.com/conda-forge/indexed_zstd-feedstockpython-xz
https://github.com/conda-forge/python-xz-feedstockindexed_gzip
https://github.com/conda-forge/indexed_gzip-feedstockrarfile
https://github.com/conda-forge/rarfile-feedstockfusepy
https://github.com/conda-forge/fusepy-feedstockdataclasses
https://github.com/conda-forge/dataclasses-feedstockLet me know what you think, Cheers, Andreas 😃