Skip to content

Commit 12aabfb

Browse files
Modernize pyproject.toml configuration and formatting (#819)
Co-authored-by: cvanelteren <caspervanelteren@gmail.com>
1 parent feef770 commit 12aabfb

1 file changed

Lines changed: 77 additions & 77 deletions

File tree

‎pyproject.toml‎

Lines changed: 77 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,33 @@
1-
[build-system]
2-
requires = [
3-
"setuptools>=64",
4-
"setuptools_scm[toml]>=8",
5-
"wheel",
6-
]
7-
build-backend = "setuptools.build_meta"
8-
91
[project]
102
name = "ultraplot"
3+
description = "A succinct matplotlib wrapper for making beautiful, publication-quality graphics."
4+
readme = "README.rst"
5+
requires-python = ">=3.10,<3.15"
6+
license = "MIT"
7+
license-files = ["LICENSE"]
118
authors = [
12-
{name = "Casper van Elteren", email = "caspervanelteren@gmail.com"},
13-
{name = "Luke Davis", email = "lukelbd@gmail.com"},
9+
{ name = "Casper van Elteren", email = "caspervanelteren@gmail.com" },
10+
{ name = "Luke Davis", email = "lukelbd@gmail.com" },
1411
]
1512
maintainers = [
16-
{name = "Casper van Elteren", email = "caspervanelteren@gmail.com"},
17-
{name = "Matthew R. Becker", email = "becker.mr@gmail.com"},
13+
{ name = "Casper van Elteren", email = "caspervanelteren@gmail.com" },
14+
{ name = "Matthew R. Becker", email = "becker.mr@gmail.com" },
1815
]
19-
description = "A succinct matplotlib wrapper for making beautiful, publication-quality graphics."
20-
readme = "README.rst"
21-
requires-python = ">=3.10,<3.15"
22-
license = {text = "MIT"}
2316
classifiers = [
24-
"License :: OSI Approved :: MIT License",
25-
"Operating System :: OS Independent",
26-
"Intended Audience :: Science/Research",
27-
"Programming Language :: Python :: 3 :: Only",
28-
"Programming Language :: Python :: 3.10",
29-
"Programming Language :: Python :: 3.11",
30-
"Programming Language :: Python :: 3.12",
31-
"Programming Language :: Python :: 3.13",
32-
"Programming Language :: Python :: 3.14",
33-
"Framework :: Matplotlib",
17+
"Framework :: Matplotlib",
18+
"Intended Audience :: Science/Research",
19+
"Operating System :: OS Independent",
20+
"Programming Language :: Python :: 3 :: Only",
21+
"Programming Language :: Python :: 3.10",
22+
"Programming Language :: Python :: 3.11",
23+
"Programming Language :: Python :: 3.12",
24+
"Programming Language :: Python :: 3.13",
25+
"Programming Language :: Python :: 3.14",
3426
]
35-
dependencies= [
36-
"numpy>=1.26.0",
37-
"matplotlib>=3.9,<3.11",
38-
"typing-extensions; python_version < '3.12'",
27+
dependencies = [
28+
"matplotlib>=3.9,<3.11",
29+
"numpy>=1.26.0",
30+
"typing-extensions; python_version < '3.12'",
3931
]
4032
dynamic = ["version"]
4133

@@ -44,60 +36,68 @@ dynamic = ["version"]
4436
"Issue Tracker" = "https://github.com/ultraplot/ultraplot/issues"
4537
"Source Code" = "https://github.com/ultraplot/ultraplot"
4638

47-
[tool.setuptools]
48-
packages = {find = {exclude=["docs*", "baseline*", "logo*"]}}
49-
include-package-data = true
50-
51-
[tool.setuptools_scm]
52-
write_to = "ultraplot/_version.py"
53-
write_to_template = "__version__ = '{version}'\n"
54-
55-
[tool.ultraplot.core_versions]
56-
python = ["3.10", "3.11", "3.12", "3.13", "3.14"]
57-
matplotlib = ["3.9", "3.10"]
58-
59-
60-
[tool.ruff]
61-
ignore = ["I001", "I002", "I003", "I004"]
62-
63-
[tool.basedpyright]
64-
exclude = ["**/*.ipynb"]
65-
66-
[tool.pytest.ini_options]
67-
filterwarnings = [
68-
"ignore:'parseString' deprecated - use 'parse_string':DeprecationWarning:matplotlib._fontconfig_pattern",
69-
"ignore:'resetCache' deprecated - use 'reset_cache':DeprecationWarning:matplotlib._fontconfig_pattern",
70-
]
71-
mpl-default-style = { axes.prop_cycle = "cycler('color', ['#4c72b0ff', '#55a868ff', '#c44e52ff', '#8172b2ff', '#ccb974ff', '#64b5cdff'])" }
7239
[project.optional-dependencies]
7340
all = [
7441
"ultraplot[circos,docs,stats]",
7542
]
7643
circos = [
77-
"pycirclize>=1.10.1",
44+
"pycirclize>=1.10.1",
7845
]
7946
docs = [
80-
"jupyter",
81-
"jupytext",
82-
"lxml-html-clean",
83-
"markdown",
84-
"mpltern",
85-
"pycirclize>=1.10.1",
86-
# Floors below are the versions that work with Sphinx 9, which removed
87-
# sphinx.ext.autosummary.get_documenter. Without them pip is free to pair a
88-
# current Sphinx with an extension that cannot import it, and the build
89-
# dies with "Extension error (sphinx_automodapi.automodsumm)".
90-
"nbsphinx>=0.9.8", # 0.9.7 declares sphinx<8.2
91-
"sphinx",
92-
"sphinx-autoapi",
93-
"sphinx-automodapi>=0.22", # 0.19 imports the removed get_documenter
94-
"sphinx-copybutton",
95-
"sphinx-design>=0.7", # 0.6.1 declares sphinx<9
96-
"sphinx-gallery",
97-
"shibuya",
98-
"sphinx-sitemap",
99-
"typing-extensions"
47+
"jupyter",
48+
"jupytext",
49+
"lxml-html-clean",
50+
"markdown",
51+
"mpltern",
52+
# Floors below are the versions that work with Sphinx 9, which removed
53+
# sphinx.ext.autosummary.get_documenter. Without them pip is free to pair a
54+
# current Sphinx with an extension that cannot import it, and the build
55+
# dies with "Extension error (sphinx_automodapi.automodsumm)".
56+
"nbsphinx>=0.9.8", # 0.9.7 declares sphinx<8.2
57+
"sphinx",
58+
"sphinx-autoapi",
59+
"sphinx-automodapi>=0.22", # 0.19 imports the removed get_documenter
60+
"sphinx-copybutton",
61+
"sphinx-design>=0.7", # 0.6.1 declares sphinx<9
62+
"sphinx-gallery",
63+
"shibuya",
64+
"sphinx-sitemap",
65+
"typing-extensions"
10066
]
10167
stats = [
102-
"scipy",
68+
"scipy",
69+
]
70+
71+
[build-system]
72+
requires = [
73+
"setuptools>=80",
74+
"setuptools-scm>=8",
75+
]
76+
build-backend = "setuptools.build_meta"
77+
78+
[tool.basedpyright]
79+
exclude = ["**/*.ipynb"]
80+
81+
[tool.pytest.ini_options]
82+
filterwarnings = [
83+
"ignore:'parseString' deprecated - use 'parse_string':DeprecationWarning:matplotlib._fontconfig_pattern",
84+
"ignore:'resetCache' deprecated - use 'reset_cache':DeprecationWarning:matplotlib._fontconfig_pattern",
85+
]
86+
mpl-default-style = { axes.prop_cycle = "cycler('color', ['#4c72b0ff', '#55a868ff', '#c44e52ff', '#8172b2ff', '#ccb974ff', '#64b5cdff'])" }
87+
88+
[tool.ruff.lint]
89+
ignore = [
90+
"I", # isort (import order)
10391
]
92+
93+
[tool.setuptools]
94+
packages = { find = { exclude = ["docs*", "baseline*", "logo*"] } }
95+
include-package-data = true
96+
97+
[tool.setuptools_scm]
98+
version_file = "ultraplot/_version.py"
99+
version_file_template = "__version__ = '{version}'\n"
100+
101+
[tool.ultraplot.core_versions]
102+
python = ["3.10", "3.11", "3.12", "3.13", "3.14"]
103+
matplotlib = ["3.9", "3.10"]

0 commit comments

Comments
 (0)