1
1
[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' ]
6
3
build-backend = ' maturin'
7
4
8
5
[project ]
9
6
name = ' pydantic_core'
10
7
description = " Core functionality for Pydantic validation and serialization"
11
8
requires-python = ' >=3.9'
12
- authors = [
13
- {name = ' Samuel Colvin' , email = ' s@muelcolvin.com' }
14
- ]
9
+ authors = [{ name = ' Samuel Colvin' , email = ' s@muelcolvin.com' }]
15
10
classifiers = [
16
11
' Development Status :: 3 - Alpha' ,
17
12
' Programming Language :: Python' ,
@@ -32,23 +27,18 @@ classifiers = [
32
27
' Operating System :: MacOS' ,
33
28
' Typing :: Typed' ,
34
29
]
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' ]
44
32
45
33
[project .urls ]
46
34
Homepage = ' https://github.com/pydantic/pydantic-core'
47
35
Funding = ' https://github.com/sponsors/samuelcolvin'
48
36
Source = ' https://github.com/pydantic/pydantic-core'
49
37
50
38
[dependency-groups ]
39
+ dev = [" maturin" ]
51
40
testing = [
41
+ { include-group = " dev" },
52
42
' backports.zoneinfo; python_version < "3.9"' ,
53
43
' coverage' ,
54
44
' dirty-equals' ,
@@ -70,26 +60,18 @@ testing = [
70
60
' tzdata' ,
71
61
' typing_extensions' ,
72
62
]
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' ]
84
65
codspeed = [
85
66
# codspeed is only run on CI, with latest version of CPython
86
67
' pytest-codspeed; python_version == "3.13" and implementation_name == "cpython"' ,
87
68
]
88
69
89
70
all = [
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' },
93
75
]
94
76
95
77
[tool .maturin ]
@@ -105,9 +87,9 @@ target-version = 'py39'
105
87
[tool .ruff .lint ]
106
88
extend-select = [' Q' , ' RUF100' , ' C90' , ' I' , ' UP' ]
107
89
extend-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
109
91
]
110
- flake8-quotes = {inline-quotes = ' single' , multiline-quotes = ' double' }
92
+ flake8-quotes = { inline-quotes = ' single' , multiline-quotes = ' double' }
111
93
mccabe = { max-complexity = 13 }
112
94
isort = { known-first-party = [' pydantic_core' , ' tests' ] }
113
95
@@ -130,10 +112,13 @@ timeout = 30
130
112
xfail_strict = true
131
113
# min, max, mean, stddev, median, iqr, outliers, ops, rounds, iterations
132
114
addopts = [
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
137
122
]
138
123
139
124
[tool .coverage .run ]
0 commit comments