Skip to content

Commit 8e03691

Browse files
committed
Merge branch 'develop' into pr/35210/refactor-subs-multivariate
2 parents d49f43b + 82e02a1 commit 8e03691

File tree

830 files changed

+17764
-93868
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

830 files changed

+17764
-93868
lines changed

.codecov.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# https://docs.codecov.com/docs/pull-request-comments#disable-comment
2+
comment: false
3+
# https://docs.codecov.com/docs/commit-status
4+
coverage:
5+
status:
6+
project:
7+
default:
8+
target: auto
9+
threshold: 0%
10+
base: auto
11+
patch:
12+
default:
13+
target: auto
14+
threshold: 0%
15+
base: auto

.devcontainer/portability-Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@ ARG SYSTEM_FACTOR="ubuntu-jammy"
55
ARG PACKAGE_FACTOR="standard"
66
ARG DOCKER_TARGET="with-system-packages"
77
ARG DOCKER_TAG="dev"
8-
FROM ghcr.io/sagemath/sage/sage-docker-${SYSTEM_FACTOR}-${PACKAGE_FACTOR}-${DOCKER_TARGET}:${DOCKER_TAG}
8+
FROM ghcr.io/sagemath/sage/sage-${SYSTEM_FACTOR}-${PACKAGE_FACTOR}-${DOCKER_TARGET}:${DOCKER_TAG}

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,29 @@
1-
<!-- ^^^^^
2-
Please provide a concise, informative and self-explanatory title.
3-
Don't put issue numbers in there, do this in the PR body below.
4-
For example, instead of "Fixes #1234" use "Introduce new method to calculate 1+1"
5-
-->
6-
### 📚 Description
1+
<!-- Please provide a concise, informative and self-explanatory title. -->
2+
<!-- Don't put issue numbers in the title. Put it in the Description below. -->
3+
<!-- For example, instead of "Fixes #12345", use "Add a new method to multiply two integers" -->
4+
5+
### :books: Description
76

8-
<!-- Describe your changes here in detail -->
7+
<!-- Describe your changes here in detail. -->
98
<!-- Why is this change required? What problem does it solve? -->
10-
<!-- If it resolves an open issue, please link to the issue here. For example "Closes #1337" -->
9+
<!-- If this PR resolves an open issue, please link to it here. For example "Fixes #12345". -->
10+
<!-- If your change requires a documentation PR, please link it appropriately. -->
1111

12-
### 📝 Checklist
12+
### :memo: Checklist
1313

14-
<!-- Put an `x` in all the boxes that apply. -->
15-
<!-- If your change requires a documentation PR, please link it appropriately -->
16-
<!-- If you're unsure about any of these, don't hesitate to ask. We're here to help! -->
14+
<!-- Put an `x` in all the boxes that apply. It should be `[x]` not `[x ]`. -->
1715

18-
- [ ] I have made sure that the title is self-explanatory and the description concisely explains the PR.
19-
- [ ] I have linked an issue or discussion.
16+
- [ ] The title is concise, informative, and self-explanatory.
17+
- [ ] The description explains in detail what this PR is about.
18+
- [ ] I have linked a relevant issue or discussion.
2019
- [ ] I have created tests covering the changes.
2120
- [ ] I have updated the documentation accordingly.
2221

23-
### Dependencies
24-
<!-- List all open pull requests that this PR logically depends on -->
25-
<!--
26-
- #xyz: short description why this is a dependency
27-
- #abc: ...
22+
### :hourglass: Dependencies
23+
24+
<!-- List all open PRs that this PR logically depends on
25+
- #12345: short description why this is a dependency
26+
- #34567: ...
2827
-->
2928

29+
<!-- If you're unsure about any of these, don't hesitate to ask. We're here to help! -->

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,6 @@ jobs:
103103
104104
- name: Upload coverage to codecov
105105
if: always() && steps.build.outcome == 'success'
106-
uses: codecov/codecov-action@v2
106+
uses: codecov/codecov-action@v3
107107
with:
108108
files: ./coverage.xml

.github/workflows/ci-conda.yml

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323
fail-fast: false
2424
matrix:
2525
os: [ubuntu-latest, macos-latest]
26-
python: [3.8, 3.9]
26+
python: ['3.9', '3.10', '3.11']
2727
conda-env: [environment, environment-optional]
2828

2929
steps:
@@ -41,11 +41,18 @@ jobs:
4141
bash ~/miniconda.sh -b -p $HOME/miniconda
4242
echo "CONDA=$HOME/miniconda" >> $GITHUB_ENV
4343
44+
# Workaround for https://github.com/actions/runner-images/issues/6910 / https://github.com/conda/conda/issues/12303
45+
- name: Downgrade conda
46+
if: matrix.os == 'ubuntu-latest'
47+
run: |
48+
conda config --set allow_conda_downgrades true
49+
conda install conda=4.12.0 -y
50+
4451
- name: Create conda environment files
4552
run: ./bootstrap-conda
4653

