Skip to content

Commit 13c3453

Browse files
committed
chore(deps): bump version to 0.1.5 and update ruff config
1 parent 30f9a2e commit 13c3453

2 files changed

Lines changed: 629 additions & 242 deletions

File tree

pyproject.toml

Lines changed: 114 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
[project]
22
name = "confdantic"
3-
version = "0.1.4"
3+
version = "0.1.5"
44
description = "Generate user-friendly configuration files from Pydantic models"
55
authors = [{ name = "zigai", email = "ziga.ivansek@gmail.com" }]
66
license = { file = "LICENSE" }
77
readme = "README.md"
88
requires-python = ">=3.10"
99
dependencies = [
1010
"json-with-comments>=1.0.0",
11-
"objinspect>=0.4.0",
11+
"objinspect>=0.4.2",
1212
"pydantic>=2.12.3",
1313
"ruamel-yaml>=0.18.6",
1414
"toml>=0.10.2",
@@ -54,8 +54,17 @@ keywords = [
5454
]
5555

5656
[project.optional-dependencies]
57-
test = ["pytest", "coverage"]
58-
dev = ["pytest", "coverage", "ruff", "pre-commit", "mypy", "codespell"]
57+
test = ["pytest>=9.0.2", "coverage>=7.13.5"]
58+
dev = [
59+
"pytest>=9.0.2",
60+
"coverage>=7.13.5",
61+
"ruff==0.15.8",
62+
"pre-commit>=4.5.1",
63+
"mypy>=1.19.1",
64+
"codespell>=2.4.2",
65+
"rattle-lint>=1.0.4",
66+
"rattle-blank-lines>=0.2.4",
67+
]
5968

6069
[project.urls]
6170
Repository = "https://github.com/zigai/confdantic"
@@ -109,86 +118,126 @@ warn_unused_configs = true
109118
strict_equality = true
110119
ignore_missing_imports = true
111120

121+
[tool.codespell]
122+
skip = '.git,uv.lock'
123+
124+
[tool.rattle]
125+
root = true
126+
enable = ["rattle_blank_lines.rules"]
127+
disable = ["rattle.rules"]
128+
112129
[tool.ruff]
113130
line-length = 100
114131

115132
[tool.ruff.lint]
116-
select = [
117-
"F", # Pyflakes
118-
"E", # Pycodestyle (Error)
119-
'I', # isort
120-
'D', # pydocstyle
121-
'D213', # pydocstyle
122-
'UP', # pyupgrade
123-
'YTT', # flake8-2020
124-
'B', # flake8-bugbear
125-
"PLE", # pylint
126-
'PYI006',
127-
'PYI019',
128-
'PYI024',
129-
'PYI030',
130-
'PYI062',
131-
'PYI063',
132-
'PYI066',
133-
"RUF001",
134-
"RUF002",
135-
"RUF003",
136-
"RUF005",
137-
"RUF006",
138-
"RUF012",
139-
"RUF013",
140-
"RUF016",
141-
"RUF017",
142-
"RUF018",
143-
"RUF019",
144-
"RUF020",
145-
"RUF021",
146-
"RUF024",
147-
"RUF026",
148-
"RUF030",
149-
"RUF032",
150-
"RUF033",
151-
"RUF034",
152-
"TRY002",
153-
"TRY004",
154-
"TRY201",
155-
"TRY300",
156-
"TRY301",
157-
"TRY400",
158-
"PERF101",
159-
"RET503",
160-
"LOG001",
161-
"LOG002",
162-
]
133+
select = ["ALL"]
163134
ignore = [
135+
"ERA",
136+
"FBT002",
137+
"COM",
138+
"CPY",
139+
"DJ",
140+
"ANN003",
141+
"FIX",
164142
"D100",
165143
"D101",
166144
"D102",
167145
"D103",
168146
"D104",
169-
'D105',
170-
'D106',
171-
'D107',
172-
'D205',
147+
"D105",
148+
"D106",
149+
"D107",
150+
"D205",
151+
"D203",
173152
"D212",
174-
'D415',
175-
'E501',
176-
'B011',
177-
'B028',
178-
'B904',
179-
'PIE804',
180-
"N802",
181-
"N803",
153+
"E501",
154+
"PIE804",
155+
"S101",
156+
"EM101",
157+
"PYI041",
158+
"PYI051",
159+
"PYI046",
160+
"PYI047",
161+
"PYI049",
162+
"PYI053",
163+
"PYI054",
164+
"RET501",
165+
"SIM910",
166+
"N812",
167+
"PLC0415",
168+
"PLR0904",
169+
"PLR0913",
170+
"PLR2004",
171+
"PLR1711",
172+
"TRY003",
173+
"T20",
174+
"SIM105",
175+
"RET504",
176+
"PLR0912",
177+
"PLR0915",
178+
"SIM105",
179+
"TD",
180+
"TC001",
181+
"TC002",
182+
"TC003",
183+
"TC006",
184+
"PLW0603",
185+
"EM102",
186+
"PLW2901",
187+
"RSE102",
188+
"PGH004",
182189
"N806",
183-
"UP007",
190+
"FBT001",
184191
]
185-
exclude = ["build", "tests/**"]
192+
exclude = ["build"]
186193

187194
[tool.ruff.lint.per-file-ignores]
188195
"__init__.py" = [
189196
"F401", # Unused import
190197
"E402", # Module import not at top of file
191198
]
199+
"**/tests/**/*.py" = [
200+
"S104",
201+
"S105",
202+
"S106",
203+
"TRY004",
204+
"RUF003",
205+
"RUF012",
206+
"UP031",
207+
"SLF001",
208+
"ARG",
209+
"N806",
210+
"ANN001",
211+
"ANN201",
212+
"ANN202",
213+
"ANN204",
214+
"ANN401",
215+
"S",
216+
"SLF001",
217+
"INP001",
218+
"PLW0108",
219+
"EM102",
220+
"FBT001",
221+
"SIM300",
222+
]
223+
"examples/*.py" = ["INP001"]
224+
225+
[tool.ruff.lint.pep8-naming]
226+
classmethod-decorators = [
227+
"pydantic.validator",
228+
"declared_attr",
229+
"expression",
230+
"comparator",
231+
]
232+
233+
[tool.ruff.lint.flake8-builtins]
234+
ignorelist = ["id", "input"]
235+
236+
[tool.ruff.lint.flake8-type-checking]
237+
runtime-evaluated-base-classes = [
238+
"pydantic.BaseModel",
239+
"sqlalchemy.orm.DeclarativeBase",
240+
]
192241

193242
[tool.ruff.format]
194243
quote-style = "double"
@@ -201,6 +250,3 @@ known-first-party = ["confdantic", "tests"]
201250

202251
[tool.ruff.lint.pydocstyle]
203252
convention = "google"
204-
205-
[tool.codespell]
206-
skip = '.git,uv.lock'

0 commit comments

Comments
 (0)