-
-
Notifications
You must be signed in to change notification settings - Fork 491
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 of p_group_cohomology spkg #18514
Comments
comment:1
For me, all but two tests fail. Both tests fail with "connection timed out" during access to a web data base, and both work fine when done in an interactive session. Has something in the test framework changed, so that web access via |
comment:2
I see you are compiling some extensions with the |
comment:4
The |
comment:5
Replying to @jdemeyer:
OK. What does that mean for the code? Do I need to import anything if I am using |
comment:6
Replying to @simon-king-jena:
You just include The main difference is that you no longer need to add And there is one additional caveat which is relevant for your package: since #18027, you must include |
comment:7
On the topic of
And that's it really. Things like interrupts have nothing to do with the API of your module, those are implementation details and belong in the NOTE about 2: if your module provides bindings to some library but also does significant other stuff, then it's best to split up the bindings in a different |
comment:8
Replying to @jdemeyer:
OK. That's something that I should change. Actually, until not so long ago, I thought that cimports were only possible in pxd files.
Do I understand correctly: You suggest that I should create a new pxd file for the |
comment:9
Replying to @simon-king-jena:
I cannot really speak about this specific case, but it certainly would make sense to split it up. |
Work Issues: Cope with yet another backward incompatible change of Sage |
comment:11
I just found that the package won't build with the latest beta of Sage. Reason:
So, can you please tell me how to use interrupts, after all these backward incompatible changes? It really sucks. |
comment:12
Good news! On my machine, I did some refactoring of code according to the hints you gave me---and that did the trick. My plan is to continue refactoring, taking into account what you said about where to import stuff, and then push a new package version to the official page. |
comment:13
Bad news. It builds, but I can't import it. Which brings up the question again why there are all these incompatible changes in Sage. They didn't use to occur so frequently in earlier versions of Sage, IIRC. |
comment:14
I got it fixed. So, you'll find the updated version of Some of your concerns about importing/including stuff are addressed in the new version: I moved some of it from .pxd files into .pyx files. What I did not do is to split off library bindings and put them into separate .pxd files. That would still make sense, but for now I put the ticket back to "needs review". |
Changed work issues from Cope with yet another backward incompatible change of Sage to none |
comment:15
Oh, and I also created a new module |
comment:16
I have a built failure for
|
comment:17
You might want to wait for #18494, which should make it easier to install external packages using the Sage library. |
comment:18
The real questions are: Why is it looking for ntl? I don't think it is explicitly requested by my package, thus, it probably is an indirect dependency, i.e., one that is in fact a dependency of something in Sage that I cimport into my package. But if it is a dependency of something in Sage, then why does it not work? I suppose that I have to provide an include path to fix it. If the dependency really is via something in the Sage library, then this "have to" is not very nice---Sage could figure it out without human help. |
comment:19
Replying to @simon-king-jena:
Because the Sage <-> NTL interface is a real mess. In particular, any module which needs just a fragment of NTL automatically cimports essentially all of the NTL interface. In particular, |
comment:20
In include_dirs = CSAGE_PATH + [
os.path.join(SAGE_SRC,"c_lib","include"),
SAGE_EXTCODE, SRC_EXT,
os.path.join("mtx2.2.4","src"),
os.path.join("pGroupCohomology","c_sources"),
"pGroupCohomology"] by try:
# Sage >= 6.8
from sage.env import sage_include_directories
except ImportError:
# Sage < 6.8
def sage_include_directories():
return [
os.path.join(SAGE_LOCAL, "include", "csage"),
os.path.join(SAGE_SRC, "c_lib", "include"),
SAGE_EXTCODE, SRC_EXT] # Not sure that you really need SAGE_EXTCODE
...
include_dirs = sage_include_directories() + [
os.path.join("mtx2.2.4","src"),
os.path.join("pGroupCohomology","c_sources"),
"pGroupCohomology"] and use #18494. |
comment:554
There is an undeclared dependency on |
comment:556
Replying to @jdemeyer:
Is it not part of Also, I added I guess it is back to "needs review", right? |
comment:557
OK, let me test this new version on a few machines. If everything goes well, I agree that positive review can be given. |
comment:558
So on my machine, I get
So while these tests are longer than 1 second on my machine, I think they are not sufficiently long to warrant a |
comment:559
Replying to @tscrim:
Would one get these warnings automatically? Or does one need to provide a special option? The complete log for my test run is this:
It is of course conceivable that some of the 16 tests actually take longer than one second (given that on average they take 0.58 seconds). But has the policy changed? I seem to remember that when I was young, tests were supposed to be "not longer than a few seconds". But just one second seems short to me. |
comment:560
Replying to @simon-king-jena:
Sorry, I didn't notice that you used On my machine, I get warnings for four tests:
I'll try to come up with shorter tests. |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:562
I have simplified the tests and still think that they cover a wide range of functionality. This time I didn't get a warning (and I tested 10 times):
|
comment:563
Replying to @tscrim:
Why not? The official policy is that normal tests should take less than 1 second, |
comment:564
Replying to @jdemeyer:
2/3 were less than 1.5 seconds, and my machine is not particularly fast. I am happier to have the shorter tests. Yet, I think this is something that will be tested only by the bots (if they even have this optional package installed) and is meant to catch interface breakage, I did not see as much harm in having longer regular tests. |
Changed branch from u/SimonKing/upgrade_of_group_cohomology_spkg to u/jdemeyer/upgrade_of_group_cohomology_spkg |
Reviewer: Travis Scrimshaw, Jeroen Demeyer |
comment:566
Replying to @tscrim:
On the other hand, those bots typically run tests with I just added a few trivial changes to wrap some long lines, so I guess this is finally good to go... New commits:
|
comment:567
Replying to @jdemeyer:
Just for the record: The tests in the final version are all less than a second. In any case: Thank you for the positive review! |
Changed branch from u/jdemeyer/upgrade_of_group_cohomology_spkg to |
Changed commit from |
In the past, p_group_cohomology-2.1.4 was an optional spkg. Sage dropped support for old style spkgs, and thus only an experimental spkg remained.
The purpose of this ticket is to provide a new group cohomology package for Sage. I suggest to make it optional (not experimental).
In the experimental version 2.1.5, I have improved the computation of Poincaré series, depth and filter degree type (the latter now uses a Hilbert-driven computation of Gröbner bases in elimination order, which works since in that setting the Hilbert function is easily available), and I added new functionality related with nilpotency.
Package structure
Version 3.0 is refactored as follows:
SAGE_SHARE/
, where GAP and Singular libraries belong.Further changes
sage -t
is enough.Many tests have changed, since the ring presentations of the computed cohomology rings, specifically for non-primepower groups, have changed. I do not fully understand why they changed. but it seems that it is a consequence of changes in Singular. The changes did (of course...) not affect the isomorphism types of the rings.
Upstream tar ball
https://users.fmi.uni-jena.de/cohomology/p_group_cohomology-3.0.tar.xz
Upstream: None of the above - read trac for reasoning.
CC: @jhpalmieri @vbraun @jdemeyer @haraldschilly @frederichan-IMJPRG [email protected]
Component: packages: optional
Keywords: group cohomology
Author: Simon King
Branch:
6576915
Reviewer: Travis Scrimshaw, Jeroen Demeyer
Issue created by migration from https://trac.sagemath.org/ticket/18514
The text was updated successfully, but these errors were encountered: