@@ -44,14 +44,14 @@ i18n = [
44
44
" babel >=2.13.0"
45
45
]
46
46
test = [
47
- " pytest >=7.2 .0, <7.5 .0" ,
48
- " pytest-asyncio >=0.20.2 , <0.24 .0" ,
49
- " mypy ==1.10 .0" ,
50
- " ruff ==0.4.8 " ,
51
- " black ==24.4.2 " ,
52
- " httpx >=0.23.3, <0.27 .0" ,
47
+ " pytest >=8.3 .0, <8.4 .0" ,
48
+ " pytest-asyncio >=0.24.0 , <0.25 .0" ,
49
+ " mypy ==1.13 .0" ,
50
+ " ruff ==0.7.1 " ,
51
+ " black ==24.10.0 " ,
52
+ " httpx >=0.23.3, <0.28 .0" ,
53
53
" SQLAlchemy-Utils >=0.40.0, <0.42.0" ,
54
- " sqlmodel >=0.0.11, <0.15 .0" ,
54
+ " sqlmodel >=0.0.11, <0.1 .0" ,
55
55
" arrow >=1.2.3, <1.4.0" ,
56
56
" colour >=0.1.5, <0.2.0" ,
57
57
" phonenumbers >=8.13.3, <8.14.0" ,
@@ -62,27 +62,26 @@ test = [
62
62
" PyMySQL[rsa] >=1.0.2, <1.2.0" ,
63
63
" psycopg2-binary >=2.9.5, <3.0.0" ,
64
64
" aiosqlite >=0.17.0, <0.21.0" ,
65
- " asyncpg >=0.27.0, <0.30 .0" ,
65
+ " asyncpg >=0.27.0, <0.31 .0" ,
66
66
" aiomysql >=0.1.1, <0.3.0" ,
67
- " mongoengine >=0.25.0, <0.29.0" ,
68
- " odmantic >=0.9.0,<0.10.0" ,
67
+ " mongoengine >=0.25.0, <0.30.0" ,
69
68
" tinydb >=4.7.0, <4.9.0" ,
70
- " Pillow >=9.4.0, <9.6 .0" ,
69
+ " Pillow >=9.4.0, <11.1 .0" ,
71
70
" itsdangerous >=2.2.0, <2.3.0" ,
72
- " pydantic[email] >=1.10.2, <2.8 .0" ,
71
+ " pydantic[email] >=1.10.2, <2.10 .0" ,
73
72
]
74
73
cov = [
75
- " coverage[toml] >=7.0.0, <7.4 .0"
74
+ " coverage[toml] >=7.0.0, <7.7 .0"
76
75
]
77
76
doc = [
78
77
" mkdocs >=1.4.2, <2.0.0" ,
79
78
" mkdocs-material >=9.0.0, <10.0.0" ,
80
- " mkdocstrings[python] >=0.19.0, <0.26 .0" ,
79
+ " mkdocstrings[python] >=0.19.0, <0.27 .0" ,
81
80
" mkdocs-static-i18n >=1.2.3, <1.3"
82
81
]
83
82
dev = [
84
- " pre-commit >=2.20.0, <4.0 .0" ,
85
- " uvicorn >=0.20.0, <0.31 .0" ,
83
+ " pre-commit >=2.20.0, <4.1 .0" ,
84
+ " uvicorn >=0.20.0, <0.33 .0" ,
86
85
]
87
86
88
87
[tool .hatch .envs .default ]
@@ -120,11 +119,12 @@ sqla_version = ["sqla14", "sqla2"]
120
119
[tool .hatch .envs .test .overrides ]
121
120
matrix.sqla_version.dependencies = [
122
121
{ value = " SQLAlchemy[asyncio] >=2.0, <2.1" , if = [" sqla2" ] },
122
+ { value = " odmantic >=1.0.0,<1.1.0" , if = [" sqla2" ] },
123
123
{ value = " SQLAlchemy[asyncio] >=1.4, <1.5" , if = [" sqla14" ] },
124
124
]
125
125
matrix.sqla_version.scripts = [
126
- { key = " all" , value = ' coverage run -m pytest tests --ignore=tests/odmantic' , if = [" sqla2 " ] },
127
- { key = " sqla" , value = ' coverage run -m pytest tests/sqla --ignore=tests/odmantic' , if = [" sqla2 " ] },
126
+ { key = " all" , value = ' coverage run -m pytest tests --ignore=tests/odmantic' , if = [" sqla14 " ] },
127
+ { key = " sqla" , value = ' coverage run -m pytest tests/sqla --ignore=tests/odmantic' , if = [" sqla14 " ] },
128
128
]
129
129
130
130
[tool .hatch .envs .cov ]
@@ -180,6 +180,14 @@ parallel = true
180
180
concurrency = [" thread" , " greenlet" ]
181
181
source = [" starlette_admin" , " tests" ]
182
182
183
+ [tool .pytest ]
184
+ asyncio_mode = " auto"
185
+
186
+ [tool .pytest .ini_options ]
187
+ asyncio_mode =" auto"
188
+ asyncio_default_fixture_loop_scope =" function"
189
+
190
+
183
191
[tool .ruff ]
184
192
lint.select = [
185
193
" B" , # flake8-bugbear
@@ -217,7 +225,7 @@ known-third-party = ["starlette_admin"]
217
225
[tool .ruff .lint .per-file-ignores ]
218
226
"__init__.py" = [" F401" , " PLC0414" ]
219
227
"examples/**" = [" N805" , " N999" , " RUF012" ]
220
- "tests/**" = [" RUF012" ]
228
+ "tests/**" = [" RUF012" , " SIM115 " ]
221
229
222
230
[tool .mypy ]
223
231
disallow_untyped_defs = true
@@ -236,6 +244,7 @@ module = [
236
244
" starlette_admin.contrib.sqla.helpers" ,
237
245
" starlette_admin.contrib.sqla.view" ,
238
246
" starlette_admin.contrib.odmantic.helpers" ,
247
+ " starlette_admin.contrib.odmantic.view"
239
248
]
240
249
warn_unused_ignores = false
241
250
0 commit comments