-
-
Notifications
You must be signed in to change notification settings - Fork 560
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
Repackage pynac as a pip-installable package #30534
Comments
Changed keywords from none to pynac |
This comment has been minimized.
This comment has been minimized.
comment:1
Cc-ing Ralf Stephan who maintains Pynac. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
comment:4
Collision between
Possible solutions:
Note:
Regardless of how we handle getting "Py-GiNaC" on PyPI, I will propose changes via pull requests or other |
comment:5
Or use pynac-ginac as the PyPI name (more discoverable?). |
comment:7
We briefly discussed it at sd110. From William Stein (CoCalc) to Everyone: (1:37 PM) |
Changed keywords from pynac to pynac, sd110 |
comment:9
There is already some |
comment:10
Replying to @fchapoton:
Thanks for the pointer. This appears to be an active project. "This is a refresh and maintained version of the previous stalled project https://sourceforge.net/projects/pyginac/ It works with the current version of GiNaC." The source (git) is at https://sourceforge.net/p/moebinv/pyginac/code/ci/master/tree/ It provides the Python packages |
comment:11
It calls itself "pyGiNaC" but it does not define a distribution of this name. It must be built using scons and is not pip-installable - so it also does not claim a project name on PyPI. |
Upstream: Reported upstream. No feedback yet. |
Changed keywords from pynac, sd110 to pynac, sd110, sd111 |
comment:14
Setting new milestone based on a cursory review of ticket status, priority, and last modification date. |
comment:15
|
Dependencies: #30446 |
Branch pushed to git repo; I updated commit sha1. New commits:
|
Commit: |
Author: Matthias Koeppe, ... |
comment:19
The new package installs correctly. |
comment:21
I think I'll need some help here from people who know about |
comment:22
With what aspects? Just when to use one versus the other? |
comment:57
Looks like trying to pull in everything to |
comment:58
Replying to @mkoeppe:
But why does
works just fine on develop? I would say that things should work just fine, once everything is set up correctly. However, I don't know how to resolve the problems as I'm currently not even able to |
comment:59
I might have found the problem: In - package_data = {'ginac': ['*.pxd', '*.h', '*.hpp']},
+ package_data = {'ginac': ['*.pxd', '*.h', '*.hpp', '*.cpp']}, This will place the After doing this, I get a new error:
But I think, this might be easier to resolve. |
comment:60
This can't be the right fix. The .cpp files should not be installed. |
comment:61
Where's that |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:63
Same problem. Same undefined symbol. Replying to @sagetrac-git:
|
comment:64
Replying to @mkoeppe:
When you cimport you recompile If we don't want to recompile everything, then we should put the |
comment:65
Replying to @kliem:
I don't know about this mechanism, but it sounds like what I am looking for. Could you elaborate on this or push a change to the branch? |
comment:66
I'll check, if that fixes things. |
comment:67
I don't know, if that will work. I get many errors and by no means do I know how to fix them. E.g.
I don't even know if it is possible to import a This option is definitely not mentioned here: https://cython.readthedocs.io/en/latest/src/userguide/wrapping_CPlusPlus.html The problem with this entire setup is that ginac was never properly compiled and linked as a C++ module. I have the feeling that you are trying to achieve something that cython doesn't want you to do.
This is what the picture looks like to me. |
comment:68
I digged into a bit. Not that I know a solution now, but at least I understand somehow what is going on. The question is really what we want. You can use |
comment:69
And apparently with a cppclass it works even in the header? (Different project, but there it seemed to work.) I'm confused. I will see, if I can find out, what is causing the problem. |
comment:70
Thanks for looking into this! |
Changed author from Matthias Koeppe, ... to none |
comment:72
New approach: #32386 (Merge pynac as src/sage/symbolics/ginac) |
Reviewer: François Bissey |
comment:74
Sure, let's try the other way. |
comment:76
Removing the branch to avoid confusion in the future. |
Changed branch from u/mkoeppe/repackage_pynac_as_a_pip_installable_package to none |
Changed commit from |
Pynac has a compile-time dependency on the Python library
but is not installed using Python package infrastructure.
This is problematic because Python users cannot install it
using standard Python tools - for example for testing
different Python versions.
It would make sense for
src/sage/libs/pynac/pynac.pxd
andpynac_wrap.h
to be shipped with this Python package, introducing a dependency on Cython. (The only thing blocking this isfrom sage.libs.gmp.types cimport mpz_t, mpq_t, mpz_ptr, mpq_ptr
- but that can be fixed by some minimal cut&paste.)(The other parts of
src/sage/libs/pynac
,constant.pxd
,constant.pyx
,pynac.pyx
use various imports from sage and must remain insage.libs.pynac
)Unfortunately, there is an unrelated project that has claimed the name "Pynac" on pypi.org: https://pypi.org/project/Pynac
Depends on #30446
Depends on #31064
Upstream: Reported upstream. No feedback yet.
CC: @rwst @slel @tobiasdiez @williamstein @kiwifb @tscrim @kliem @videlec @embray
Component: packages: standard
Keywords: pynac, sd110, sd111
Reviewer: François Bissey
Issue created by migration from https://trac.sagemath.org/ticket/30534
The text was updated successfully, but these errors were encountered: