11[build-system ]
2- requires = [
3- ' maturin>=1,<2' ,
4- ' typing-extensions >=4.6.0,!=4.7.0'
5- ]
2+ requires = [' maturin>=1,<2' , ' typing-extensions >=4.6.0,!=4.7.0' ]
63build-backend = ' maturin'
74
85[project ]
96name = ' pydantic_core'
107description = " Core functionality for Pydantic validation and serialization"
118requires-python = ' >=3.9'
12- authors = [
13- {
name =
' Samuel Colvin' ,
email =
' [email protected] ' }
14- ]
9+ authors = [{
name =
' Samuel Colvin' ,
email =
' [email protected] ' }]
1510classifiers = [
1611 ' Development Status :: 3 - Alpha' ,
1712 ' Programming Language :: Python' ,
@@ -32,23 +27,18 @@ classifiers = [
3227 ' Operating System :: MacOS' ,
3328 ' Typing :: Typed' ,
3429]
35- dependencies = [
36- ' typing-extensions >=4.6.0,!=4.7.0'
37- ]
38- dynamic = [
39- ' description' ,
40- ' license' ,
41- ' readme' ,
42- ' version'
43- ]
30+ dependencies = [' typing-extensions >=4.6.0,!=4.7.0' ]
31+ dynamic = [' description' , ' license' , ' readme' , ' version' ]
4432
4533[project .urls ]
4634Homepage = ' https://github.com/pydantic/pydantic-core'
4735Funding = ' https://github.com/sponsors/samuelcolvin'
4836Source = ' https://github.com/pydantic/pydantic-core'
4937
5038[dependency-groups ]
39+ dev = [" maturin" ]
5140testing = [
41+ { include-group = " dev" },
5242 ' backports.zoneinfo; python_version < "3.9"' ,
5343 ' coverage' ,
5444 ' dirty-equals' ,
@@ -70,26 +60,18 @@ testing = [
7060 ' tzdata' ,
7161 ' typing_extensions' ,
7262]
73- linting = [
74- ' griffe' ,
75- ' pyright' ,
76- ' ruff' ,
77- ' mypy' ,
78- ]
79- wasm = [
80- ' typing_extensions' ,
81- ' maturin>=1,<2' ,
82- ' ruff' ,
83- ]
63+ linting = [{ include-group = " dev" }, ' griffe' , ' pyright' , ' ruff' , ' mypy' ]
64+ wasm = [{ include-group = " dev" }, ' typing_extensions' , ' ruff' ]
8465codspeed = [
8566 # codspeed is only run on CI, with latest version of CPython
8667 ' pytest-codspeed; python_version == "3.13" and implementation_name == "cpython"' ,
8768]
8869
8970all = [
90- { include-group = ' testing' },
91- { include-group = ' linting' },
92- { include-group = ' wasm' },
71+ { include-group = " dev" },
72+ { include-group = ' testing' },
73+ { include-group = ' linting' },
74+ { include-group = ' wasm' },
9375]
9476
9577[tool .maturin ]
@@ -105,9 +87,9 @@ target-version = 'py39'
10587[tool .ruff .lint ]
10688extend-select = [' Q' , ' RUF100' , ' C90' , ' I' , ' UP' ]
10789extend-ignore = [
108- ' E721' , # using type() instead of isinstance() - we use this in tests
90+ ' E721' , # using type() instead of isinstance() - we use this in tests
10991]
110- flake8-quotes = {inline-quotes = ' single' , multiline-quotes = ' double' }
92+ flake8-quotes = { inline-quotes = ' single' , multiline-quotes = ' double' }
11193mccabe = { max-complexity = 13 }
11294isort = { known-first-party = [' pydantic_core' , ' tests' ] }
11395
@@ -130,10 +112,13 @@ timeout = 30
130112xfail_strict = true
131113# min, max, mean, stddev, median, iqr, outliers, ops, rounds, iterations
132114addopts = [
133- ' --benchmark-columns' , ' min,mean,stddev,outliers,rounds,iterations' ,
134- ' --benchmark-group-by' , ' group' ,
135- ' --benchmark-warmup' , ' on' ,
136- ' --benchmark-disable' , # this is enable by `make benchmark` when you actually want to run benchmarks
115+ ' --benchmark-columns' ,
116+ ' min,mean,stddev,outliers,rounds,iterations' ,
117+ ' --benchmark-group-by' ,
118+ ' group' ,
119+ ' --benchmark-warmup' ,
120+ ' on' ,
121+ ' --benchmark-disable' , # this is enable by `make benchmark` when you actually want to run benchmarks
137122]
138123
139124[tool .coverage .run ]
0 commit comments