-
Notifications
You must be signed in to change notification settings - Fork 1
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
Upgrade to cypari2 #1
Conversation
I would like to package this for conda-forge. However, cypari is not on conda-forge but cypari2 is which is probably better anyway… |
cypari vendors pari it seems. So some changes are needed to make the CI happy again. If you are in general fine with this, I can try to fix the CI. |
cypari2 is not an upgrade of cypari but a fork. The main reason why cypari still exists is because
|
Thanks for the clarification. So, what about making realalg work with cypari & cypari2, whichever is available? |
I think this would be reasonable (especially if people are using SageMath which is bundled with cypari2). However it will be delicate to make the |
whichever is available. Giving the precedence to cypari2 since it likely links against a newer PARI.
I don't think this can be done. The sane approach seems to not have an explicit dependency in |
Much less user friendly than an explicit dependency... |
I don't disagree but unfortunately setup.py has no hooks to do something like this. The other option is to split this into two pypi packages with different dependencies but I don't think that this is very helpful either. |
we can not provide cypari2 and its dependencies with tox easily as they are not on pip.
@MarkCBell Because of #3 it would be nice to allow both cypari or cypari2. (BTW, I expect https://github.com/flatsurf/pyeantic (mostly written in C) to be much faster...) |
In azure and appveyor Python 3.5, 3.6 and 3.7 we got
|
@MarkCBell @videlec tests pass now. |
See also the related MarkCBell/flipper#3 |
import sympy as sp | ||
try: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Independently of the installation procedure, this try/except
in the code is an improvement!
Sorry for the delay but I think I finally have a solution for this. I've now written a number of interfaces to backends that use cypari, cypari2 and sympy. This means that the only required dependency is now sympy. So if used on its own then realalg will fall back on its sympy implementation which is good enough to allow users to run basic examples (slowly). However if it can import cypari or cypari2 then it will use these, allowing larger more complex examples to be done. The latest version of realalg (0.2.2) has this functionality. Let me know what you think. |
Very good! Thanks. You can definitely close this merge request. |
No description provided.