sage-10.9 on pypi

176 views
Skip to first unread message

William Stein

unread,
Jun 1, 2026, 10:04:24 PM (6 days ago) Jun 1
to sage-devel
sage-10.9 is now live on pypi:  


In 45 seconds you can go from nothing to having sage-10.9 and deps installed and usable in your python environment:
~$ time pip3 install sagelite --user --break-system-packages
Collecting sagelite
  Downloading sagelite-10.9-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.metadata (33 kB)
Collecting conway-polynomials>=0.8 (from sagelite)
  Using cached conway_polynomials-0.10-py3-none-any.whl.metadata (4.1 kB)
Collecting six>=1.15.0 (from sagelite)
  Using cached six-1.17.0-py2.py3-none-any.whl.metadata (1.7 kB)
Collecting cysignals>=1.12.1 (from sagelite)
  Downloading cysignals-1.12.6-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (12 kB)
Collecting cython>=3.1.0 (from sagelite)
  Downloading cython-3.2.5-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (7.1 kB)
Collecting fpylll>=0.5.9 (from sagelite)
  Downloading fpylll-0.6.4-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.metadata (11 kB)
Collecting gmpy2>=2.1.5 (from sagelite)
  Downloading gmpy2-2.3.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (2.5 kB)
Requirement already satisfied: ipykernel>=5.2.1 in /usr/lib/python3/dist-packages (from sagelite) (7.1.0)
Requirement already satisfied: ipython>=8.9.0 in /usr/lib/python3/dist-packages (from sagelite) (9.11.0)
Requirement already satisfied: ipywidgets>=7.5.1 in /usr/lib/python3/dist-packages (from sagelite) (8.1.5)
Requirement already satisfied: jupyter-client in /usr/lib/python3/dist-packages (from sagelite) (8.7.0)
Requirement already satisfied: matplotlib>=3.7.0 in /usr/lib/python3/dist-packages (from sagelite) (3.10.7+dfsg1)
Collecting memory_allocator (from sagelite)
  Downloading memory_allocator-0.2.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (1.8 kB)
Requirement already satisfied: mpmath>=1.1.0 in /usr/lib/python3/dist-packages (from sagelite) (1.3.0)
Collecting networkx>=3.1 (from sagelite)
  Using cached networkx-3.6.1-py3-none-any.whl.metadata (6.8 kB)
Requirement already satisfied: numpy>=1.25 in /usr/lib/python3/dist-packages (from sagelite) (2.3.5)
Requirement already satisfied: pexpect>=4.8.0 in /usr/lib/python3/dist-packages (from sagelite) (4.9.0)
Requirement already satisfied: pillow>=7.2.0 in /usr/lib/python3/dist-packages (from sagelite) (12.1.1)
Requirement already satisfied: platformdirs in /usr/lib/python3/dist-packages (from sagelite) (4.9.4)
Collecting pplpy>=0.8.6 (from sagelite)
  Downloading pplpy-0.9.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.metadata (4.6 kB)
Collecting primecountpy (from sagelite)
  Downloading primecountpy-0.2.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.metadata (22 kB)
Requirement already satisfied: ptyprocess>0.5 in /usr/lib/python3/dist-packages (from sagelite) (0.7.0)
Requirement already satisfied: requests>=2.13.0 in /usr/lib/python3/dist-packages (from sagelite) (2.32.5)
Collecting scipy>=1.11 (from sagelite)
  Downloading scipy-1.17.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.metadata (62 kB)
Collecting sphinx>=6.2 (from sagelite)
  Using cached sphinx-9.1.0-py3-none-any.whl.metadata (5.8 kB)
Requirement already satisfied: sympy<2.0,>=1.6 in /usr/lib/python3/dist-packages (from sagelite) (1.14.0)
Collecting pkgconfig (from sagelite)
  Using cached pkgconfig-1.6.0-py3-none-any.whl.metadata (4.9 kB)
