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

conda-forge support? #1994

Closed
ma-sadeghi opened this issue Apr 21, 2021 · 9 comments
Closed

conda-forge support? #1994

ma-sadeghi opened this issue Apr 21, 2021 · 9 comments

Comments

@ma-sadeghi
Copy link

No description provided.

@orsinium
Copy link
Collaborator

orsinium commented Jun 2, 2021

What's the motivation? Conda supports PyPI out of the box: https://docs.anaconda.com/anacondaorg/user-guide/tasks/work-with-packages/#using-package-managers

@ma-sadeghi
Copy link
Author

@orsinium Thanks for your reply.

The motivation is that for a conda-forge package to work, all its dependencies must be on conda-forge as well.

@orsinium
Copy link
Collaborator

orsinium commented Jun 3, 2021

You can install Python packages into conda environment using pip, and so all dependencies will be installed as well:
image

@ma-sadeghi
Copy link
Author

@orsinium Sorry I was not clear enough. Indeed, on your local machine that works fine.

My point was that if you want to contribute a package to conda-forge (so people can install it using conda install your_package), all the dependencies need to be hosted on conda-forge as well. For instance, our package porespy is hosted on conda-forge. Now, if we want to add wemake-python-styleguide as a dependency, it has to be hosted on conda-forge as well.

Reference: https://conda-forge.org/docs/maintainer/adding_pkgs.html#avoid-external-dependencies

As a general rule: all dependencies have to be packaged by conda-forge as well. This is necessary to assure ABI compatibility for all our packages.

@sobolevn
Copy link
Member

sobolevn commented Jun 3, 2021

@ma-sadeghi this would be really hard to make! Because, wps has lots of dependencies and it would be hard to copy all of them to conda.

@orsinium
Copy link
Collaborator

orsinium commented Jun 5, 2021

Sure, the question is why one would need it in conda if WPS already can be installed in conda environment using pip? There is not much difference to type conda install or pip install

@ma-sadeghi
Copy link
Author

@orsinium Because you can explicitly include C/Fortran dependencies if you ship your package in conda, and not in pip.

@orsinium
Copy link
Collaborator

orsinium commented Jun 6, 2021

Sure, I know why one needs conda 👍🏿 However, WPS doesn't have any C-dependencies, so you can deploy in 2 commands:

conda install ...
pip install wemake-python-styleguide
# or
pip install -r requirements.txt

What do you use for deployment? Ansible, Docker, Taskfile, Makefile? In any case, one more command isn't a big deal. Even if WPS would come into Anaconda Cloud, there are tons of good flake8 extension that aren't on PyPI but deserve giving it a try, and so you still will need pip-based installation for them.

@ma-sadeghi
Copy link
Author

@orsinium Fair enough and agreed :)

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

3 participants