@@ -21,3 +21,167 @@ requires = [
21
21
memory_allocator \
22
22
' ) ]
23
23
build-backend = "setuptools.build_meta"
24
+
25
+ [ project]
26
+ name = "sagemath-standard"
27
+ description = "Sage: Open Source Mathematics Software: Standard Python Library"
28
+ license = {text = "GNU General Public License (GPL) v2 or later"}
29
+ authors = [ {name = "The Sage Developers", email = "sage-support@googlegroups.com"}]
30
+ classifiers = [
31
+ "Development Status :: 6 - Mature",
32
+ "Intended Audience :: Education",
33
+ "Intended Audience :: Science/Research",
34
+ "License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)",
35
+ "Operating System :: POSIX",
36
+ "Operating System :: MacOS :: MacOS X",
37
+ "Programming Language :: Python :: 3 :: Only",
38
+ "Programming Language :: Python :: 3.8",
39
+ "Programming Language :: Python :: 3.9",
40
+ "Programming Language :: Python :: 3.10",
41
+ "Programming Language :: Python :: 3.11",
42
+ "Programming Language :: Python :: Implementation :: CPython",
43
+ "Topic :: Scientific/Engineering :: Mathematics",
44
+ ]
45
+ urls = {Homepage = "https://www.sagemath.org"}
46
+ requires-python = ">=3.8, <3.12"
47
+ dependencies = [
48
+ esyscmd ( `sage-get-system-packages install-requires-toml \
49
+ sage_conf \
50
+ six \
51
+ ' )
52
+ dnl From build/pkgs/sagelib/dependencies
53
+ esyscmd ( `sage-get-system-packages install-requires-toml \
54
+ cypari \
55
+ cysignals \
56
+ cython \
57
+ gmpy2 \
58
+ jinja2 \
59
+ jupyter_core \
60
+ lrcalc_python \
61
+ memory_allocator \
62
+ numpy \
63
+ pkgconfig \
64
+ pplpy \
65
+ primecountpy \
66
+ requests \
67
+ ' )
68
+ dnl From Makefile.in: SAGERUNTIME
69
+ esyscmd ( `sage-get-system-packages install-requires-toml \
70
+ ipython \
71
+ pexpect \
72
+ ' )
73
+ dnl From Makefile.in: DOC_DEPENDENCIES
74
+ esyscmd ( `sage-get-system-packages install-requires-toml \
75
+ sphinx \
76
+ networkx \
77
+ scipy \
78
+ sympy \
79
+ matplotlib \
80
+ pillow \
81
+ mpmath \
82
+ ipykernel \
83
+ jupyter_client \
84
+ ipywidgets \
85
+ ' )
86
+ dnl Other Python packages that are standard spkg, used in doctests
87
+ esyscmd ( `sage-get-system-packages install-requires-toml \
88
+ fpylll \
89
+ ' )
90
+ dnl pycryptosat # Sage distribution installs it as part of cryptominisat. According to its README on https://pypi.org/project/pycryptosat/: "The pycryptosat python package compiles while compiling CryptoMiniSat. It cannot be compiled on its own, it must be compiled at the same time as CryptoMiniSat."
91
+ dnl Packages with important upper version bounds
92
+ esyscmd ( `sage-get-system-packages install-requires-toml \
93
+ ptyprocess \
94
+ ' )
95
+ ]
96
+
97
+ dynamic = [ "version"]
98
+
99
+ [ project.readme]
100
+ file = "README.rst"
101
+ content-type = "text/x-rst"
102
+
103
+ [ project.optional-dependencies]
104
+ r = [ esyscmd ( `sage-get-system-packages install-requires-toml rpy2' ) ]
105
+
106
+ [ tool.setuptools]
107
+ script-files = [
108
+ # The sage script
109
+ "bin/sage",
110
+ # Other scripts that should be in the path also for OS packaging of sage:
111
+ "bin/sage-eval",
112
+ # Included because it is useful for doctesting/coverage testing user scripts too:
113
+ "bin/sage-runtests",
114
+ "bin/sage-fixdoctests",
115
+ "bin/sage-coverage",
116
+ # The following is deprecated but might still be used in user package install scripts
117
+ "bin/sage-cython",
118
+ # Helper scripts invoked by sage script
119
+ # (they would actually belong to something like libexec)
120
+ "bin/sage-cachegrind",
121
+ "bin/sage-callgrind",
122
+ "bin/sage-massif",
123
+ "bin/sage-omega",
124
+ "bin/sage-valgrind",
125
+ "bin/sage-venv-config",
126
+ "bin/sage-version.sh",
127
+ "bin/sage-cleaner",
128
+ # Only makes sense in sage-the-distribution. TODO: Move to another installation script.
129
+ "bin/sage-list-packages",
130
+ # Uncategorized scripts in alphabetical order
131
+ "bin/math-readline",
132
+ "bin/sage-env",
133
+ # sage-env-config -- installed by sage_conf
134
+ # sage-env-config.in -- not to be installed
135
+ "bin/sage-grep",
136
+ "bin/sage-grepdoc",
137
+ "bin/sage-inline-fortran",
138
+ "bin/sage-ipynb2rst",
139
+ "bin/sage-ipython",
140
+ "bin/sage-notebook",
141
+ "bin/sage-num-threads.py",
142
+ "bin/sage-preparse",
143
+ "bin/sage-python",
144
+ "bin/sage-rebase.bat",
145
+ "bin/sage-rebase.sh",
146
+ "bin/sage-rebaseall.bat",
147
+ "bin/sage-rebaseall.sh",
148
+ "bin/sage-run",
149
+ "bin/sage-run-cython",
150
+ "bin/sage-startuptime.py",
151
+ "bin/sage-update-version",
152
+ ]
153
+ license-files = [ "LICENSE.txt"]
154
+ include-package-data = false
155
+
156
+ [ tool.setuptools.package-data]
157
+ "sage.libs.gap" = [ "sage.gaprc"]
158
+ "sage.interfaces" = [ "sage-maxima.lisp"]
159
+ "sage.doctest" = [ "tests/*"]
160
+ "sage.repl.rich_output" = [ "example*"]
161
+ sage = [
162
+ "ext_data/*",
163
+ "ext_data/kenzo/*",
164
+ "ext_data/singular/*",
165
+ "ext_data/singular/function_field/*",
166
+ "ext_data/images/*",
167
+ "ext_data/doctest/*",
168
+ "ext_data/doctest/invalid/*",
169
+ "ext_data/gap/*",
170
+ "ext_data/gap/joyner/*",
171
+ "ext_data/mwrank/*",
172
+ "ext_data/notebook-ipython/*",
173
+ "ext_data/nbconvert/*",
174
+ "ext_data/graphs/*",
175
+ "ext_data/pari/*",
176
+ "ext_data/pari/dokchitser/*",
177
+ "ext_data/pari/buzzard/*",
178
+ "ext_data/pari/simon/*",
179
+ "ext_data/magma/*",
180
+ "ext_data/magma/latex/*",
181
+ "ext_data/magma/sage/*",
182
+ "ext_data/valgrind/*",
183
+ "ext_data/threejs/*",
184
+ ]
185
+
186
+ [ tool.setuptools.dynamic]
187
+ version = {file = [ "VERSION.txt"] }
0 commit comments