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

Add a conda install option for pytorch-tabnet #346

Closed
sugatoray opened this issue Dec 18, 2021 · 16 comments · Fixed by #347
Closed

Add a conda install option for pytorch-tabnet #346

sugatoray opened this issue Dec 18, 2021 · 16 comments · Fixed by #347
Assignees
Labels
enhancement New feature or request

Comments

@sugatoray
Copy link
Contributor

sugatoray commented Dec 18, 2021

Feature request

A conda installation option could be quite helpful as an alternative alongside the ability to install pytorch-tabnet with pip. I have already done the work necessary to make pytorch-tabnet available on conda-forge. (PR: conda-forge/staged-recipes#17292)

Now you can install pytorch-tabnet as:

conda install -c conda-forge pytorch-tabnet

Note: the PR was just merged. Give it some 2-3 hours and it will be ready for use.

💡 I will send a PR to update the docs/readme.

@sugatoray sugatoray added the enhancement New feature or request label Dec 18, 2021
@sugatoray
Copy link
Contributor Author

cc: @Optimox @Hartorn

A screenshot says it all! 🎆

image

@sugatoray
Copy link
Contributor Author

Note: the PR was just merged. Give it some 2-3 hours and it will be ready for use.

@Hartorn
Copy link
Contributor

Hartorn commented Dec 18, 2021

Nice work :)

@Hartorn
Copy link
Contributor

Hartorn commented Dec 18, 2021

Is there anything for us to do, to maintain this ?

@sugatoray
Copy link
Contributor Author

@Hartorn It will be nice if you could nominate someone (you or someone of your choice who could be a comaintainer with me of the conda-forge feedstock that maintains the package on conda-forge channel. So, who do you propose?

@Hartorn
Copy link
Contributor

Hartorn commented Dec 18, 2021

@sugatoray You can add @Optimox @Hartorn @eduardocarvp also, but, not sure I will have time to do this honestly

I guess @Optimox is the more active here.

@sugatoray
Copy link
Contributor Author

Is there anything for us to do, to maintain this ?

@Hartorn Yes, there is a PR (#347) that I raised. If you could take a look at it and merge it, that will be great.

For long term maintainability, I will add @Optimox @Hartorn @eduardocarvp to the feedstock and walk you through the easy simple steps you need to do after each PyPI release you make. This will enable you to keep both PyPI and conda-forge versions in sync. As a co-maintainer, obviously, if you have questions, I will be there. Sounds good?

@sugatoray
Copy link
Contributor Author

Any idea, when your next release could be scheduled?

@Hartorn
Copy link
Contributor

Hartorn commented Dec 18, 2021

For long term maintainability, I will add @Optimox @Hartorn @eduardocarvp to the feedstock and walk you through the easy simple steps you need to do after each PyPI release you make. This will enable you to keep both PyPI and conda-forge versions in sync. As a co-maintainer, obviously, if you have questions, I will be there. Sounds good?

I think we need to update the release script then, to include those steps in it

Any idea, when your next release could be scheduled?

@Optimox Any idea ?

@sugatoray
Copy link
Contributor Author

@Hartorn Here is the ⭐LinkedIn share on making pytorch-tabnet available on conda-forge.

image

@eduardocarvp
Copy link
Collaborator

Nice work :)

#347 looks good to me as well, just got to reword your commit in order to comply to conventional commits.

We just have to merge #348 and then we will probably make a release as soon as it's done. I see no problem on merging #347 as well before the next release. So to give a proper answer, probably next week for the next release.

I would be super down to look into the steps after the PyPI release to keep both projects in sync, do you have access to the project Slack, @sugatoray ? We can talk over there and would be great if we could include all we need on our release scripts.

sugatoray added a commit to sugatoray/tabnet that referenced this issue Dec 19, 2021
updated readme with conda-install-instruction
- added conda install instruction
- added relevant badges

Closes issue dreamquark-ai#346
@sugatoray
Copy link
Contributor Author

sugatoray commented Dec 19, 2021

do you have access to the project Slack?

Yes. Just joined. Didn't realize that you had reworded the commit message. I also reworded that.

@Optimox
Copy link
Collaborator

Optimox commented Dec 20, 2021

Thanks @sugatoray,

Very nice contribution as a lot of people use conda!

As @Hartorn suggested, I think we should somehow automate the push to conda so that we do not have to think twice when making a new release.

About the date of the next release, it should be fairly soon, we could aim to release before the end of the year.

@sugatoray
Copy link
Contributor Author

Thanks @sugatoray,

Very nice contribution as a lot of people use conda!

As @Hartorn suggested, I think we should somehow automate the push to conda so that we do not have to think twice when making a new release.

About the date of the next release, it should be fairly soon, we could aim to release before the end of the year.

Well, conda-forge already has some automation in place.

It's not a best practice in conda-forge to completely automate this. It's in fact, much simpler a step, and should be thoroughly checked before pushing to conda-forge. You don't automatically merge without reviewing here, right?

What I would suggest you is to send a PR to conda-forge/pytorch-tabnet-feedstock with an updated recipe the next time you have a PyPI release and then let me review it as the maintainer before I merge it. Initially, let's do this a few times, so you could get comfortable with the process.

If you must automate, you can automate on your end here. But the PR review at conda-forge must remain a manual step.

All you have to do is update the file: recipe/meta.yaml

Change:

  • version (same as PyPI release)
  • sha256 (same as PyPI release)
  • update dependencies version-specifications (same as PyPI release), if necessary.

So, if you would like to write a script that would create the meta.yaml file, that's fine. But that should remain here in this repository, to help you raise a PR to the feedstock repo.

A few key things to remember, if you want some automation on your end (in this repo):

  • the conda-forge packages may not always have the same names as their PyPI counterparts. So, need to maintain a mapping here to automate.

  • the automation should use the current recipe as the base template.

  • you can use a simple jinja2 based automation on your end to push to the feedstock as a PR.

However, I would suggest you to update manually, as the work involved is really simple and quick.

@Optimox
Copy link
Collaborator

Optimox commented Dec 20, 2021

@sugatoray yes I guess we would like to automate as much as possible.

With poetry we are actually just automatically pushing the changes to pypi when we make a release, which is much simpler. But I guess it should not be a problem to remember to push on conda as long as it's not too difficult.

@sugatoray
Copy link
Contributor Author

@Optimox I understand the reason behind why you want to automate as much as possible: reduce technical debt. I am personally a heavy supporter of automation. Let me know if you need any help with that.

Optimox pushed a commit that referenced this issue Dec 27, 2021
updated readme with conda-install-instruction
- added conda install instruction
- added relevant badges

Closes issue #346
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants