rsalmei / alive-progress

A new kind of Progress Bar, with real-time throughput, ETA, and very cool animations!
MIT License
5.53k stars 206 forks source link

Update available version at conda #175

Open yildizbilal opened 2 years ago

yildizbilal commented 2 years ago

Can you add the latests versions to the conda package manager?

https://anaconda.org/conda-forge/alive-progress

rsalmei commented 2 years ago

Hey, how do I do that? That really is a pretty outdated version, but I'm not the one who upped it. I've never used conda myself, and neither have an account there...

rsalmei commented 2 years ago

I've created an account there, but I'm still not sure how to do that. I see that conda-forge (user? organization? builtin?) included that old version. Could I update it? I think it would be better to have an official version, with my user: https://anaconda.org/rsalmei/alive-progress I'd appreciate some insight.

yildizbilal commented 2 years ago

Excuse me for my delayed response. To be honest, i also don't know how to do that. I just wanted to install it through conda, but saw a outdated version, so just wanted to point to update it. I neither uploaded a package to pip or conda.

rsalmei commented 2 years ago

I see, no problem then, thanks. I'll still try to understand that, whenever I have some time.

Brainor commented 2 years ago

After some digging with creating and updating packages in conda-forge, I think it looks like that all the dependencies have to be in conda-forge as well (ref), which means about_time and grapheme have to be uploaded to conda-forge beforehand.

rsalmei commented 2 years ago

Yes, it does seem like it. The help I'd need here is, which commands should I issue on the terminal so I can send and update a package on my name? With this, I could modify my makefile, so that every time I publish a version into PyPI, I also release it into conda.

Brainor commented 2 years ago

I think it would be better to have an official version, with my user: https://anaconda.org/rsalmei/alive-progress I'd appreciate some insight.

IMHO, conda forge is an organization/platform collecting all the packages as long as you issue your package info in the correct way. You don't upload your resource file to conda-forge; conda-forge retrieve the file from the link you put in the "recipe". E.g., alive-progress's package resource in conda-forge is from pypi.io(check this line). So I guess it doesn't matter who issued the package info to conda-forge in the first place, but the maker of this code is more suitable to be the solely maintainer.

  1. First of all, add your github account to the maintainer list by opening an issue in alive-progress-feedstock repo according to the instruction.
  2. Then, upload about_time and graphme to conda-forge.
  3. Last, update alive-progress in conda-forge. Just modify the meta.yaml to add the package requirements is enough (also the package version and resource sha256) I think.

With this, I could modify my makefile, so that every time I publish a version into PyPI, I also release it into conda.

IMHO again, you don't need to do that, the robot automatically retrieve the information you posted on pypi (see this note). The reason the bot failed to update the package (see these failed PR) is because you added new dependencies and these dependencies are not in conda-forge.

Please correct me if I'm wrong, cause I have no experience in this:(

rsalmei commented 2 years ago

WOW, imagine if you did have experience in this!!!!!! Amazing response @Brainor, thank you! 👏

Yes, it seems you're right! It was very cool to see 4 failed PRs, with all minor versions I've released since 2.0! So there are some bots that update it, nice. I'll read the instructions you posted more thoroughly soon, but it was already very nice to find out about this "alive-progress-feedstock repo"! How did you find out about that? What's a "feedstock repo" anyway? Do all packages in conda have a similar repo? 🤔

Anyway, I think this is going to take a while since I'm very busy with other things atm, but I feel I kinda know what it takes now! Thank you very much 👍

Brainor commented 2 years ago

Glad to help:) alive-progress is very fancy and easy-to-use so I really want to help make it more useful👏

Do all packages in conda have a similar repo?

I guess so, check the conda-forge repo list, they are all *-feedstock-like, each is a package recipe, conda-forge use these recipes to retrive package resources so that we users can install packages using conda.

How did you find out about that?

I found out in the first part of update package section lol.

So there are some bots that update it, nice.

Yes. the bot is also set by opening an issue as you can see, which is documented here; it's very clever.

I think this is going to take a while since I'm very busy with other things atm

Take your time, it's not urgent I think.
I'll also dig around to find out if it's appropriate to let other user other than the package creator to post the recipe to conda-forge and become a maintainer.:)