Requirement already satisfied: traitlets in /usr/lib/python3/dist-packages (from sagelite) (5.14.3)
Requirement already satisfied: comm>=0.1.1 in /usr/lib/python3/dist-packages (from ipykernel>=5.2.1->sagelite) (0.2.1)
Requirement already satisfied: debugpy>=1.6.5 in /usr/lib/python3/dist-packages (from ipykernel>=5.2.1->sagelite) (1.8.19)
Requirement already satisfied: jupyter-core!=5.0.*,>=4.12 in /usr/lib/python3/dist-packages (from ipykernel>=5.2.1->sagelite) (5.9.1)
Requirement already satisfied: matplotlib-inline>=0.1 in /usr/lib/python3/dist-packages (from ipykernel>=5.2.1->sagelite) (0.2.1)
Requirement already satisfied: nest-asyncio>=1.4 in /usr/lib/python3/dist-packages (from ipykernel>=5.2.1->sagelite) (1.6.0)
Requirement already satisfied: packaging>=22 in /usr/lib/python3/dist-packages (from ipykernel>=5.2.1->sagelite) (26.0)
Requirement already satisfied: psutil>=5.7 in /usr/lib/python3/dist-packages (from ipykernel>=5.2.1->sagelite) (7.1.0)
Requirement already satisfied: pyzmq>=25 in /usr/lib/python3/dist-packages (from ipykernel>=5.2.1->sagelite) (27.1.0)
Requirement already satisfied: tornado>=6.2 in /usr/lib/python3/dist-packages (from ipykernel>=5.2.1->sagelite) (6.5.4)
Requirement already satisfied: decorator>=5.1.0 in /usr/lib/python3/dist-packages (from ipython>=8.9.0->sagelite) (5.2.1)
Requirement already satisfied: ipython-pygments-lexers>=1.0.0 in /usr/lib/python3/dist-packages (from ipython>=8.9.0->sagelite) (1.1.1)
Requirement already satisfied: jedi>=0.18.2 in /usr/lib/python3/dist-packages (from ipython>=8.9.0->sagelite) (0.19.1)
Requirement already satisfied: prompt_toolkit<3.1.0,>=3.0.41 in /usr/lib/python3/dist-packages (from ipython>=8.9.0->sagelite) (3.0.52)
Requirement already satisfied: pygments>=2.14.0 in /usr/lib/python3/dist-packages (from ipython>=8.9.0->sagelite) (2.19.2)
Requirement already satisfied: stack_data>=0.6.0 in /usr/lib/python3/dist-packages (from ipython>=8.9.0->sagelite) (0.6.3)
Requirement already satisfied: wcwidth in /usr/lib/python3/dist-packages (from prompt_toolkit<3.1.0,>=3.0.41->ipython>=8.9.0->sagelite) (0.2.14)
Requirement already satisfied: widgetsnbextension~=4.0.12 in /usr/lib/python3/dist-packages (from ipywidgets>=7.5.1->sagelite) (4.0.13)
Requirement already satisfied: jupyterlab_widgets~=3.0.12 in /usr/lib/python3/dist-packages (from ipywidgets>=7.5.1->sagelite) (3.0.13)
Requirement already satisfied: parso<0.9.0,>=0.8.3 in /usr/lib/python3/dist-packages (from jedi>=0.18.2->ipython>=8.9.0->sagelite) (0.8.5)
Requirement already satisfied: python-dateutil>=2.8.2 in /usr/lib/python3/dist-packages (from jupyter-client->sagelite) (2.9.0)
Requirement already satisfied: contourpy>=1.0.1 in /usr/lib/python3/dist-packages (from matplotlib>=3.7.0->sagelite) (1.3.3)
Requirement already satisfied: cycler>=0.10 in /usr/lib/python3/dist-packages (from matplotlib>=3.7.0->sagelite) (0.12.1)
Requirement already satisfied: fonttools>=4.22.0 in /usr/lib/python3/dist-packages (from matplotlib>=3.7.0->sagelite) (4.61.1)
Requirement already satisfied: kiwisolver>=1.3.1 in /usr/lib/python3/dist-packages (from matplotlib>=3.7.0->sagelite) (1.4.10rc0)
Requirement already satisfied: pyparsing>=3 in /usr/lib/python3/dist-packages (from matplotlib>=3.7.0->sagelite) (3.3.2)
Requirement already satisfied: chardet>=3.0.2 in /usr/lib/python3/dist-packages (from requests>=2.13.0->sagelite) (5.2.0)
Requirement already satisfied: idna<4,>=2.5 in /usr/lib/python3/dist-packages (from requests>=2.13.0->sagelite) (3.11)
Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/lib/python3/dist-packages (from requests>=2.13.0->sagelite) (2.6.3)
Requirement already satisfied: certifi>=2017.4.17 in /usr/lib/python3/dist-packages (from requests>=2.13.0->sagelite) (2026.1.4)
Collecting sphinxcontrib-applehelp>=1.0.7 (from sphinx>=6.2->sagelite)
  Using cached sphinxcontrib_applehelp-2.0.0-py3-none-any.whl.metadata (2.3 kB)
