Connection to the Lean theorem prover / mathlibIntroducing 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 Changelog: passagemath-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-distributionsFor 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-0725For 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