-
-
Notifications
You must be signed in to change notification settings - Fork 491
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
pkgs/sage-{docbuild,setup,sws2rst}
: Migrate from setup.cfg
to pyproject.toml
#36562
Changes from 4 commits
d514d8d
6fa10e9
c67bd9a
2b94d8d
02799e4
0eef981
7da8834
815ce13
0c25b8f
784ecc8
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
[build-system] | ||
requires = ["setuptools>=61.2"] | ||
build-backend = "setuptools.build_meta" | ||
|
||
[project] | ||
name = "sage-docbuild" | ||
description = "Sage: Open Source Mathematics Software: Build system of the Sage documentation" | ||
license = {text = "GNU General Public License (GPL) v2 or later"} | ||
authors = [{name = "The Sage Developers", email = "sage-support@googlegroups.com"}] | ||
classifiers = [ | ||
"Development Status :: 6 - Mature", | ||
"Intended Audience :: Education", | ||
"Intended Audience :: Science/Research", | ||
"License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)", | ||
"Operating System :: POSIX", | ||
"Operating System :: MacOS :: MacOS X", | ||
"Programming Language :: Python :: 3 :: Only", | ||
"Programming Language :: Python :: 3.9", | ||
"Programming Language :: Python :: 3.10", | ||
"Programming Language :: Python :: 3.11", | ||
"Programming Language :: Python :: Implementation :: CPython", | ||
"Topic :: Scientific/Engineering :: Mathematics", | ||
] | ||
urls = {Homepage = "https://www.sagemath.org"} | ||
dependencies = ["sphinx"] | ||
dynamic = ["version"] | ||
|
||
[project.readme] | ||
file = "README.rst" | ||
content-type = "text/x-rst" | ||
|
||
[tool.setuptools] | ||
packages = [ | ||
"sage_docbuild", | ||
"sage_docbuild.ext", | ||
] | ||
include-package-data = false | ||
|
||
[tool.setuptools.dynamic] | ||
version = {file = ["VERSION.txt"]} |
This file was deleted.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
[build-system] | ||
requires = ["setuptools>=61.2"] | ||
build-backend = "setuptools.build_meta" | ||
|
||
[project] | ||
name = "sage-setup" | ||
description = "Sage: Open Source Mathematics Software: Build system of the Sage library" | ||
license = {text = "GNU General Public License (GPL) v2 or later"} | ||
authors = [{name = "The Sage Developers", email = "sage-support@googlegroups.com"}] | ||
classifiers = [ | ||
"Development Status :: 6 - Mature", | ||
"Intended Audience :: Education", | ||
"Intended Audience :: Science/Research", | ||
"License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)", | ||
"Operating System :: POSIX", | ||
"Operating System :: MacOS :: MacOS X", | ||
"Programming Language :: Python :: 3 :: Only", | ||
"Programming Language :: Python :: 3.9", | ||
"Programming Language :: Python :: 3.10", | ||
"Programming Language :: Python :: 3.11", | ||
"Programming Language :: Python :: Implementation :: CPython", | ||
"Topic :: Scientific/Engineering :: Mathematics", | ||
] | ||
urls = {Homepage = "https://www.sagemath.org"} | ||
requires-python = ">=3.9, <3.12" | ||
dependencies = [ | ||
"pkgconfig", | ||
"jinja2", | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. What about cython? I believe both jinja2 and cython are runtime dependencies. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The distributions that use Cython declare that in their build-system requires. I don't think we need it here. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. That's an argument for distribution to declare their use of jinja2 as well. And there is actually no call to pkgconfig in sage_setup. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Probably jinja2 should actually be an optional dependency (formerly known as extras-require) because only the packages that you sage_setup.autogen use it. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Good point about pkgconfig.
This comment was marked as duplicate.
Sorry, something went wrong. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. After modularization, there will be more uses, but I've made the change now. |
||
] | ||
dynamic = ["version"] | ||
|
||
[project.readme] | ||
file = "README.rst" | ||
content-type = "text/x-rst" | ||
|
||
[tool.setuptools] | ||
packages = [ | ||
"sage_setup", | ||
"sage_setup.autogen", | ||
"sage_setup.autogen.interpreters", | ||
"sage_setup.autogen.interpreters.specs", | ||
"sage_setup.command", | ||
] | ||
include-package-data = false | ||
|
||
[tool.setuptools.dynamic] | ||
version = {file = ["VERSION.txt"]} |
This file was deleted.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
[build-system] | ||
requires = ["setuptools>=61.2"] | ||
build-backend = "setuptools.build_meta" | ||
|
||
[project] | ||
name = "sage-sws2rst" | ||
description = "Sage: Open Source Mathematics Software: SageNB worksheet converter" | ||
license = {text = "GNU General Public License (GPL) v3 or later"} | ||
authors = [{name = "The Sage Developers", email = "sage-support@googlegroups.com"}] | ||
urls = {Homepage = "https://www.sagemath.org"} | ||
dynamic = ["version"] | ||
|
||
[project.readme] | ||
file = "README.rst" | ||
content-type = "text/x-rst" | ||
|
||
[tool.setuptools] | ||
script-files = ["bin/sage-sws2rst"] | ||
include-package-data = false | ||
|
||
[tool.setuptools.packages] | ||
find = {namespaces = false} | ||
|
||
[tool.setuptools.dynamic] | ||
version = {file = ["VERSION.txt"]} |
This file was deleted.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Doesn't sage_docbuild also depend on jupyter-sphinx?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we are treating the dependencies on Sphinx extensions (declared in sage_docbuild/conf.py) as belonging to sagemath_doc_html
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I understand the logic but I am not very comfortable with it. Part of me feels that if you are going that route, sphinx should be treated the same way. It is not needed at install either, I think.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A difference is that sphinx is imported by
sage_docbuild.sphinxbuild
.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I do not think I will argue with that one. Where to declare runtime dependency seems to be a bit unsettled.