4754
- name: Cache conda packages
48-
uses: actions/cache@v2
55+
uses: actions/cache@v3
4956
with:
5057
path: ~/conda_pkgs_dir
5158
key:

.github/workflows/doc-build-pdf.yml

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
name: Build documentation (PDF)
2+
3+
on:
4+
pull_request:
5+
push:
6+
workflow_dispatch:
7+
# Allow to run manually
8+
9+
concurrency:
10+
# Cancel previous runs of this workflow for the same branch
11+
group: ${{ github.workflow }}-${{ github.ref }}
12+
cancel-in-progress: true
13+
14+
jobs:
15+
build-docs:
16+
runs-on: ubuntu-latest
17+
# Use "maximal" so that texlive is installed
18+
# Use "fedora-31" for build diversity
19+
container: ghcr.io/sagemath/sage/sage-docker-fedora-31-maximal-with-targets:dev
20+
steps:
21+
- name: Checkout
22+
uses: actions/checkout@v3
23+
24+
- name: Prepare
25+
run: |
26+
apt-get update && apt-get install -y zip
27+
# Reuse built SAGE_LOCAL contained in the Docker image
28+
./bootstrap
29+
./configure --enable-build-as-root --prefix=/sage/local --with-sage-venv --enable-download-from-upstream-url
30+
31+
- name: Build
32+
run: make build V=0 && make doc-pdf
33+
env:
34+
MAKE: make -j2
35+
SAGE_NUM_THREADS: 2
36+
TEXMFHOME: /sage/texmf
37+
38+
- name: Copy docs
39+
run: |
40+
# For some reason the deploy step below cannot find /sage/...
41+
# So copy everything from there to local folder
42+
mkdir -p ./docs
43+
cp -r -L /sage/local/share/doc/sage/pdf/en/* ./docs
44+
# Zip everything for increased performance
45+
zip -r docs-pdf.zip docs
46+
47+
- name: Upload docs
48+
uses: actions/upload-artifact@v3
49+
with:
50+
name: docs-pdf
51+
path: docs-pdf.zip

.github/workflows/doc-publish.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ jobs:
2828
# Once https://github.com/actions/download-artifact/issues/172 and/or https://github.com/actions/download-artifact/issues/60 is implemented, we can use the official download-artifact action
2929
# For now use the solution from https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#using-data-from-the-triggering-workflow
3030
- name: Download docs
31-
uses: actions/github-script@v3.1.0
31+
uses: actions/github-script@v6.4.0
3232
with:
3333
script: |
3434
var artifacts = await github.actions.listWorkflowRunArtifacts({

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
/config.status
2020
/configure
2121
/conftest*
22+
/confdefs.h
2223

2324
/m4/sage_spkg_configures.m4
2425

.zenodo.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
{
22
"description": "Mirror of the Sage https://sagemath.org/ source tree",
33
"license": "other-open",
4-
"title": "sagemath/sage: 10.0.beta2",
5-
"version": "10.0.beta2",
4+
"title": "sagemath/sage: 10.0.beta6",
5+
"version": "10.0.beta6",
66
"upload_type": "software",
7-
"publication_date": "2023-02-23",
7+
"publication_date": "2023-03-26",
88
"creators": [
99
{
1010
"affiliation": "SageMath.org",
@@ -15,7 +15,7 @@
1515
"related_identifiers": [
1616
{
1717
"scheme": "url",
18-
"identifier": "https://github.com/sagemath/sage/tree/10.0.beta2",
18+
"identifier": "https://github.com/sagemath/sage/tree/10.0.beta6",
1919
"relation": "isSupplementTo"
2020
},
2121
{

Makefile

Lines changed: 0 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -80,42 +80,6 @@ download:
8080
dist: build/make/Makefile
8181
./sage --sdist
8282

83-
pypi-sdists: sage_setup
84-
./sage --sh build/pkgs/sage_conf/spkg-src
85-
./sage --sh build/pkgs/sage_sws2rst/spkg-src
86-
./sage --sh build/pkgs/sage_docbuild/spkg-src
87-
./sage --sh build/pkgs/sage_setup/spkg-src
88-
./sage --sh build/pkgs/sagelib/spkg-src
89-
./sage --sh build/pkgs/sagemath_objects/spkg-src
90-
./sage --sh build/pkgs/sagemath_categories/spkg-src
91-
./sage --sh build/pkgs/sagemath_environment/spkg-src
92-
./sage --sh build/pkgs/sagemath_repl/spkg-src
93-
@echo "Built sdists are in upstream/"
94-
95-
# Ensuring wheels are present, even for packages that may have been installed
96-
# as editable. Until we have better uninstallation of script packages, we
97-
# just remove the timestamps, which will lead to rebuilds of the packages.
98-
PYPI_WHEEL_PACKAGES = sage_sws2rst sage_setup sagemath_environment sagemath_objects sagemath_repl sagemath_categories
99-
pypi-wheels:
100-
for a in $(PYPI_WHEEL_PACKAGES); do \
101-
rm -f venv/var/lib/sage/installed/$$a-*; \
102-
done
103-
for a in $(PYPI_WHEEL_PACKAGES); do \
104-
$(MAKE) SAGE_EDITABLE=no SAGE_WHEELS=yes $$a; \
105-
done
106-
@echo "Built wheels are in venv/var/lib/sage/wheels/"
107-
108-
# sage_docbuild is here, not in PYPI_WHEEL_PACKAGES, because it depends on sagelib
109-
WHEEL_PACKAGES = $(PYPI_WHEEL_PACKAGES) sage_conf sagelib sage_docbuild
110-
wheels:
111-
for a in $(WHEEL_PACKAGES); do \
112-
rm -f venv/var/lib/sage/installed/$$a-*; \
113-
done
114-
for a in $(WHEEL_PACKAGES); do \
115-
$(MAKE) SAGE_EDITABLE=no SAGE_WHEELS=yes $$a; \
116-
done
117-
@echo "Built wheels are in venv/var/lib/sage/wheels/"
118-
11983
###############################################################################
12084
# Cleaning up
12185
###############################################################################
@@ -380,7 +344,6 @@ list:
380344
@$(MAKE) --silent -f build/make/Makefile SAGE_PKGCONFIG=dummy $@
381345

382346
.PHONY: default build dist install micro_release \
383-
pypi-sdists pypi-wheels wheels \
384347
misc-clean bdist-clean distclean bootstrap-clean maintainer-clean \
385348
test check testoptional testall testlong testoptionallong testallong \
386349
ptest ptestoptional ptestall ptestlong ptestoptionallong ptestallong \

README.md

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
1-
<a href="https://sagemath.org"><img src="src/doc/common/themes/sage/static/logo_sagemath_black.svg" height="60" align="right" /></a>
1+
<a href="https://sagemath.org">
2+
<picture>
3+
<source media="(prefers-color-scheme: dark)" srcset="src/doc/common/static/logo_sagemath_white.svg">
4+
<img src="src/doc/common/static/logo_sagemath_black.svg" height="60" align="left">
5+
</picture>
6+
</a>
27

38
# Sage: Open Source Mathematical Software
49

@@ -394,6 +399,20 @@ in the Installation Guide.
394399
or JupyterLab installation, as described in [section
395400
"Launching SageMath"](https://doc.sagemath.org/html/en/installation/launching.html)
396401
in the installation manual.
402+
403+
Alternative Installation using PyPI
404+
---------------
405+
406+
For installation of `sage` in python using `pip` you need to install `sagemath-standard`. First, activate your python virtual environment and follow these steps:
407+
408+
$ python3 -m pip install sage_conf
409+
$ ls $(sage-config SAGE_SPKG_WHEELS)
410+
$ python3 -m pip install $(sage-config SAGE_SPKG_WHEELS)/*.whl
411+
$ python3 -m pip install sagemath-standard
412+
413+
You need to install `sage_conf`, a wheelhouse of various python packages. You can list the wheels using `ls $(sage-config SAGE_SPKG_WHEELS)`. After manual installation of these wheels, you can install the sage library, `sagemath-standard`.
414+
415+
**NOTE:** You can find `sage` and `sagemath` pip packages but with these packages, you will encounter `ModuleNotFoundError`.
397416

398417
Troubleshooting
399418
---------------

VERSION.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
SageMath version 10.0.beta2, Release Date: 2023-02-23
1+
SageMath version 10.0.beta6, Release Date: 2023-03-26

build/make/Makefile.in

Lines changed: 44 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,23 @@ PIP_PACKAGES = @SAGE_PIP_PACKAGES@
128128
# Packages that use the 'script' package build rules
129129
SCRIPT_PACKAGES = @SAGE_SCRIPT_PACKAGES@
130130

131-
131+
# Packages for which we build wheels for PyPI
132+
PYPI_WHEEL_PACKAGES = \
133+
sage_sws2rst \
134+
sage_setup \
135+
sagemath_environment \
136+
sagemath_objects \
137+
sagemath_repl \
138+
sagemath_categories
139+
140+
# sage_docbuild is here, not in PYPI_WHEEL_PACKAGES, because it depends on sagelib
141+
WHEEL_PACKAGES = $(PYPI_WHEEL_PACKAGES) \
142+
sage_conf \
143+
sagelib \
144+
sage_docbuild
145+
146+
# Packages for which build sdists for PyPI
147+
PYPI_SDIST_PACKAGES = $(WHEEL_PACKAGES)
132148

133149
# Generate the actual inst_<pkgname> variables; for each package that is
134150
# actually built this generates a line like:
@@ -198,6 +214,7 @@ SAGE_I_TARGETS = sagelib doc
198214
# Tell make not to look for files with these names:
199215
.PHONY: all all-sage all-toolchain all-build all-sageruntime \
200216
all-start build-start base toolchain toolchain-deps base-toolchain \
217+
pypi-sdists pypi-wheels wheels \
201218
sagelib \
202219
doc doc-html doc-html-jsmath doc-html-mathjax doc-pdf \
203220
doc-uninstall \
@@ -418,6 +435,25 @@ list-broken-packages: auditwheel_or_delocate
418435
echo >&2 "$$fix_broken_packages"; \
419436
fi
420437

438+
pypi-sdists: $(PYPI_SDIST_PACKAGES:%=%-sdist)
439+
@echo "Built sdists are in upstream/"
440+
441+
# Ensuring wheels are present, even for packages that may have been installed
442+
# as editable. Until we have better uninstallation of script packages, we
443+
# just remove the timestamps, which will lead to rebuilds of the packages.
444+
pypi-wheels:
445+
for a in $(PYPI_WHEEL_PACKAGES); do \
446+
rm -f $(SAGE_VENV)/var/lib/sage/installed/$$a-*; \
447+
done
448+
$(MAKE_REC) SAGE_EDITABLE=no SAGE_WHEELS=yes $(PYPI_WHEEL_PACKAGES)
449+
@echo "Built wheels are in venv/var/lib/sage/wheels/"
450+
451+
wheels:
452+
for a in $(WHEEL_PACKAGES); do \
453+
rm -f $(SAGE_VENV)/var/lib/sage/installed/$$a-*; \
454+
done
455+
$(MAKE_REC) SAGE_EDITABLE=no SAGE_WHEELS=yes $(WHEEL_PACKAGES)
456+
@echo "Built wheels are in venv/var/lib/sage/wheels/"
421457

422458
#==============================================================================
423459
# Setting SAGE_CHECK... variables
@@ -711,6 +747,13 @@ $(1)-uninstall: $(1)-$(4)-uninstall
711747

712748
$(1)-clean: $(1)-uninstall
713749

750+
$(1)-sdist: FORCE python_build sage_setup cython
751+
$(AM_V_at) cd '$$(SAGE_ROOT)' && \
752+
. '$$(SAGE_ROOT)/src/bin/sage-src-env-config' && \
753+
. '$$(SAGE_ROOT)/src/bin/sage-env-config' && \
754+
. '$$(SAGE_ROOT)/src/bin/sage-env' && \
755+
'$$(SAGE_ROOT)/build/pkgs/$(1)/spkg-src'
756+
714757
# Recursive tox invocation (note - we do not set the environment here).
715758
# Setting SAGE_SPKG_WHEELS is for the benefit of sagelib's tox.ini
716759
$(1)-tox-%: FORCE

build/pkgs/_prereq/distros/fedora.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ gcc-c++
3030
# The need for which comes [...] from MPIR's configure script
3131
findutils
3232
which
33-
# Needed for pcre configure, see https://github.com/sagemath/sage/issues/29129:
3433
diffutils
3534
# Needed for openssl 3.0
3635
perl-IPC-Cmd

build/pkgs/configure/checksums.ini

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
tarball=configure-VERSION.tar.gz
2-
sha1=a9dd38e83511f7f7911c94366c1c7b9e213cea3e
3-
md5=e341828a3c4d17b37887cd93c298286f
4-
cksum=2811082803
2+
sha1=c9dfa61ff70a2dceec85ad01fc37ee42232402c0
3+
md5=7479fb53c1b9fd56aea37f83a34cdac3
4+
cksum=3525422540
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
bbd91d34c346cbb308e6bfac72ac414b365f190c
1+
4452928a1a41758883e2f0e3a445b015dfa0e593

build/pkgs/cvxpy/SPKG.rst

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
cvxpy: A domain-specific language for modeling convex optimization problems in Python.
2+
======================================================================================
3+
4+
Description
5+
-----------
6+
7+
A domain-specific language for modeling convex optimization problems in Python.
8+
9+
License
10+
-------
11+
12+
Apache License, Version 2.0
13+
14+
Upstream Contact
15+
----------------
16+
17+
https://pypi.org/project/cvxpy/
18+

0 commit comments

Comments
 (0)