-
Notifications
You must be signed in to change notification settings - Fork 4.5k
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
Upload wheel to PyPI #664
Comments
Is there a particular reason for preferring a wheel? Since you anyway have to have all of the build tools just to run pystan, we haven't seen a huge advantage to having a wheel. And conda-forge has binaries for fbprophet which cover anyone using Anaconda. |
Thank you for this explanation. |
pystan does provide wheels, but you still have to have build tools because Stan models are translated to C++ and compiled on-the-fly. |
So there must be a benefit from wheels ;) since |
Yeah, we'll have to consider this more. |
Is this being considered anytime soon? fbprophet takes quite some time to build, in fact, in one of our application, it almost triples our build times. I am guessing by having a wheel in PyPI, will help improve this by a huge factor. If so, maybe I can try to figure out a way on how to this and make a contribution if that is okay with the maintainers. Any pointers to the same will be appreciated. |
It would be really helpful for windows users, since installing all the required python build tool-chain is tedious and prone to errors. In the meantime here's a link to the conda compiled version https://anaconda.org/conda-forge/fbprophet |
+1 Could this be considered? |
Or at least make it |
For environmental reasons alone, we save a lot of CO2 if we can install a wheel instead of compiling pystan-prophet constantly in our CI/CD pipeline.... :-) |
+1. Wheels would greatly speed up installation locally and in CI/CD. |
One method we can consider is using the GitHub Actions CI to build binaries and also publish them to PyPI.
I'm not sure yet how this works with different Python versions, but we could try it out and publish to https://test.pypi.org/ to verify. Another thing to check is whether this can also handle the cmdstanpy backend as well (and if it doesn't handle cmdstanpy but can handle another backend like numpyro, that might help us decide on a canonical backend). |
@tcuongd if you plan to use GitHub Action there are a lot of examples you can use as a starting point. These are what's generated: https://pypi.org/project/SQLAlchemy/1.4.23/#files |
I've started a branch for this here: #2010
Would love any help on the PR! Feel free to comment / branch off it. |
I would find it useful, since it allows standardizing on using pip instead of having to remember to install something from pip and something fron conda. |
I've made some progress on macOS and Linux and got CI to build wheels for Python 3.6 - 3.8, see https://test.pypi.org/project/prophet/#files If anyone wants to test them out (please do!):
You should see Prophet install successfully without needing to compile any C++ code if you're on a supported platform. Then in your code, you should be able to use both Note that if you're on Python 3.8 and want to use MCMC sampling with I think we'll start working on polishing the release + publish process for macOS and Linux first, before trying to do Windows. I agree with you though @CaselIT that having a Windows PyPI wheel will be really beneficial, and I'm a bit less afraid of it now after realising that |
Got a first cut of the Windows wheels for PyPi, would appreciate some testing 👍 https://test.pypi.org/project/prophet/1.0.1/#files |
Installed all right on python 3.8.8 on windows 10 (I had to use this command to install Thanks for the effort! |
@tcuongd it is better to upload the wheels to PyPI, because there is an open attack vector if test.pypi.org is used for public distribution when its database is purged as mentioned here https://packaging.python.org/en/latest/guides/using-testpypi/ |
Absence of wheels significantly delays CI builds and wastes resources. I came here after noticing that MindsDB docker files install the whole C++ toolset just for So it is better to release wheels early. They can always be put down in case of problems. |
Thanks everyone for your patience and help! With this release: https://github.com/facebook/prophet/releases/tag/v1.1 |
Could you upload wheel format to PyPI?
Helpful resource:
The text was updated successfully, but these errors were encountered: