Skip to content

Commit ad52b86

Browse files
author
Matthias Koeppe
committed
Merge branch 'sagemath_categories_pyproject_toml' into sagemath_bliss_pyproject_toml
2 parents 375796c + 3f236fe commit ad52b86

File tree

9 files changed

+198
-177
lines changed

9 files changed

+198
-177
lines changed

m4/pyproject_toml_metadata.m4

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
dnl Standard metadata of SageMath distribution packages
2+
dnl
3+
license = {text = "GNU General Public License (GPL) v2 or later"}
4+
authors = [{name = "The Sage Developers", email = "[email protected]"}]
5+
classifiers = [
6+
"Development Status :: 6 - Mature",
7+
"Intended Audience :: Education",
8+
"Intended Audience :: Science/Research",
9+
"License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)",
10+
"Operating System :: POSIX",
11+
"Operating System :: MacOS :: MacOS X",
12+
"Programming Language :: Python :: 3 :: Only",
13+
"Programming Language :: Python :: 3.9",
14+
"Programming Language :: Python :: 3.10",
15+
"Programming Language :: Python :: 3.11",
16+
"Programming Language :: Python :: Implementation :: CPython",
17+
"Topic :: Scientific/Engineering :: Mathematics",
18+
]
19+
urls = {Homepage = "https://www.sagemath.org"}
20+
requires-python = ">=3.9, <3.12"

pkgs/sagemath-categories/pyproject.toml.m4

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,27 @@ requires = [
1212
SPKG_INSTALL_REQUIRES_cysignals
1313
]
1414
build-backend = "setuptools.build_meta"
15+
16+
[project]
17+
name = "sagemath-categories"
18+
description = "Sage: Open Source Mathematics Software: Sage categories and basic rings"
19+
dependencies = [
20+
SPKG_INSTALL_REQUIRES_sagemath_objects
21+
]
22+
dynamic = ["version"]
23+
include(`pyproject_toml_metadata.m4')dnl'
24+
25+
[project.optional-dependencies]
26+
test = [
27+
SPKG_INSTALL_REQUIRES_sagemath_repl
28+
]
29+
30+
[project.readme]
31+
file = "README.rst"
32+
content-type = "text/x-rst"
33+
34+
[tool.setuptools]
35+
include-package-data = false
36+
37+
[tool.setuptools.dynamic]
38+
version = {file = ["VERSION.txt"]}

pkgs/sagemath-categories/setup.cfg.m4

Lines changed: 0 additions & 16 deletions
This file was deleted.

pkgs/sagemath-environment/pyproject.toml.m4

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,57 @@ requires = [
66
SPKG_INSTALL_REQUIRES_wheel
77
]
88
build-backend = "setuptools.build_meta"
9+
10+
[project]
11+
name = "sagemath-environment"
12+
description = "Sage: Open Source Mathematics Software: System and software environment"
13+
dependencies = []
14+
dynamic = ["version"]
15+
include(`pyproject_toml_metadata.m4')dnl'
16+
17+
[project.optional-dependencies]
18+
conf = [SPKG_INSTALL_REQUIRES_sage_conf] # sage.env can optionally use sage_conf
19+
docbuild = [SPKG_INSTALL_REQUIRES_sage_docbuild] # For "sage --docbuild"
20+
sage = [SPKG_INSTALL_REQUIRES_sagelib] # For "sage", "sage -t", ...
21+
cython = [SPKG_INSTALL_REQUIRES_cython] # For "sage --cython"
22+
pytest = [SPKG_INSTALL_REQUIRES_pytest] # For "sage --pytest"
23+
rst2ipynb = [SPKG_INSTALL_REQUIRES_rst2ipynb] # For "sage --rst2ipynb"
24+
tox = [SPKG_INSTALL_REQUIRES_tox] # For "sage --tox"
25+
sws2rst = [SPKG_INSTALL_REQUIRES_sage_sws2rst] # For "sage --sws2rst"
26+
27+
[project.readme]
28+
file = "README.rst"
29+
content-type = "text/x-rst"
30+
31+
[tool.setuptools]
32+
py-modules = [
33+
"sage.all__sagemath_environment",
34+
"sage.env",
35+
"sage.version",
36+
"sage.misc.all__sagemath_environment",
37+
"sage.misc.package",
38+
"sage.misc.package_dir",
39+
"sage.misc.temporary_file",
40+
"sage.misc.viewer",
41+
]
42+
packages = ["sage.features"]
43+
script-files = [
44+
# The sage script
45+
"bin/sage",
46+
# Auxiliary scripts for setting up the environment
47+
"bin/sage-env",
48+
"bin/sage-num-threads.py",
49+
"bin/sage-venv-config",
50+
"bin/sage-version.sh",
51+
# Auxiliary script for invoking Python in the Sage environment
52+
"bin/sage-python",
53+
# Not included:
54+
# - bin/sage-env-config -- installed by sage_conf
55+
# - bin/sage-env-config.in -- not to be installed
56+
# - bin/sage-run, bin/sage-runtests, ... -- installed by sagemath-repl
57+
# - bin/sage-ipython -- uses sage.repl, so installed by sagemath-repl
58+
]
59+
include-package-data = false
60+
61+
[tool.setuptools.dynamic]
62+
version = {file = ["VERSION.txt"]}

pkgs/sagemath-environment/setup.cfg.m4

Lines changed: 0 additions & 66 deletions
This file was deleted.

pkgs/sagemath-objects/pyproject.toml.m4

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,37 @@ requires = [
1111
SPKG_INSTALL_REQUIRES_cysignals
1212
]
1313
build-backend = "setuptools.build_meta"
14+
15+
[project]
16+
name = "sagemath-objects"
17+
description = "Sage: Open Source Mathematics Software: Sage objects, elements, parents, categories, coercion, metaclasses"
18+
dependencies = [
19+
SPKG_INSTALL_REQUIRES_gmpy2
20+
SPKG_INSTALL_REQUIRES_cysignals
21+
]
22+
dynamic = ["version"]
23+
include(`pyproject_toml_metadata.m4')dnl'
24+
25+
[project.optional-dependencies]
26+
# Currently we do not use the sage doctester to test sagemath-objects,
27+
# so we do not list sagemath-repl here.
28+
test = []
29+
30+
[project.readme]
31+
file = "README.rst"
32+
content-type = "text/x-rst"
33+
34+
[tool.setuptools]
35+
include-package-data = false
36+
37+
[tool.setuptools.dynamic]
38+
version = {file = ["VERSION.txt"]}
39+
40+
[tool.setuptools.package-data]
41+
"sage.cpython" = [
42+
"pyx_visit.h",
43+
"string_impl.h",
44+
"cython_metaclass.h",
45+
"python_debug.h",
46+
]
47+
"sage.rings" = ["integer_fake.h"]

pkgs/sagemath-objects/setup.cfg.m4

Lines changed: 0 additions & 31 deletions
This file was deleted.

pkgs/sagemath-repl/pyproject.toml.m4

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,69 @@ requires = [
66
SPKG_INSTALL_REQUIRES_wheel
77
]
88
build-backend = "setuptools.build_meta"
9+
10+
[project]
11+
name = "sagemath-repl"
12+
description = "Sage: Open Source Mathematics Software: IPython kernel, Sage preparser, doctester"
13+
dependencies = [
14+
SPKG_INSTALL_REQUIRES_sagemath_objects
15+
SPKG_INSTALL_REQUIRES_sagemath_environment
16+
SPKG_INSTALL_REQUIRES_ipython
17+
SPKG_INSTALL_REQUIRES_ipywidgets
18+
]
19+
dynamic = ["version"]
20+
include(`pyproject_toml_metadata.m4')dnl'
21+
22+
[project.readme]
23+
file = "README.rst"
24+
content-type = "text/x-rst"
25+
26+
[tool.setuptools]
27+
py-modules = [
28+
"sage.all__sagemath_repl",
29+
"sage.misc.all__sagemath_repl",
30+
"sage.misc.banner",
31+
"sage.misc.sagedoc",
32+
"sage.misc.sage_input",
33+
"sage.misc.sage_eval",
34+
]
35+
packages = [
36+
"sage.doctest",
37+
"sage.repl",
38+
"sage.repl.display",
39+
"sage.repl.ipython_kernel",
40+
"sage.repl.rich_output",
41+
]
42+
script-files = [
43+
# Other scripts that should be in the path also for OS packaging of sage:
44+
"bin/sage-eval",
45+
# Included because it is useful for doctesting/coverage testing user scripts too:
46+
"bin/sage-runtests",
47+
"bin/sage-fixdoctests",
48+
"bin/sage-coverage",
49+
# Helper scripts invoked by sage script
50+
# (they would actually belong to something like libexec)
51+
"bin/sage-cachegrind",
52+
"bin/sage-callgrind",
53+
"bin/sage-massif",
54+
"bin/sage-omega",
55+
"bin/sage-valgrind",
56+
"bin/sage-cleaner",
57+
# Uncategorized scripts in alphabetical order
58+
"bin/sage-inline-fortran",
59+
"bin/sage-ipynb2rst",
60+
"bin/sage-ipython",
61+
"bin/sage-notebook",
62+
"bin/sage-preparse",
63+
"bin/sage-run",
64+
"bin/sage-run-cython",
65+
"bin/sage-startuptime.py",
66+
]
67+
include-package-data = false
68+
69+
[tool.setuptools.dynamic]
70+
version = {file = ["VERSION.txt"]}
71+
72+
[tool.setuptools.package-data]
73+
"sage.doctest" = ["tests/*"]
74+
"sage.repl.rich_output" = ["example*"]

pkgs/sagemath-repl/setup.cfg.m4

Lines changed: 0 additions & 64 deletions
This file was deleted.

0 commit comments

Comments
 (0)