Cernay, June 17-21 2019
Where to post your photos of the event:
important for the random new user; recently a new user was struggling to
properly package their code, which had lots of load
, attach
, …
attach
and instead either
One pain point is the startup time of Sage. We should work on that.
every ci setup is some script that pulls some tarball from somewhere
i found it a bit annoying that there was no standard approach
the result of the ci is basically "works" or "fails"
and you want people to try the things
so need another ci to make docker images
idea: use a robust ci
conda-forge idea: write a recipe
If I do this anyway because I want it to be on conda in the end,
there's a tool called "conda-smithy"
that reads the yaml file
and creates scripts that build packages for
windows, linux, osx, …
it's powerful and it creates all these scripts by itself
you can say if you prefer azure or circle-ci
the cool things is it builds conda packages and runs your
actual tests on this conda package
as a side effect you get conda packages for free
you get nightly builds
so you can tell people
configure
and make
conda install mysoftware
it gives people access to your nightly builds
you can get nightly builds for linux, macos, windows
i found it an interesting approach to do ci,
it removes the duplication; especially the two tend to be broken a lot
because you don't test them so much
it is also the only sane way i found to provide binaries for Windows
What caused the big breakage in maintaing SageMath up to date in Conda?
Will it repeat?
The change of default compiler (from gcc 7.4 to gcc 8.2?)
caused a lot of breakage.
Roughly half the ~350 tests that are failing in SageMath are due to
SageMath using Singular 4.1.1 while Conda has 4.1.2.
When SageMath uses latest releases of everything, all goes well.
When SageMath uses old versions of some of its dependencies,
things get hard.
Using custom Docker files for binder is more effort usually to maintain
than writing a good requirements.txt
.
For example, see
https://flatsurf/flatsurf/binder/environment.yml
Luca says: before you pushed SageMath 8.8.rc1 to conda, … 8GB
and now 11 GB.
Sage-GAP interfaces: libgap, semantic-gap, …
Extracted sage-semantic-annotations out of sage-gap-semantic-interface
Experimented with using Sage-Explorer to explore GAP objects through sage-gap-semantic interface
Recursive Monkey Patch: analyzed a bug (Julian, Nicolas)
Awali: packaging is done https://trac.sagemath.org/ticket/28004
Kenzo
fast and reliable computations with real/complex numbers
GAP interface to PARI/GP (in order to compute Galois group of polynomials)
(Vincent D, James)
Finish the position paper started last year
The paper is at overleaf at https://www.overleaf.com/15996604kpskgdsgjhww
Anybody is invited to contribute. The idea is to survey the varius technologies for interfacing high-level with low-level systems for computational mathematics.
Sage-Matplotlib interface: Trac #27865, Trac #27866
Sage-Normaliz interface (PyNormaliz)
Properly resolve the Digraphs package Issue 177 with James and Erik (and finish edge-colored digraph automorphisms Issue 183 Finn, James, Vicente D)
giacpy (Python interface to giac) and SageMath integration
Brainstorm and early experiments for future evolutions
Explored the use of ipyvuetify-widgets for a flexible UI library.
ions
See http://sagebook.gforge.inria.fr/
Vincent K and Nicolas: worked on upgrading to Python 3 the examples, backporting changes from the copy of the examples in the Sage documentation.
surface_dynamics
external SageMath package to Python3coq-jupyter
for Conda