Collecting sphinxcontrib-devhelp>=1.0.6 (from sphinx>=6.2->sagelite)
  Using cached sphinxcontrib_devhelp-2.0.0-py3-none-any.whl.metadata (2.3 kB)
Collecting sphinxcontrib-htmlhelp>=2.0.6 (from sphinx>=6.2->sagelite)
  Using cached sphinxcontrib_htmlhelp-2.1.0-py3-none-any.whl.metadata (2.3 kB)
Collecting sphinxcontrib-jsmath>=1.0.1 (from sphinx>=6.2->sagelite)
  Using cached sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl.metadata (1.4 kB)
Collecting sphinxcontrib-qthelp>=1.0.6 (from sphinx>=6.2->sagelite)
  Using cached sphinxcontrib_qthelp-2.0.0-py3-none-any.whl.metadata (2.3 kB)
Collecting sphinxcontrib-serializinghtml>=1.1.9 (from sphinx>=6.2->sagelite)
  Using cached sphinxcontrib_serializinghtml-2.0.0-py3-none-any.whl.metadata (2.4 kB)
Requirement already satisfied: Jinja2>=3.1 in /usr/lib/python3/dist-packages (from sphinx>=6.2->sagelite) (3.1.6)
Collecting docutils<0.23,>=0.21 (from sphinx>=6.2->sagelite)
  Using cached docutils-0.22.4-py3-none-any.whl.metadata (15 kB)
Collecting snowballstemmer>=2.2 (from sphinx>=6.2->sagelite)
  Downloading snowballstemmer-3.1.0-py3-none-any.whl.metadata (7.8 kB)
Requirement already satisfied: babel>=2.13 in /usr/lib/python3/dist-packages (from sphinx>=6.2->sagelite) (2.17.0)
Collecting alabaster>=0.7.14 (from sphinx>=6.2->sagelite)
  Using cached alabaster-1.0.0-py3-none-any.whl.metadata (2.8 kB)
Collecting imagesize>=1.3 (from sphinx>=6.2->sagelite)
  Using cached imagesize-2.0.0-py2.py3-none-any.whl.metadata (1.5 kB)
Collecting roman-numerals>=1.0.0 (from sphinx>=6.2->sagelite)
  Using cached roman_numerals-4.1.0-py3-none-any.whl.metadata (3.3 kB)
