symengine 0.14.0__tar.gz → 0.15.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {symengine-0.14.0 → symengine-0.15.0}/.github/workflows/ci.yml +59 -39
- {symengine-0.14.0 → symengine-0.15.0}/.gitignore +7 -0
- {symengine-0.14.0 → symengine-0.15.0}/.mailmap +1 -0
- {symengine-0.14.0 → symengine-0.15.0}/AUTHORS +2 -0
- {symengine-0.14.0 → symengine-0.15.0}/CMakeLists.txt +24 -13
- symengine-0.15.0/PKG-INFO +143 -0
- {symengine-0.14.0 → symengine-0.15.0}/README.md +19 -18
- symengine-0.15.0/appveyor.yml +111 -0
- symengine-0.15.0/asd.c +9 -0
- {symengine-0.14.0 → symengine-0.15.0}/bin/install_travis.sh +6 -3
- {symengine-0.14.0 → symengine-0.15.0}/bin/test_symengine_unix.sh +1 -1
- symengine-0.15.0/bin/test_travis.sh +26 -0
- symengine-0.15.0/pyproject.toml +41 -0
- symengine-0.15.0/qwe.c +5 -0
- symengine-0.15.0/symengine/CMakeLists.txt +13 -0
- {symengine-0.14.0 → symengine-0.15.0}/symengine/__init__.py +2 -1
- symengine-0.15.0/symengine/_version.py +24 -0
- symengine-0.15.0/symengine/lib/CMakeLists.txt +112 -0
- {symengine-0.14.0 → symengine-0.15.0}/symengine/lib/symengine.pxd +25 -3
- {symengine-0.14.0 → symengine-0.15.0}/symengine/lib/symengine_wrapper.in.pyx +35 -21
- {symengine-0.14.0 → symengine-0.15.0}/symengine/tests/CMakeLists.txt +12 -8
- {symengine-0.14.0 → symengine-0.15.0}/symengine/tests/test_expr.py +16 -1
- {symengine-0.14.0 → symengine-0.15.0}/symengine/tests/test_functions.py +1 -0
- {symengine-0.14.0 → symengine-0.15.0}/symengine/tests/test_number.py +1 -0
- {symengine-0.14.0 → symengine-0.15.0}/symengine/tests/test_pickling.py +17 -1
- {symengine-0.14.0 → symengine-0.15.0}/symengine/tests/test_symbol.py +3 -0
- {symengine-0.14.0 → symengine-0.15.0}/symengine/tests/test_sympy_conv.py +22 -1
- symengine-0.15.0/symengine_version.txt +1 -0
- symengine-0.14.0/PKG-INFO +0 -31
- symengine-0.14.0/appveyor.yml +0 -146
- symengine-0.14.0/bin/test_travis.sh +0 -21
- symengine-0.14.0/cmake/FindCython.cmake +0 -75
- symengine-0.14.0/cmake/FindNumPy.cmake +0 -19
- symengine-0.14.0/cmake/FindPython.cmake +0 -147
- symengine-0.14.0/cmake/cython_test.cpp +0 -4195
- symengine-0.14.0/cmake/cython_test.pyx +0 -82
- symengine-0.14.0/cmake/get_suffix.py +0 -6
- symengine-0.14.0/cmake/version_script.txt +0 -4
- symengine-0.14.0/setup.cfg +0 -4
- symengine-0.14.0/setup.py +0 -250
- symengine-0.14.0/symengine/CMakeFiles/CMakeDirectoryInformation.cmake +0 -16
- symengine-0.14.0/symengine/CMakeLists.txt +0 -10
- symengine-0.14.0/symengine/cmake_install.cmake +0 -50
- symengine-0.14.0/symengine/lib/CMakeFiles/CMakeDirectoryInformation.cmake +0 -16
- symengine-0.14.0/symengine/lib/CMakeFiles/symengine_wrapper.dir/DependInfo.cmake +0 -20
- symengine-0.14.0/symengine/lib/CMakeFiles/symengine_wrapper.dir/cmake_clean.cmake +0 -16
- symengine-0.14.0/symengine/lib/CMakeLists.txt +0 -83
- symengine-0.14.0/symengine/lib/cmake_install.cmake +0 -87
- symengine-0.14.0/symengine/lib/symengine_wrapper.cpp +0 -236987
- symengine-0.14.0/symengine/lib/symengine_wrapper.pxd +0 -64
- symengine-0.14.0/symengine/lib/symengine_wrapper.pyx +0 -5503
- symengine-0.14.0/symengine.egg-info/PKG-INFO +0 -31
- symengine-0.14.0/symengine.egg-info/SOURCES.txt +0 -108
- symengine-0.14.0/symengine.egg-info/dependency_links.txt +0 -1
- symengine-0.14.0/symengine.egg-info/not-zip-safe +0 -1
- symengine-0.14.0/symengine.egg-info/top_level.txt +0 -1
- symengine-0.14.0/symengine_version.txt +0 -1
- {symengine-0.14.0 → symengine-0.15.0}/LICENSE +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/MANIFEST.in +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/benchmarks/6_links_rhs.txt +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/benchmarks/Lambdify.py +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/benchmarks/Lambdify_reference.pyx +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/benchmarks/expand1.py +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/benchmarks/expand1_sage.py +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/benchmarks/expand2.py +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/benchmarks/expand2_sage.py +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/benchmarks/expand2b_sage.sage +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/benchmarks/expand2b_sympy.py +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/benchmarks/expand3.py +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/benchmarks/expand3_sage.py +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/benchmarks/expand4.py +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/benchmarks/expand4_sage.py +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/benchmarks/expand5.py +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/benchmarks/expand5_sage.py +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/benchmarks/expand6.py +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/benchmarks/expand6b.py +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/benchmarks/expand7.py +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/benchmarks/expr.txt +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/benchmarks/heterogeneous_output_Lambdify.py +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/benchmarks/kane.py +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/benchmarks/kane_generate.py +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/benchmarks/legendre1.py +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/benchmarks/legendre1_sage.py +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/benchmarks/pydy_pendulum.py +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/benchmarks/symbench.py +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/benchmarks/symbench_def.py +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/benchmarks/symbench_sage.py +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/bin/test_python.py +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/bin/trigger_feedstock.sh +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/cmake/check_python_hypot.cpp +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/cmake/preprocess.py +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/docs/conf.py +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/docs/index.rst +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/symengine/functions.py +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/symengine/lib/__init__.py +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/symengine/lib/pywrapper.cpp +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/symengine/lib/pywrapper.h +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/symengine/lib/symengine_wrapper.in.pxd +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/symengine/printing.py +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/symengine/sympy_compat.py +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/symengine/test_utilities.py +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/symengine/tests/__init__.py +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/symengine/tests/test_arit.py +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/symengine/tests/test_cse.py +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/symengine/tests/test_dict_basic.py +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/symengine/tests/test_eval.py +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/symengine/tests/test_lambdify.py +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/symengine/tests/test_logic.py +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/symengine/tests/test_matrices.py +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/symengine/tests/test_ntheory.py +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/symengine/tests/test_printing.py +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/symengine/tests/test_sage.py +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/symengine/tests/test_series_expansion.py +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/symengine/tests/test_sets.py +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/symengine/tests/test_solve.py +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/symengine/tests/test_subs.py +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/symengine/tests/test_sympify.py +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/symengine/tests/test_sympy_compat.py +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/symengine/tests/test_var.py +0 -0
- {symengine-0.14.0 → symengine-0.15.0}/symengine/utilities.py +0 -0
|
@@ -8,132 +8,141 @@ jobs:
|
|
|
8
8
|
fail-fast: false
|
|
9
9
|
matrix:
|
|
10
10
|
include:
|
|
11
|
+
- BUILD_TYPE: Release
|
|
12
|
+
PYTHON_VERSION: '3.13'
|
|
13
|
+
BUILD_SHARED_LIBS: yes
|
|
14
|
+
SYMENGINE_PY_LIMITED_API: '3.11'
|
|
15
|
+
OS: ubuntu-22.04
|
|
16
|
+
CC: gcc
|
|
17
|
+
|
|
11
18
|
- BUILD_TYPE: Debug
|
|
12
19
|
WITH_BFD: yes
|
|
13
20
|
PYTHON_VERSION: '3.12'
|
|
14
21
|
TEST_SYMPY: yes
|
|
15
|
-
OS: ubuntu-
|
|
22
|
+
OS: ubuntu-22.04
|
|
16
23
|
CC: gcc
|
|
17
24
|
|
|
18
25
|
- BUILD_TYPE: Debug
|
|
19
26
|
WITH_BFD: yes
|
|
20
27
|
PYTHON_VERSION: '3.11'
|
|
21
28
|
TEST_SYMPY: yes
|
|
22
|
-
OS: ubuntu-
|
|
29
|
+
OS: ubuntu-22.04
|
|
23
30
|
CC: gcc
|
|
24
31
|
|
|
25
32
|
- BUILD_TYPE: Debug
|
|
26
33
|
WITH_BFD: yes
|
|
27
|
-
PYTHON_VERSION: '3.
|
|
34
|
+
PYTHON_VERSION: '3.14'
|
|
28
35
|
TEST_SYMPY: yes
|
|
29
|
-
OS: ubuntu-
|
|
36
|
+
OS: ubuntu-22.04
|
|
30
37
|
CC: gcc
|
|
31
38
|
|
|
32
39
|
- BUILD_TYPE: Debug
|
|
33
40
|
WITH_BFD: yes
|
|
34
|
-
PYTHON_VERSION: '3.
|
|
41
|
+
PYTHON_VERSION: '3.14'
|
|
35
42
|
TEST_SYMPY: yes
|
|
36
|
-
OS: ubuntu-
|
|
43
|
+
OS: ubuntu-22.04
|
|
37
44
|
CC: gcc
|
|
38
45
|
|
|
39
46
|
- BUILD_TYPE: Release
|
|
40
|
-
PYTHON_VERSION: '3.
|
|
47
|
+
PYTHON_VERSION: '3.13'
|
|
41
48
|
BUILD_SHARED_LIBS: yes
|
|
42
|
-
OS: ubuntu-
|
|
49
|
+
OS: ubuntu-22.04
|
|
43
50
|
CC: gcc
|
|
44
51
|
|
|
45
52
|
- BUILD_TYPE: Release
|
|
46
|
-
PYTHON_VERSION: '3.
|
|
53
|
+
PYTHON_VERSION: '3.13'
|
|
47
54
|
WITH_MPFR: yes
|
|
48
55
|
INTEGER_CLASS: gmpxx
|
|
49
56
|
WITH_NUMPY: no
|
|
50
|
-
OS: ubuntu-
|
|
57
|
+
OS: ubuntu-22.04
|
|
51
58
|
CC: gcc
|
|
52
59
|
|
|
53
60
|
- BUILD_TYPE: Release
|
|
54
|
-
PYTHON_VERSION: '3.
|
|
61
|
+
PYTHON_VERSION: '3.13'
|
|
55
62
|
WITH_MPC: yes
|
|
56
|
-
OS: ubuntu-
|
|
63
|
+
OS: ubuntu-22.04
|
|
57
64
|
CC: gcc
|
|
58
65
|
|
|
59
66
|
- BUILD_TYPE: Release
|
|
60
67
|
WITH_MPFR: yes
|
|
61
|
-
PYTHON_VERSION: '3.
|
|
62
|
-
OS: ubuntu-
|
|
68
|
+
PYTHON_VERSION: '3.13'
|
|
69
|
+
OS: ubuntu-22.04
|
|
63
70
|
CC: gcc
|
|
64
71
|
|
|
65
72
|
- BUILD_TYPE: Release
|
|
66
|
-
PYTHON_VERSION: '3.
|
|
73
|
+
PYTHON_VERSION: '3.14'
|
|
67
74
|
WITH_MPC: yes
|
|
68
|
-
OS: ubuntu-
|
|
75
|
+
OS: ubuntu-22.04
|
|
69
76
|
CC: gcc
|
|
70
77
|
|
|
71
78
|
- BUILD_TYPE: Release
|
|
72
|
-
PYTHON_VERSION: '3.
|
|
79
|
+
PYTHON_VERSION: '3.11'
|
|
73
80
|
WITH_MPC: yes
|
|
74
81
|
INTEGER_CLASS: flint
|
|
75
82
|
WITH_FLINT: yes
|
|
76
|
-
OS: ubuntu-
|
|
83
|
+
OS: ubuntu-22.04
|
|
77
84
|
CC: gcc
|
|
78
85
|
|
|
79
86
|
#- BUILD_TYPE: Debug
|
|
80
|
-
# PYTHON_VERSION: '3.
|
|
87
|
+
# PYTHON_VERSION: '3.12'
|
|
81
88
|
# WITH_BFD: yes
|
|
82
89
|
# WITH_PIRANHA: yes
|
|
83
|
-
# OS: ubuntu-
|
|
90
|
+
# OS: ubuntu-22.04
|
|
84
91
|
# CC: gcc
|
|
85
92
|
|
|
86
93
|
- BUILD_TYPE: Debug
|
|
87
|
-
PYTHON_VERSION: '3.
|
|
94
|
+
PYTHON_VERSION: '3.13'
|
|
88
95
|
WITH_BFD: yes
|
|
89
96
|
BUILD_SHARED_LIBS: yes
|
|
90
|
-
OS: ubuntu-
|
|
97
|
+
OS: ubuntu-22.04
|
|
91
98
|
CC: clang
|
|
92
99
|
|
|
93
100
|
- BUILD_TYPE: Release
|
|
94
|
-
PYTHON_VERSION: '3.
|
|
101
|
+
PYTHON_VERSION: '3.13'
|
|
95
102
|
WITH_NUMPY: yes
|
|
96
|
-
OS: ubuntu-
|
|
103
|
+
OS: ubuntu-22.04
|
|
97
104
|
CC: clang
|
|
98
105
|
|
|
99
106
|
- BUILD_TYPE: Debug
|
|
100
|
-
PYTHON_VERSION: '3.
|
|
107
|
+
PYTHON_VERSION: '3.12'
|
|
101
108
|
WITH_SYMPY: yes
|
|
102
|
-
WITH_LLVM:
|
|
109
|
+
WITH_LLVM: 18
|
|
103
110
|
WITH_SCIPY: yes
|
|
111
|
+
WITH_LATEST_GCC: yes
|
|
104
112
|
INTEGER_CLASS: 'boostmp'
|
|
105
113
|
PYTEST_ADDOPTS: '-k "not integer_nthroot"'
|
|
106
|
-
OS: ubuntu-
|
|
107
|
-
|
|
108
|
-
|
|
114
|
+
OS: ubuntu-24.04
|
|
115
|
+
CC: gcc # ubuntu nobel uses gcc-13
|
|
116
|
+
#EXTRA_APT_REPOSITORY: 'deb http://apt.llvm.org/jammy/ llvm-toolchain-nobel-18 main'
|
|
117
|
+
EXTRA_APT_PACKAGES: 'llvm-18'
|
|
109
118
|
|
|
110
119
|
- BUILD_TYPE: Debug
|
|
111
|
-
PYTHON_VERSION: '3.
|
|
120
|
+
PYTHON_VERSION: '3.13'
|
|
112
121
|
WITH_SCIPY: yes
|
|
113
122
|
WITH_LLVM: 5.0
|
|
114
|
-
OS: macos-
|
|
123
|
+
OS: macos-15-intel
|
|
115
124
|
CC: clang
|
|
116
125
|
|
|
117
126
|
- BUILD_TYPE: Release
|
|
118
|
-
PYTHON_VERSION: '3.
|
|
127
|
+
PYTHON_VERSION: '3.14'
|
|
119
128
|
WITH_NUMPY: no
|
|
120
|
-
OS: macos-
|
|
129
|
+
OS: macos-15-intel
|
|
121
130
|
CC: clang
|
|
122
131
|
|
|
123
132
|
- BUILD_TYPE: Debug
|
|
124
|
-
PYTHON_VERSION: '3.
|
|
133
|
+
PYTHON_VERSION: '3.13'
|
|
125
134
|
WITH_NUMPY: no
|
|
126
|
-
OS: macos-
|
|
135
|
+
OS: macos-15-intel
|
|
127
136
|
CC: gcc
|
|
128
137
|
|
|
129
138
|
- BUILD_TYPE: Release
|
|
130
|
-
PYTHON_VERSION: '3.
|
|
131
|
-
OS: macos-
|
|
139
|
+
PYTHON_VERSION: '3.13'
|
|
140
|
+
OS: macos-15-intel
|
|
132
141
|
CC: gcc
|
|
133
142
|
|
|
134
143
|
- BUILD_TYPE: Release
|
|
135
144
|
PYTHON_VERSION: '3.11'
|
|
136
|
-
OS: ubuntu-
|
|
145
|
+
OS: ubuntu-22.04
|
|
137
146
|
WITH_MPC: yes
|
|
138
147
|
WITH_MPFR: yes
|
|
139
148
|
WITH_FLINT: yes
|
|
@@ -145,11 +154,21 @@ jobs:
|
|
|
145
154
|
CC: gcc
|
|
146
155
|
|
|
147
156
|
steps:
|
|
157
|
+
|
|
158
|
+
- uses: conda-incubator/setup-miniconda@v3
|
|
159
|
+
if: matrix.MSYS_ENV == ''
|
|
160
|
+
with:
|
|
161
|
+
activate-environment: symengine
|
|
162
|
+
channel-priority: strict
|
|
163
|
+
architecture: x86_64
|
|
164
|
+
channels: conda-forge
|
|
165
|
+
conda-remove-defaults: "true"
|
|
166
|
+
|
|
148
167
|
- name: Checkout code
|
|
149
168
|
uses: actions/checkout@v4
|
|
150
169
|
|
|
151
170
|
- name: Build and test symengine
|
|
152
|
-
shell: bash
|
|
171
|
+
shell: bash -el {0}
|
|
153
172
|
run: |
|
|
154
173
|
source bin/test_symengine_unix.sh
|
|
155
174
|
env:
|
|
@@ -185,6 +204,7 @@ jobs:
|
|
|
185
204
|
MAKEFLAGS: ${{ matrix.MAKEFLAGS }}
|
|
186
205
|
BUILD_SHARED_LIBS: ${{ matrix.BUILD_SHARED_LIBS }}
|
|
187
206
|
PYTHON_VERSION: ${{ matrix.PYTHON_VERSION }}
|
|
207
|
+
SYMENGINE_PY_LIMITED_API: ${{ matrix.SYMENGINE_PY_LIMITED_API }}
|
|
188
208
|
|
|
189
209
|
- name: Deploy Documentation
|
|
190
210
|
if: ${{ (github.ref == 'refs/heads/main' && github.repository == 'Symengine/symengine.py') || (github.ref == 'refs/heads/master' && github.repository == 'Symengine/symengine.py')}}
|
|
@@ -20,6 +20,7 @@ cython_test.cpp
|
|
|
20
20
|
symengine/lib/symengine_wrapper.cpp
|
|
21
21
|
symengine/lib/symengine_wrapper.pyx
|
|
22
22
|
symengine/lib/symengine_wrapper.pxd
|
|
23
|
+
symengine/_version.py
|
|
23
24
|
|
|
24
25
|
# Config Files
|
|
25
26
|
symengine/lib/config.pxi
|
|
@@ -33,6 +34,12 @@ MANIFEST
|
|
|
33
34
|
dist/
|
|
34
35
|
.*cache/
|
|
35
36
|
symengine.egg-info/
|
|
37
|
+
.cmake/
|
|
38
|
+
.ninja_deps
|
|
39
|
+
.ninja_log
|
|
40
|
+
.skbuild-info.json
|
|
41
|
+
CMakeInit.txt
|
|
42
|
+
symengine/lib/symengine_wrapper.cpp.dep
|
|
36
43
|
|
|
37
44
|
# Temp files
|
|
38
45
|
*~
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
cmake_minimum_required(VERSION
|
|
1
|
+
cmake_minimum_required(VERSION 3.21...4.0.0)
|
|
2
2
|
|
|
3
3
|
if (POLICY CMP0057)
|
|
4
4
|
cmake_policy(SET CMP0057 NEW) # needed for llvm >= 16
|
|
@@ -7,13 +7,13 @@ if (POLICY CMP0074)
|
|
|
7
7
|
cmake_policy(SET CMP0074 NEW) # allow user to set *_ROOT variables
|
|
8
8
|
endif()
|
|
9
9
|
|
|
10
|
-
project(
|
|
10
|
+
project(${SKBUILD_PROJECT_NAME} LANGUAGES C CXX)
|
|
11
11
|
|
|
12
12
|
set(CMAKE_PREFIX_PATH ${SymEngine_DIR} ${CMAKE_PREFIX_PATH})
|
|
13
13
|
|
|
14
14
|
include(GNUInstallDirs)
|
|
15
15
|
|
|
16
|
-
find_package(SymEngine 0.
|
|
16
|
+
find_package(SymEngine 0.15.0 REQUIRED CONFIG
|
|
17
17
|
PATH_SUFFIXES lib/cmake/symengine cmake/symengine CMake/)
|
|
18
18
|
message("SymEngine_DIR : " ${SymEngine_DIR})
|
|
19
19
|
message("SymEngine Version : " ${SymEngine_VERSION})
|
|
@@ -21,12 +21,28 @@ set(CMAKE_BUILD_TYPE ${SYMENGINE_BUILD_TYPE})
|
|
|
21
21
|
set(CMAKE_CXX_FLAGS_RELEASE ${SYMENGINE_CXX_FLAGS_RELEASE})
|
|
22
22
|
set(CMAKE_CXX_FLAGS_DEBUG ${SYMENGINE_CXX_FLAGS_DEBUG})
|
|
23
23
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${SYMENGINE_CXX_FLAGS}")
|
|
24
|
-
include_directories(${SYMENGINE_INCLUDE_DIRS})
|
|
25
24
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
25
|
+
find_package(
|
|
26
|
+
Python
|
|
27
|
+
COMPONENTS
|
|
28
|
+
Interpreter
|
|
29
|
+
Development.Module
|
|
30
|
+
${SKBUILD_SABI_COMPONENT}
|
|
31
|
+
REQUIRED
|
|
32
|
+
)
|
|
33
|
+
|
|
34
|
+
if ("${SKBUILD_SABI_VERSION}" STREQUAL "")
|
|
35
|
+
set(CYTHON_MIN "0.29")
|
|
36
|
+
else()
|
|
37
|
+
set(CYTHON_MIN "3.1")
|
|
38
|
+
endif()
|
|
39
|
+
|
|
40
|
+
find_package(Cython ${CYTHON_MIN} MODULE REQUIRED)
|
|
41
|
+
include(UseCython)
|
|
42
|
+
|
|
43
|
+
if ("${CYTHON_VERSION}" VERSION_LESS "${CYTHON_MIN}")
|
|
44
|
+
message(FATAL_ERROR "Cython version found: ${CYTHON_VERSION}. Minimum required: ${CYTHON_MIN}")
|
|
45
|
+
endif()
|
|
30
46
|
|
|
31
47
|
if (MINGW AND ("${CMAKE_SIZEOF_VOID_P}" STREQUAL "8"))
|
|
32
48
|
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DMS_WIN64")
|
|
@@ -55,7 +71,6 @@ foreach (PKG MPC MPFR PIRANHA FLINT LLVM)
|
|
|
55
71
|
set(HAVE_SYMENGINE_${PKG} False)
|
|
56
72
|
endif()
|
|
57
73
|
endforeach()
|
|
58
|
-
option(SYMENGINE_INSTALL_PY_FILES "Install python files" ON)
|
|
59
74
|
|
|
60
75
|
message("CMAKE_SYSTEM_PROCESSOR : ${CMAKE_SYSTEM_PROCESSOR}")
|
|
61
76
|
message("CMAKE_BUILD_TYPE : ${CMAKE_BUILD_TYPE}")
|
|
@@ -68,9 +83,5 @@ message("HAVE_SYMENGINE_PIRANHA : ${HAVE_SYMENGINE_PIRANHA}")
|
|
|
68
83
|
message("HAVE_SYMENGINE_FLINT : ${HAVE_SYMENGINE_FLINT}")
|
|
69
84
|
message("HAVE_SYMENGINE_LLVM : ${HAVE_SYMENGINE_LLVM}")
|
|
70
85
|
message("HAVE_SYMENGINE_LLVM_LONG_DOUBLE : ${HAVE_SYMENGINE_LLVM_LONG_DOUBLE}")
|
|
71
|
-
message("SYMENGINE_COPY_EXTENSION : ${SYMENGINE_COPY_EXTENSION}")
|
|
72
|
-
|
|
73
|
-
message("Copying source of python wrappers into: ${CMAKE_CURRENT_BINARY_DIR}")
|
|
74
|
-
file(COPY symengine/ DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/symengine)
|
|
75
86
|
|
|
76
87
|
add_subdirectory(symengine)
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: symengine
|
|
3
|
+
Version: 0.15.0
|
|
4
|
+
Summary: Python library providing wrappers to SymEngine
|
|
5
|
+
Author-Email: SymEngine development team <symengine@googlegroups.com>
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
License-File: LICENSE
|
|
8
|
+
Classifier: Operating System :: OS Independent
|
|
9
|
+
Classifier: Programming Language :: Python
|
|
10
|
+
Classifier: Topic :: Scientific/Engineering
|
|
11
|
+
Classifier: Topic :: Scientific/Engineering :: Mathematics
|
|
12
|
+
Classifier: Topic :: Scientific/Engineering :: Physics
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.15
|
|
18
|
+
Project-URL: Homepage, https://symengine.org
|
|
19
|
+
Project-URL: Documentation, https://symengine.org/symengine.py
|
|
20
|
+
Project-URL: Repository, https://github.com/symengine/symengine.py
|
|
21
|
+
Project-URL: Issues, https://github.com/symengine/symengine.py/issues
|
|
22
|
+
Requires-Python: >=3.11
|
|
23
|
+
Description-Content-Type: text/markdown
|
|
24
|
+
|
|
25
|
+
# SymEngine Python Wrappers
|
|
26
|
+
|
|
27
|
+
Python wrappers to the C++ library [SymEngine](https://github.com/symengine/symengine),
|
|
28
|
+
a fast C++ symbolic manipulation library.
|
|
29
|
+
|
|
30
|
+
[](https://travis-ci.org/symengine/symengine.py)
|
|
31
|
+
[](https://ci.appveyor.com/project/symengine/symengine-py/branch/master)
|
|
32
|
+
|
|
33
|
+
## Installation
|
|
34
|
+
|
|
35
|
+
### Pip
|
|
36
|
+
|
|
37
|
+
See License section for information about wheels
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
pip install symengine --user
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### Conda package manager
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
conda install python-symengine -c conda-forge
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### Build from source
|
|
50
|
+
|
|
51
|
+
Install prerequisites.
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
CMake >= 3.21
|
|
55
|
+
Python3 >= 3.11
|
|
56
|
+
SymEngine >= 0.15.0
|
|
57
|
+
pip
|
|
58
|
+
setuptools_scm # will be automatically downloaded by pip
|
|
59
|
+
scikit-build-core # will be automatically downloaded by pip
|
|
60
|
+
cython >= 0.29.24 # will be automatically downloaded by pip
|
|
61
|
+
cython-cmake # will be automatically downloaded by pip
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
For **SymEngine**, only a specific commit/tag (see `symengine_version.txt`) is
|
|
65
|
+
supported. The latest git master branch may not work as there may be breaking
|
|
66
|
+
changes in **SymEngine**.
|
|
67
|
+
|
|
68
|
+
Python wrappers can be installed by,
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
pip install . -vv
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
If you are building SymEngine for development, you should implement
|
|
75
|
+
the dependencies automatically installed by pip and do,
|
|
76
|
+
```bash
|
|
77
|
+
pip install -e . -vv --no-build-isolation
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
A few additional options to scikit-build-core are mentioned here:
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
pip install -e . -vv --no-build-isolation
|
|
84
|
+
-Ccmake.build-type=Release|Debug # Set build-type for multi-configuration generators like MSVC
|
|
85
|
+
-Ccmake.define.SymEngine_DIR=/path/to/symengine/install/dir # Path to SymEngine install directory or build directory
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### Notes on Dependencies
|
|
89
|
+
|
|
90
|
+
If you intend to evaluate floating-point expressions (using **lambdify**),
|
|
91
|
+
you should consider linking against **LLVM**. Many users might also benefit
|
|
92
|
+
from linking against **FLINT**, as it is now LGPL-licensed.
|
|
93
|
+
|
|
94
|
+
In general, **sudo** is only required if you are installing to the default
|
|
95
|
+
prefix (`/usr/local`). We recommend specifying a custom prefix
|
|
96
|
+
(`--prefix=$HOME/.local`) to avoid requiring administrative privileges,
|
|
97
|
+
which most users can do without using **sudo**.
|
|
98
|
+
|
|
99
|
+
If you're uncomfortable specifying the prefix manually, we suggest using
|
|
100
|
+
**Conda** or installing the pre-built wheels via **pip** instead of building
|
|
101
|
+
from source.
|
|
102
|
+
|
|
103
|
+
## Verification
|
|
104
|
+
|
|
105
|
+
You can verify the installation of **SymEngine** by using the provided code
|
|
106
|
+
snippet in this README. This snippet ensures that the installation works as
|
|
107
|
+
expected and that basic functionality is available.
|
|
108
|
+
|
|
109
|
+
```python
|
|
110
|
+
from symengine import var
|
|
111
|
+
x, y, z = var('x y z')
|
|
112
|
+
e = (x + y + z)**2
|
|
113
|
+
expanded_e = e.expand()
|
|
114
|
+
print(expanded_e)
|
|
115
|
+
```
|
|
116
|
+
This will output:
|
|
117
|
+
```python
|
|
118
|
+
x**2 + y**2 + z**2 + 2*x*y + 2*x*z + 2*y*z
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
Note: The verification code provided above checks the functionality of
|
|
122
|
+
SymEngine. For additional verification specific to SymEngine, please refer to
|
|
123
|
+
the [official SymEngine Python bindings repository](https://github.com/symengine/symengine.py)
|
|
124
|
+
for further tests and examples.
|
|
125
|
+
|
|
126
|
+
## License
|
|
127
|
+
|
|
128
|
+
symengine.py is MIT licensed and uses several LGPL, BSD-3, and MIT licensed
|
|
129
|
+
libraries.
|
|
130
|
+
|
|
131
|
+
Licenses for the dependencies of pip wheels are as follows:
|
|
132
|
+
|
|
133
|
+
- pip wheels on Unix use **GMP** (LGPL-3.0-or-later),
|
|
134
|
+
**MPFR** (LGPL-3.0-or-later), **MPC** (LGPL-3.0-or-later),
|
|
135
|
+
**LLVM** (Apache-2.0), **zlib** (Zlib), **libxml2** (MIT),
|
|
136
|
+
**zstd** (BSD-3-Clause), and **symengine** (MIT AND BSD-3-Clause).
|
|
137
|
+
- pip wheels on Windows use **MPIR** (LGPL-3.0-or-later) instead of **GMP**
|
|
138
|
+
above and **pthreads-win32** (LGPL-3.0-or-later) additionally.
|
|
139
|
+
- **NumPy** (BSD-3-Clause) and **SymPy** (BSD-3-Clause) are optional
|
|
140
|
+
dependencies.
|
|
141
|
+
- Sources for these binary dependencies can be found on
|
|
142
|
+
[symengine-wheels](https://github.com/symengine/symengine-wheels/releases).
|
|
143
|
+
|
|
@@ -27,10 +27,14 @@ conda install python-symengine -c conda-forge
|
|
|
27
27
|
Install prerequisites.
|
|
28
28
|
|
|
29
29
|
```bash
|
|
30
|
-
CMake >=
|
|
31
|
-
Python3 >= 3.
|
|
32
|
-
|
|
33
|
-
|
|
30
|
+
CMake >= 3.21
|
|
31
|
+
Python3 >= 3.11
|
|
32
|
+
SymEngine >= 0.15.0
|
|
33
|
+
pip
|
|
34
|
+
setuptools_scm # will be automatically downloaded by pip
|
|
35
|
+
scikit-build-core # will be automatically downloaded by pip
|
|
36
|
+
cython >= 0.29.24 # will be automatically downloaded by pip
|
|
37
|
+
cython-cmake # will be automatically downloaded by pip
|
|
34
38
|
```
|
|
35
39
|
|
|
36
40
|
For **SymEngine**, only a specific commit/tag (see `symengine_version.txt`) is
|
|
@@ -40,25 +44,22 @@ changes in **SymEngine**.
|
|
|
40
44
|
Python wrappers can be installed by,
|
|
41
45
|
|
|
42
46
|
```bash
|
|
43
|
-
|
|
47
|
+
pip install . -vv
|
|
44
48
|
```
|
|
45
49
|
|
|
46
|
-
|
|
47
|
-
|
|
50
|
+
If you are building SymEngine for development, you should implement
|
|
51
|
+
the dependencies automatically installed by pip and do,
|
|
48
52
|
```bash
|
|
49
|
-
|
|
50
|
-
--symengine-dir=/path/to/symengine/install/dir # Path to SymEngine install directory or build directory
|
|
51
|
-
--compiler=mingw32|msvc|cygwin # Select the compiler for Windows
|
|
52
|
-
--generator=cmake-generator # CMake Generator
|
|
53
|
-
--build-type=Release|Debug # Set build-type for multi-configuration generators like MSVC
|
|
54
|
-
--define="var1=value1;var2=value2" # Give options to CMake
|
|
55
|
-
--inplace # Build the extension in source tree
|
|
53
|
+
pip install -e . -vv --no-build-isolation
|
|
56
54
|
```
|
|
57
55
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
e.
|
|
56
|
+
A few additional options to scikit-build-core are mentioned here:
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
pip install -e . -vv --no-build-isolation
|
|
60
|
+
-Ccmake.build-type=Release|Debug # Set build-type for multi-configuration generators like MSVC
|
|
61
|
+
-Ccmake.define.SymEngine_DIR=/path/to/symengine/install/dir # Path to SymEngine install directory or build directory
|
|
62
|
+
```
|
|
62
63
|
|
|
63
64
|
### Notes on Dependencies
|
|
64
65
|
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
version: '{build}'
|
|
2
|
+
|
|
3
|
+
image: "Visual Studio 2019"
|
|
4
|
+
|
|
5
|
+
environment:
|
|
6
|
+
global:
|
|
7
|
+
PLATFORMTOOLSET: "v142"
|
|
8
|
+
|
|
9
|
+
matrix:
|
|
10
|
+
- BUILD_TYPE: "Release"
|
|
11
|
+
COMPILER: MSVC15
|
|
12
|
+
PLATFORM: "x64"
|
|
13
|
+
PYTHON_VERSION: 314-x64
|
|
14
|
+
CONDA_INSTALL_LOCN: C:\\Miniconda38-x64
|
|
15
|
+
WITH_MPFR: yes
|
|
16
|
+
WITH_MPC: yes
|
|
17
|
+
WITH_LLVM: yes
|
|
18
|
+
- BUILD_TYPE: "Release"
|
|
19
|
+
COMPILER: MSVC15
|
|
20
|
+
PLATFORM: "Win32"
|
|
21
|
+
PYTHON_VERSION: 311
|
|
22
|
+
CONDA_INSTALL_LOCN: C:\\Miniconda38-x64
|
|
23
|
+
WITH_MPFR: yes
|
|
24
|
+
WITH_MPC: yes
|
|
25
|
+
- BUILD_TYPE: "Release"
|
|
26
|
+
COMPILER: MSVC15
|
|
27
|
+
PLATFORM: "x64"
|
|
28
|
+
PYTHON_VERSION: 313-x64
|
|
29
|
+
CONDA_INSTALL_LOCN: C:\\Miniconda38-x64
|
|
30
|
+
WITH_MPFR: yes
|
|
31
|
+
WITH_MPC: yes
|
|
32
|
+
- BUILD_TYPE: "Release"
|
|
33
|
+
COMPILER: MSVC15
|
|
34
|
+
PLATFORM: "x64"
|
|
35
|
+
PYTHON_VERSION: 312-x64
|
|
36
|
+
CONDA_INSTALL_LOCN: C:\\Miniconda38-x64
|
|
37
|
+
- BUILD_TYPE: "Release"
|
|
38
|
+
COMPILER: MSVC15
|
|
39
|
+
PLATFORM: "x64"
|
|
40
|
+
PYTHON_VERSION: 314-x64
|
|
41
|
+
WITH_SYMPY: no
|
|
42
|
+
CONDA_INSTALL_LOCN: C:\\Miniconda38-x64
|
|
43
|
+
- BUILD_TYPE: "Release"
|
|
44
|
+
COMPILER: MSVC15
|
|
45
|
+
PLATFORM: "x64"
|
|
46
|
+
PYTHON_VERSION: 311-x64
|
|
47
|
+
WITH_NUMPY: no
|
|
48
|
+
CONDA_INSTALL_LOCN: C:\\Miniconda38-x64
|
|
49
|
+
|
|
50
|
+
install:
|
|
51
|
+
- set PYTHON_SOURCE_DIR=%CD%
|
|
52
|
+
- git clone https://github.com/sympy/symengine symengine-cpp
|
|
53
|
+
- if [%PLATFORM%]==[Win32] set "CONDA_SUBDIR=win-32"
|
|
54
|
+
|
|
55
|
+
- call %CONDA_INSTALL_LOCN%\Scripts\activate.bat
|
|
56
|
+
- set "CONDA_DEPS=mpir=3.0.0 vc=14"
|
|
57
|
+
- if [%WITH_MPFR%]==[yes] set "CONDA_DEPS=%CONDA_DEPS% mpfr=3.1.5"
|
|
58
|
+
- if [%WITH_MPC%]==[yes] set "CONDA_DEPS=%CONDA_DEPS% mpc=1.0.3"
|
|
59
|
+
- if [%WITH_LLVM%]==[yes] set "CONDA_DEPS=%CONDA_DEPS% llvmdev=5.0"
|
|
60
|
+
- set "CONDA_DEPS=%CONDA_DEPS% -c conda-forge"
|
|
61
|
+
- if [%BUILD_TYPE%]==[Debug] set "CONDA_DEPS=%CONDA_DEPS% -c symengine/label/debug"
|
|
62
|
+
- conda create -n deps --yes %CONDA_DEPS%
|
|
63
|
+
- call conda activate deps
|
|
64
|
+
- echo %CONDA_PREFIX%
|
|
65
|
+
- echo %PATH%
|
|
66
|
+
- set "PATH=%PATH%;%CONDA_PREFIX%\\Library\\bin;%CONDA_PREFIX%"
|
|
67
|
+
- echo %PATH%
|
|
68
|
+
|
|
69
|
+
- set "PATH=C:\Python%PYTHON_VERSION%;C:\Python%PYTHON_VERSION%\Scripts;%PATH%"
|
|
70
|
+
- echo %PATH%
|
|
71
|
+
- pip install pytest cython scikit-build-core cython-cmake setuptools_scm
|
|
72
|
+
- if NOT [%WITH_NUMPY%]==[no] pip install numpy
|
|
73
|
+
- if NOT [%WITH_SYMPY%]==[no] pip install sympy
|
|
74
|
+
|
|
75
|
+
- set /p commit=<symengine_version.txt
|
|
76
|
+
- cd symengine-cpp
|
|
77
|
+
- git checkout %commit%
|
|
78
|
+
- mkdir build
|
|
79
|
+
- cd build
|
|
80
|
+
|
|
81
|
+
- set "CMAKE_GENERATOR=Visual Studio 16 2019"
|
|
82
|
+
- set "CMAKE_GENERATOR_PLATFORM=%PLATFORM%"
|
|
83
|
+
|
|
84
|
+
- set "CMAKE_ARGS=-DCMAKE_PREFIX_PATH=%CONDA_PREFIX%\\Library"
|
|
85
|
+
|
|
86
|
+
- if [%WITH_MPFR%]==[yes] set "CMAKE_ARGS=%CMAKE_ARGS% -DWITH_MPFR=yes"
|
|
87
|
+
- if [%WITH_MPC%]==[yes] set "CMAKE_ARGS=%CMAKE_ARGS% -DWITH_MPC=yes"
|
|
88
|
+
- if [%WITH_LLVM%]==[yes] set "CMAKE_ARGS=%CMAKE_ARGS% -DWITH_LLVM=yes -DMSVC_USE_MT=no"
|
|
89
|
+
|
|
90
|
+
- echo "CMAKE_ARGS=%CMAKE_ARGS%"
|
|
91
|
+
- cmake %CMAKE_ARGS% -DBUILD_SHARED_LIBS=yes -DBUILD_TESTS=no -DBUILD_BENCHMARKS=no -DCMAKE_INSTALL_PREFIX=C:\symengine ..
|
|
92
|
+
|
|
93
|
+
- cmake --build . --config %BUILD_TYPE% --target install
|
|
94
|
+
- cd ../../
|
|
95
|
+
|
|
96
|
+
build_script:
|
|
97
|
+
- set "PATH=C:\symengine\bin\;%PATH%"
|
|
98
|
+
- set "SYMENGINE_PY_ADD_PATH_TO_SEARCH_DIRS=1"
|
|
99
|
+
- echo %PATH%
|
|
100
|
+
- set "CMAKE_ARGS="
|
|
101
|
+
- python -m pip install -e . --no-build-isolation -Ccmake.build-type=%BUILD_TYPE% -vv
|
|
102
|
+
|
|
103
|
+
test_script:
|
|
104
|
+
- mkdir empty && cd empty
|
|
105
|
+
- python %PYTHON_SOURCE_DIR%\bin\test_python.py
|
|
106
|
+
|
|
107
|
+
# Enable this to be able to login to the build worker. You can use the
|
|
108
|
+
# `remmina` program in Ubuntu, use the login information that the line below
|
|
109
|
+
# prints into the log.
|
|
110
|
+
# #on_finish:
|
|
111
|
+
#- ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
|
symengine-0.15.0/asd.c
ADDED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# symengine's bin/install_travis.sh will install miniconda
|
|
4
4
|
|
|
5
|
-
export conda_pkgs="python=${PYTHON_VERSION} pip pytest gmp mpfr"
|
|
5
|
+
export conda_pkgs="python=${PYTHON_VERSION} pip pytest python-build scikit-build-core ninja cython-cmake cython setuptools-scm gmp mpfr"
|
|
6
6
|
|
|
7
7
|
if [[ "${WITH_NUMPY}" != "no" ]]; then
|
|
8
8
|
export conda_pkgs="${conda_pkgs} numpy";
|
|
@@ -20,6 +20,10 @@ if [[ "${WITH_FLINT_PY}" == "yes" ]]; then
|
|
|
20
20
|
export conda_pkgs="${conda_pkgs} python-flint"; # python-flint affects sympy, see e.g. sympy/sympy#26645
|
|
21
21
|
fi
|
|
22
22
|
|
|
23
|
+
if [[ "${SYMENGINE_PY_LIMITED_API}" != "" ]]; then
|
|
24
|
+
export conda_pkgs="${conda_pkgs} abi3audit"
|
|
25
|
+
fi
|
|
26
|
+
|
|
23
27
|
if [[ "${WITH_SAGE}" == "yes" ]]; then
|
|
24
28
|
# This is split to avoid the 10 minute limit
|
|
25
29
|
conda install -q sagelib=8.1
|
|
@@ -27,11 +31,10 @@ if [[ "${WITH_SAGE}" == "yes" ]]; then
|
|
|
27
31
|
export conda_pkgs="${conda_pkgs} sage=8.1";
|
|
28
32
|
fi
|
|
29
33
|
|
|
30
|
-
conda install -q ${conda_pkgs}
|
|
34
|
+
conda install -q ${conda_pkgs}
|
|
31
35
|
|
|
32
36
|
if [[ "${WITH_SYMPY}" != "no" ]]; then
|
|
33
37
|
pip install sympy;
|
|
34
38
|
fi
|
|
35
39
|
|
|
36
40
|
conda clean --all
|
|
37
|
-
source activate $our_install_dir;
|