3838# - git push
3939
4040[build-system ]
41- requires = [" setuptools >= 61" ]
4241build-backend = " setuptools.build_meta"
4342
43+ requires = [ " setuptools>=61" ]
44+
4445[project ]
4546name = " pyperformance"
46- dynamic = [" version" ]
47- license = {text = " MIT" }
4847description = " Python benchmark suite"
4948readme = " README.rst"
50- urls = {Homepage = " https://github.com/python/pyperformance" }
51- authors = [{name = " Collin Winter" }, {name = " Jeffrey Yasskin" }]
49+ license = { text = " MIT" }
50+ authors = [ { name = " Collin Winter" }, { name = " Jeffrey Yasskin" } ]
51+ requires-python = " >=3.9"
5252classifiers = [
53- ' Development Status :: 5 - Production/Stable' ,
54- ' Intended Audience :: Developers' ,
55- ' License :: OSI Approved :: MIT License' ,
56- ' Natural Language :: English' ,
57- ' Operating System :: OS Independent' ,
58- ' Programming Language :: Python :: 3' ,
59- ' Programming Language :: Python' ,
53+ " Development Status :: 5 - Production/Stable" ,
54+ " Intended Audience :: Developers" ,
55+ " License :: OSI Approved :: MIT License" ,
56+ " Natural Language :: English" ,
57+ " Operating System :: OS Independent" ,
58+ " Programming Language :: Python" ,
59+ " Programming Language :: Python :: 3 :: Only" ,
60+ " Programming Language :: Python :: 3.9" ,
61+ " Programming Language :: Python :: 3.10" ,
62+ " Programming Language :: Python :: 3.11" ,
63+ " Programming Language :: Python :: 3.12" ,
64+ " Programming Language :: Python :: 3.13" ,
65+ " Programming Language :: Python :: 3.14" ,
6066]
61- requires-python = " >=3.9 "
67+ dynamic = [ " version " ]
6268dependencies = [
63- " pyperf " ,
64- " tomli; python_version < '3.11' " ,
65- " packaging " ,
69+ " packaging " ,
70+ " pyperf " ,
71+ " tomli; python_version<'3.11' " ,
6672]
6773
68- [project .optional-dependencies ]
69- dev = [
70- ' tox' ,
71- ' mypy==1.2.0' ,
72- ' tomli' , # Needed even on 3.11+ for typechecking with mypy
74+ optional-dependencies.dev = [
75+ " mypy==1.2" ,
76+ " tomli" , # Needed even on 3.11+ for typechecking with mypy
77+ " tox" ,
7378]
74-
75- [project .scripts ]
76- pyperformance = " pyperformance.cli:main"
79+ urls = { Homepage = " https://github.com/python/pyperformance" }
80+ scripts.pyperformance = " pyperformance.cli:main"
7781
7882[tool .setuptools ]
7983include-package-data = true
8084
8185[tool .setuptools .packages ]
82- find = {} # Scanning implicit namespaces is active by default
86+ find = {} # Scanning implicit namespaces is active by default
8387
8488[tool .setuptools .dynamic ]
85- version = {attr = " pyperformance.__version__" }
89+ version = { attr = " pyperformance.__version__" }
90+
91+ [tool .ruff ]
92+ target-version = " py310"
93+
94+ exclude = [
95+ " pyperformance/data-files/" ,
96+ ]
97+
98+ lint.select = [
99+ " E" , # pycodestyle errors
100+ " F" , # pyflakes errors
101+ ]
102+ lint.ignore = [
103+ " E402" , # module level import not at top of file
104+ " E501" , # line too long
105+ " E701" , # multiple statements on one line (colon)
106+ " E722" , # do not use bare 'except'
107+ " E741" , # ambiguous variable name
108+ " F405" , # name may be undefined, or defined from star imports
109+ ]
110+
111+ [tool .pyproject-fmt ]
112+ max_supported_python = " 3.14"
86113
87114[tool .mypy ]
88115python_version = " 3.9"
@@ -94,38 +121,13 @@ warn_redundant_casts = true
94121warn_unused_ignores = true
95122warn_unused_configs = true
96123files = [
97- ' pyperformance/' ,
124+ ' pyperformance/' ,
98125]
99126exclude = [
100- ' pyperformance/data-files/' ,
101- ' pyperformance/tests/'
127+ ' pyperformance/data-files/' ,
128+ ' pyperformance/tests/' ,
102129]
103130
104131[[tool .mypy .overrides ]]
105132module = " pyperf"
106133ignore_missing_imports = true
107-
108- [tool .ruff ]
109- target-version = " py310"
110-
111- exclude = [
112- " pyperformance/data-files/" ,
113- ]
114-
115- [tool .ruff .lint ]
116- select = [
117- " E" , # pycodestyle errors
118- " F" , # pyflakes errors
119- ]
120-
121- ignore = [
122- " E402" , # module level import not at top of file
123- " E501" , # line too long
124- " E701" , # multiple statements on one line (colon)
125- " E722" , # do not use bare 'except'
126- " E741" , # ambiguous variable name
127- " F405" , # name may be undefined, or defined from star imports
128- ]
129-
130- [tool .pyproject-fmt ]
131- max_supported_python = " 3.14"
0 commit comments