Requirement already satisfied: MarkupSafe>=2.0 in /usr/lib/python3/dist-packages (from Jinja2>=3.1->sphinx>=6.2->sagelite) (3.0.3)
Requirement already satisfied: executing>=1.2.0 in /usr/lib/python3/dist-packages (from stack_data>=0.6.0->ipython>=8.9.0->sagelite) (2.2.1)
Requirement already satisfied: asttokens>=2.1.0 in /usr/lib/python3/dist-packages (from stack_data>=0.6.0->ipython>=8.9.0->sagelite) (3.0.1)
Requirement already satisfied: pure_eval in /usr/lib/python3/dist-packages (from stack_data>=0.6.0->ipython>=8.9.0->sagelite) (0.2.3)
Downloading sagelite-10.9-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (187.9 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 187.9/187.9 MB 9.5 MB/s eta 0:00:00
Using cached conway_polynomials-0.10-py3-none-any.whl (212 kB)
Downloading cysignals-1.12.6-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (269 kB)
Downloading cython-3.2.5-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (3.4 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.4/3.4 MB 69.8 MB/s eta 0:00:00
Downloading fpylll-0.6.4-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (41.5 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 41.5/41.5 MB 18.0 MB/s eta 0:00:00
Downloading gmpy2-2.3.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.8 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8/1.8 MB 89.9 MB/s eta 0:00:00
Using cached networkx-3.6.1-py3-none-any.whl (2.1 MB)
Downloading pplpy-0.9.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.5 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.5/3.5 MB 4.0 MB/s eta 0:00:00
Downloading scipy-1.17.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (35.2 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 35.2/35.2 MB 111.3 MB/s eta 0:00:00
Using cached six-1.17.0-py2.py3-none-any.whl (11 kB)
Using cached sphinx-9.1.0-py3-none-any.whl (3.9 MB)
Using cached docutils-0.22.4-py3-none-any.whl (633 kB)
Using cached alabaster-1.0.0-py3-none-any.whl (13 kB)
Using cached imagesize-2.0.0-py2.py3-none-any.whl (9.4 kB)
Using cached roman_numerals-4.1.0-py3-none-any.whl (7.7 kB)
Downloading snowballstemmer-3.1.0-py3-none-any.whl (104 kB)
Using cached sphinxcontrib_applehelp-2.0.0-py3-none-any.whl (119 kB)
Using cached sphinxcontrib_devhelp-2.0.0-py3-none-any.whl (82 kB)
Using cached sphinxcontrib_htmlhelp-2.1.0-py3-none-any.whl (98 kB)
Using cached sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl (5.1 kB)
Using cached sphinxcontrib_qthelp-2.0.0-py3-none-any.whl (88 kB)
Using cached sphinxcontrib_serializinghtml-2.0.0-py3-none-any.whl (92 kB)
Downloading memory_allocator-0.2.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (77 kB)
Using cached pkgconfig-1.6.0-py3-none-any.whl (7.1 kB)
Downloading primecountpy-0.2.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (530 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 530.3/530.3 kB 35.8 MB/s eta 0:00:00
Installing collected packages: fpylll, sphinxcontrib-serializinghtml, sphinxcontrib-qthelp, sphinxcontrib-jsmath, sphinxcontrib-htmlhelp, sphinxcontrib-devhelp, sphinxcontrib-applehelp, snowballstemmer, six, scipy, roman-numerals, pkgconfig, networkx, memory_allocator, imagesize, gmpy2, docutils, cython, cysignals, conway-polynomials, alabaster, sphinx, primecountpy, pplpy, sagelite
Successfully installed alabaster-1.0.0 conway-polynomials-0.10 cysignals-1.12.6 cython-3.2.5 docutils-0.22.4 fpylll-0.6.4 gmpy2-2.3.0 imagesize-2.0.0 memory_allocator-0.2.0 networkx-3.6.1 pkgconfig-1.6.0 pplpy-0.9.0 primecountpy-0.2.1 roman-numerals-4.1.0 sagelite-10.9 scipy-1.17.1 six-1.17.0 snowballstemmer-3.1.0 sphinx-9.1.0 sphinxcontrib-applehelp-2.0.0 sphinxcontrib-devhelp-2.0.0 sphinxcontrib-htmlhelp-2.1.0 sphinxcontrib-jsmath-1.0.1 sphinxcontrib-qthelp-2.0.0 sphinxcontrib-serializinghtml-2.0.0

real    0m44.784s
user    0m16.130s
sys     0m4.061s
~$ python3
Python 3.14.3 (main, Mar 28 2026, 06:06:58) [GCC 15.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sage.all
>>> sage.all.factor(2026)
2 * 1013
>>> sage.all.EllipticCurve([1,2,3,4,5])
Elliptic Curve defined by y^2 + x*y + 3*y = x^3 + 2*x^2 + 4*x + 5 over Rational Field
>>>
~$ sage
┌────────────────────────────────────────────────────────────────────┐
│ SageMath version 10.9, Release Date: 2026-05-04                    │
│ Using Python 3.14.3. Type "help()" for help.                       │
└────────────────────────────────────────────────────────────────────┘
sage:                                                                                                                              
~$ which sage
/home/user/.local/bin/sage
~$ sage
┌────────────────────────────────────────────────────────────────────┐
│ SageMath version 10.9, Release Date: 2026-05-04                    │
│ Using Python 3.14.3. Type "help()" for help.                       │
└────────────────────────────────────────────────────────────────────┘
sage:                                                                                                                              
~$ 


--

Best Regards,
William Stein

CEO, SageMath, Inc.
https://cocalc.com

Dima Pasechnik

unread,
Jun 1, 2026, 11:28:29 PM (5 days ago) Jun 1
to sage-...@googlegroups.com
Looks good (I didn't try to run tests though).
Linux-only, although I suppose adding a Homebrew-based build for macOS
is feasible now, with enough Homebrew taps available for building
wheels.
(GAP tap is a bit iffy though).

Dima
> --
> You received this message because you are subscribed to the Google Groups "sage-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+...@googlegroups.com.
> To view this discussion visit https://groups.google.com/d/msgid/sage-devel/CA%2BjwZMjbzKbBMM2fWMPGDN4JS5hLO1QoJdf%3DoHV_CNegLNp65A%40mail.gmail.com.

mmarco

unread,
Jun 2, 2026, 7:44:00 AM (5 days ago) Jun 2
to sage-devel

Is it a full blown sage, or just a minimal subset of it?

Dima Pasechnik

unread,
Jun 2, 2026, 10:37:37 AM (5 days ago) Jun 2
to sage-...@googlegroups.com
it's sagelib, with a few optional packages.
You can have a look at
https://github.com/sagemathinc/sagelite/blob/develop/pyproject.toml to
see the non-python
requirements: https://github.com/sagemathinc/sagelite/blob/1b1e0a919a2431dea0b0a57be3714e4fa4abf121/pyproject.toml#L126
(e.g. you'd see that libbraiding is included, as far as I understand)
> To view this discussion visit https://groups.google.com/d/msgid/sage-devel/f1322ed7-837a-4a31-9f82-58c96c11cd85n%40googlegroups.com.

Nils Bruin

unread,
Jun 2, 2026, 1:47:48 PM (5 days ago) Jun 2
to sage-devel
In the project description it currently says:
"""
sagelite targets the in-process Sage Python, C, C++, and Cython runtime. It does not promise that standalone executables such as GAP, Singular, GP/Pari, or Maxima are bundled with the wheel.
"""
It may be worth clarifying what the status of the library interfaces to gap, singular, pari, ecl, maxima is in the project. Those are linked in-process. They don't rely on an executable, just dynamically linked libraries (and *a lot of* data files), so it would seem from the description that those are supported. Are they? If not, it would be good to be precise about which libraries are not provided. The ones I mention do provide very fundamental functionality for a lot of use cases (group theory, groebner bases, special functions and number theory, calculus...).

William Stein

unread,
Jun 3, 2026, 2:42:13 AM (4 days ago) Jun 3
to sage-devel
I think

- libgap crashes
- libmaxima doesn't work
- pari works
- singular works

I don't see any fundamental reason they won't work eventually.  E.g., libgap fails with "I cannot find 'lib/init.g'", which is just the problem Nils points out as being likely.

~$ python3 Python 3.14.3 (main, Mar 28 2026, 06:06:58) [GCC 15.2.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import sage.all >>> sage.all.libgap(10) gap: hmm, I cannot find 'lib/init.g' maybe use option '-l <gaproot>'? ------------------------------------------------------------------------ /home/user/.local/lib/python3.14/site-packages/cysignals/signals.cpython-314-x86_64-linux-gnu.so(+0x8495) [0x7bed95c75495]

The fix will probably be packaging the relevant files, pointing things at the right place to find them, etc.

Pypi is not super generous with package size quotas though...

William Stein

unread,
Jun 3, 2026, 2:48:07 AM (4 days ago) Jun 3
to sage-devel
Hi,

Also, because of the size of gap, it can't be included in the sagelite pypi package, since the pypi quota is very low and they don't like to raise it.  So likely we'll have a separate optional libgap package which has assets.

-- william

William Stein

unread,
Jun 5, 2026, 11:32:44 AM (2 days ago) Jun 5
to sage-devel
It took a while, but now sagelite-gap-runtime now exists (built automatically via github actions, so not a 1-off):



(sage-uv) ~/sage-uv$ uv pip install --upgrade sagelite sagelite-gap-runtime
Resolved 75 packages in 366ms
Prepared 1 package in 0.38ms
Uninstalled 1 package in 306ms
Installed 1 package in 181ms
 - sagelite==10.9
 + sagelite==10.9.post1
(sage-uv) ~/sage-uv$ python

Python 3.14.3 (main, Mar 28 2026, 06:06:58) [GCC 15.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sage.all
>>> sage.all.libgap.eval('List([1..10], i->i^2)')
[ 1, 4, 9, 16, 25, 36, 49, 64, 81, 100 ]

William Stein

unread,
Jun 5, 2026, 11:35:17 AM (2 days ago) Jun 5
to sage-devel
The gap package is only ~13MB, so not big.

Also regarding the full test suite:

Installed versions: 

sagelite==10.9.post1, sagelite-gap-runtime==10.9, pytest==9.0.3.

Results:

  • Doctest phase: 2584 modules, 304093 doctests, completed in ~33 minutes.

  • Failures: 415 doctest file entries failed/timed out/aborted.

  • Hard failures: 7 killed due to abort, 6 real timeouts, 14 cysignals crash logs.

  • Pytest phase: 60 passed, 2 skipped, 34 errors, all Maxima-dependent manifold/symplectic setup failures.

Main failure buckets:

  • Missing Maxima-in-ECL: 5979 occurrences.

  • Missing Cremona mini DB: 1270 occurrences.

  • Missing sage.libs.braiding: ~495 occurrences.

  • Missing lrcalc: 492 occurrences.

  • Missing eclib/mwrank: 99 occurrences.

  • Missing pbori: 67 occurrences.

  • Missing Singular/Meataxe/GF table assets: Cannot select field GF(...), can not open GF(q) table, aborts.

  • Build-path leaks: /host/sage-manylinux_2_28_x86_64 appears 868 times, including ecl-config and PARI galdata.


Michael Orlitzky

unread,
Jun 5, 2026, 11:55:02 AM (2 days ago) Jun 5
to sage-...@googlegroups.com
On 2026-06-05 08:35:17, William Stein wrote:
> Missing sage.libs.braiding: ~495 occurrences.

This is on my TODO list. The first step is to add a meson option
-Dlibbraiding={enabled,disabled,auto} and BuildFeature for it.


> Missing eclib/mwrank: 99 occurrences.

This too. The meson option for eclib already exists, but there's no
feature for the "needs" tags. Part 1 is,

https://github.com/sagemath/sage/pull/41990

and I'll do one for the mwrank program after that.


> Missing pbori: 67 occurrences.

We have the meson option AND the feature in this case, but are missing
the "needs" tags. Some cython module imports need to be converted to
lazy_imports as well, to keep pytest from crashing.

As more and more of these begin to work, they can be added to the
minimal CI job that I slapped together:

https://github.com/sagemath/sage/pull/42228

William Stein

unread,
2:46 AM (8 hours ago) 2:46 AM
to sage-devel
Thanks Micheal.

I discussed (with Codex) exactly where this is going and also what the relationship between sagelite is and passagemath.  That's now written up here


in case people are interested.  The main goal is basically to create a full sage that is pip-installable, but unlike passagemath, to keep it as consistent with upstream sage as possible, instead of massively reorganizing/refactoring everything.

 -- William
Reply all
Reply to author
Forward
0 new messages