-
Notifications
You must be signed in to change notification settings - Fork 17
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
should cvxopt
be included in requirements.txt?
#49
Comments
I agree with omitting optional dependencies as for example One benefit of commenting those dependencies is that an unfamiliar user would see them listed among the other entries. On the other hand, designing a developer's file for an unfamiliar user is an oxymoron. I think that establishing semantic separation is a solid argument. I would like to avoid increasing the number of files in the repository's root, but otherwise I am fine with the alternatives. That Looking at what the widely used Python packages do, I liked the most the approach of
This approach makes it possible to also include a README under the Unlike |
I agree with your proposal to follow the practice of the Note that |
Relevant to #15. |
Now Binder can be used. To generate random polytopes in your web browser, go to https://beta.mybinder.org/v2/gh/tulip-control/polytope.git/master, launch, and try %matplotlib inline
import numpy as np
import polytope as pc
V = np.random.random((5, 2))
print(V)
P = pc.qhull(V)
print(P)
P.plot() |
The suggested example worked on first try. |
The example above can also be run on Colab with GLPK after the following:
I recommend that we provide several examples in Jupyter notebooks that can be run on Binder and Colab. (This is related to tulip-control/tulip-control#206.) temporary demo: https://colab.research.google.com/drive/1rLdDAke83DgzkciJUVGiAJX4BSJeUNsI |
On the current tip of
master
branch,cvxopt
is included in requirements.txt. There is a comment above it to indicate that it is optional, but it has no semantic impact on the file.I propose that it is removed. Thoughts?
My main motivation is to have requirements.txt only enforce required dependencies to improve the reliability of using
pip install -r requirements.txt
. Installingcvxopt
is still somewhat difficult to reliably automatically install from source code.According to the documentation of
pip install
, it is possible to use-r
option multiple times, i.e., to give multiple requirements file. One idea is to create a separate extra_requirements.txt that include optional dependencies likecvxopt
. Then, a full install can be achieved withwhile automated enviroments like Binder will continue to use the standard
pip install -r requirements.txt
.The text was updated successfully, but these errors were encountered: