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 packages #33

Open
PMeira opened this issue Jan 11, 2021 · 2 comments
Open

conda-forge packages #33

PMeira opened this issue Jan 11, 2021 · 2 comments

Comments

@PMeira
Copy link
Member

PMeira commented Jan 11, 2021

Moving my comment below into a new ticket now that conda packages are available at https://anaconda.org/dss-extensions/dss_python


It's a good idea to revisit this later, providing a conda-forge recipe. Conda-forge dropped 32-bit packages a while ago, but providing DSS_Python and OpenDSSDirect.py on conda-forge is valuable. The 32-bit packages would still be available on PyPI (they're useful especially for testing).

For me, conda itself has been kind of a letdown the past few years. I imagined the commercial interest doesn't align well with it. The Anaconda.org repositories frequently have issues, reported both for DSS_Python (most people download it from PyPI anyway) and NILMTK (the recommended install method is conda due to the dependencies).

Conda-build, specifically, is really bad on Windows. Even if I can build normal/wheel packages easily on Windows, conda-build craps itself on the minimum unexpected thing that Anaconda didn't expect. There are many unresolved tickets with no useful feedback, some for multiple years.

Some third-party projects like Mamba (replaces the conda installation tool) and Boa (replaces conda-build) might help things.

To alleviate things and save my time, I'll investigate conda-forge tooling and settings since it should reduce the maintenance of conda-packages here. If successful, might be worth to officially submit the packages to the conda-forge repository. Conda-forge also supports ARM64 and (limited) PyPy, which the official conda repos don't.

Docs: https://conda-forge.org/docs/maintainer/adding_pkgs.html

Since we decoupled DSS C-API builds from DSS_Python a while ago, shouldn't be too hard. Before submitting the new packages to conda-forge, it's better to provide some basic tests in DSS_Python too.

About PyPy:


EDIT: there is now (Feb 2024) whl2conda; not sure it that's acceptable for conda-forge, but it's an option if we want to distribute conda packages again

@PMeira PMeira added this to the future milestone Jan 11, 2021
@djmulcahy
Copy link

@PMeira, thanks for all the work on this package and DSS C-API! They have been tremendously helpful to my work.

Based on these comments and README, my understanding is dss_python acquired from the dss-extensions channel using conda or mamba is good and equivalent to installing from the PyPI repo. Is this correct? Or is there a reason that I should favor PyPI repo as the source?

@PMeira
Copy link
Member Author

PMeira commented Sep 4, 2021

thanks for all the work on this package and DSS C-API! They have been tremendously helpful to my work.

@djmulcahy, nice to know!

good and equivalent to installing from the PyPI repo. Is this correct?

Yes, they're equivalent -- sometimes it takes a little longer for the releases to show up in the conda channel, but we usually mention when something usual happens in the Releases page here on GitHub.

This ticket itself is about adding the package and required libraries (e.g. KLUSolve, DSS C-API) to the conda-forge channel/repo so users wouldn't need to add the dss-extensions channel, besides other niceties such as automated builds for all the Python versions and CPU archs supported by conda-forge.

Right now, both for conda and pip packages, we bundle everything in a single package for distribution. By the number of downloads, most people still install via pip -- PyPI Stats estimates 1.5k/month, while anaconda.org lists less than 2k total.

@PMeira PMeira modified the milestones: future, 2.0 Mar 14, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants