Announce: passagemath 10.5.42 - modularized pip-installable fork of Sage

7 views
Skip to first unread message

Matthias Koeppe

unread,
Jun 16, 2025, 2:06:26 AMJun 16
to sage-packaging
https://github.com/passagemath/passagemath/releases/tag/passagemath-10.5.42

Connection to the Lean theorem prover / mathlib

Introducing the experimental _lean_init_ protocol, which converts Sage categories, parents, and elements to strings that give corresponding mathlib constructs

PRs are welcome to expand and update the coverage of the protocol; see #1025.

pip install 'passagemath-plot[tachyon,playwright]'

For use in publishing pipelines, 3D graphics from passagemath-plot can be saved to 2D image files such as PNG using the save() method.

The binary wheels of the new distribution package passagemath-tachyon ship the Tachyon raytracing system that Sage uses for this purpose, making an installation from a system package unnecessary.

Playwright is an alternative for the same task. It works by screenshotting 3D graphics (three.js) in an automatically installed headless Chromium browser.

What's Changed
  • passagemath-{combinat,graphs,modules}: Add runtime dependency passagemath-environment by @mkoeppe in #1007
  • pkgs/*/tox.ini: Add tox environment -notest to check that import works without passagemath-{environment,repl} by @mkoeppe in #1008
  • Replace module-level imports from sage.misc.misc by @mkoeppe in #1006
  • src/sage/schemes/generic/algebraic_scheme.py: Fix up replacement of is_iterator by @mkoeppe in #1009
  • Adjust doctests for relocatable latte binaries by @mkoeppe in #1010
  • pkgs/*/tox.ini: Conditionalize sage-runtests on !notest by @mkoeppe in #1011
  • Prefer Linux package manager over linuxbrew; add nix detection by @mkoeppe in #1003
  • pkgs/sagemath-tachyon: New by @mkoeppe in #1014
  • build/pkgs/playwright: New package for screenshotting 3d graphics as png by @mkoeppe in #1015
  • src/sage/doctest/control.py: Do not assume sage.misc.misc created DOT_SAGE by @mkoeppe in #1016
  • build/pkgs/python3/spkg-configure.m4: Disable DEPCHECK by @mkoeppe in #1017
  • .github/workflows/dist.yml (wheels): Install tachyon by @mkoeppe in #1018
  • Define _lean_init_ methods for some elements, parents, axioms, and categories by @mkoeppe in #1019
  • update planarity to 4.0.0.0 by @dimpase, backported (part 2) by @mkoeppe in #1020
  • try to fix GAP build on some arm64 macOS systems by @dimpase, backported by @mkoeppe in #1022
  • Apply gap build fix for gcc-15 by @vbraun, backported by @mkoeppe in #1021
  • .github/workflows/ci-wheels.yml: Set up constraints for none-any wheels correctly by @mkoeppe in #1024

Full Changelogpassagemath-10.5.41...passagemath-10.5.42

For Python users:
- Provides the full functionality of Sage, installable instantly from
binary wheels on PyPI:
https://github.com/passagemath/passagemath?tab=readme-ov-file#full-installation-of-passagemath-from-binary-wheels-on-pypi
- Binary wheels are available for Python 3.9–3.13, Linux and macOS,
ARM and x86_64

For Sage package authors:
- Provides 68 modularized distributions of portions of the Sage
library that can be declared as build-time and run-time dependencies,
making your package a first-class member of the Python "ecosystem":
https://github.com/passagemath/passagemath?tab=readme-ov-file#modularized-distributions

For Sage users/developers:
- The passagemath project maintains a stable version of the Sage
distribution, supporting system Python 3.9–3.13, and provides the
traditional installation mode using "make configure && ./configure &&
make build".
- New packages: CMR, Macaulay2, mpsolve, pplite/pplitepy, Py4ti2.
- Numerous package upgrades, carried out with rigorous platform
portability testing on a wide range of platforms.
- The Sage library is up to date with SageMath 10.6.beta6 (2025-02-10).

For downstream packagers:
- Each of the 68 modularized distribution packages is provided on PyPI
in the form of sdists that adhere to PEP 517/518.
https://pypi.org/org/passagemath/
- Use "export SAGE_CONF_FILE=/dev/null" to disable the passagemath
confectionery (https://pypi.org/project/passagemath-conf/), or specify
a file to side-load configuration values.
- Non-Python dependencies of each distribution package are declared in
pyproject.toml in the format proposed by draft
https://peps.python.org/pep-0725

For upstream projects:
- Consider adopting the modularized passagemath distribution package
that provides an interface to your library as the official Python
interface package.

For inquiries / discussion, please use the passagemath forums.
https://github.com/passagemath#passagemath-community
Reply all
Reply to author
Forward
0 new messages