stdl 0.6.8__tar.gz → 0.6.9__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. {stdl-0.6.8 → stdl-0.6.9}/PKG-INFO +1 -1
  2. {stdl-0.6.8 → stdl-0.6.9}/pyproject.toml +129 -101
  3. {stdl-0.6.8 → stdl-0.6.9}/stdl/color.py +97 -85
  4. {stdl-0.6.8 → stdl-0.6.9}/stdl/decorators.py +5 -8
  5. {stdl-0.6.8 → stdl-0.6.9}/stdl/dt.py +53 -48
  6. {stdl-0.6.8 → stdl-0.6.9}/stdl/fs.py +147 -115
  7. {stdl-0.6.8 → stdl-0.6.9}/stdl/import_lazy.py +26 -19
  8. {stdl-0.6.8 → stdl-0.6.9}/stdl/log.py +8 -6
  9. stdl-0.6.9/stdl/lst.py +166 -0
  10. {stdl-0.6.8 → stdl-0.6.9}/stdl/net.py +2 -2
  11. {stdl-0.6.8 → stdl-0.6.9}/stdl/st.py +41 -47
  12. {stdl-0.6.8 → stdl-0.6.9}/tests/test_color.py +9 -9
  13. {stdl-0.6.8 → stdl-0.6.9}/tests/test_decorators.py +7 -4
  14. {stdl-0.6.8 → stdl-0.6.9}/tests/test_dt.py +5 -7
  15. {stdl-0.6.8 → stdl-0.6.9}/tests/test_fs.py +39 -39
  16. stdl-0.6.9/tests/test_lst.py +27 -0
  17. {stdl-0.6.8 → stdl-0.6.9}/tests/test_pydantic_integration.py +8 -3
  18. {stdl-0.6.8 → stdl-0.6.9}/tests/test_st.py +11 -1
  19. {stdl-0.6.8 → stdl-0.6.9}/uv.lock +3 -1
  20. stdl-0.6.8/stdl/lst.py +0 -166
  21. stdl-0.6.8/tests/test_lst.py +0 -25
  22. {stdl-0.6.8 → stdl-0.6.9}/.editorconfig +0 -0
  23. {stdl-0.6.8 → stdl-0.6.9}/.github/workflows/lint.yml +0 -0
  24. {stdl-0.6.8 → stdl-0.6.9}/.github/workflows/publish.yml +0 -0
  25. {stdl-0.6.8 → stdl-0.6.9}/.github/workflows/test.yml +0 -0
  26. {stdl-0.6.8 → stdl-0.6.9}/.gitignore +0 -0
  27. {stdl-0.6.8 → stdl-0.6.9}/.pre-commit-config.yaml +0 -0
  28. {stdl-0.6.8 → stdl-0.6.9}/.python-version +0 -0
  29. {stdl-0.6.8 → stdl-0.6.9}/.readthedocs.yml +0 -0
  30. {stdl-0.6.8 → stdl-0.6.9}/CONTRIBUTING.md +0 -0
  31. {stdl-0.6.8 → stdl-0.6.9}/Justfile +0 -0
  32. {stdl-0.6.8 → stdl-0.6.9}/LICENSE +0 -0
  33. {stdl-0.6.8 → stdl-0.6.9}/README.md +0 -0
  34. {stdl-0.6.8 → stdl-0.6.9}/docs/index.md +0 -0
  35. {stdl-0.6.8 → stdl-0.6.9}/docs/reference/color.md +0 -0
  36. {stdl-0.6.8 → stdl-0.6.9}/docs/reference/decorators.md +0 -0
  37. {stdl-0.6.8 → stdl-0.6.9}/docs/reference/dt.md +0 -0
  38. {stdl-0.6.8 → stdl-0.6.9}/docs/reference/fs.md +0 -0
  39. {stdl-0.6.8 → stdl-0.6.9}/docs/reference/import_lazy.md +0 -0
  40. {stdl-0.6.8 → stdl-0.6.9}/docs/reference/log.md +0 -0
  41. {stdl-0.6.8 → stdl-0.6.9}/docs/reference/net.md +0 -0
  42. {stdl-0.6.8 → stdl-0.6.9}/docs/reference/st.md +0 -0
  43. {stdl-0.6.8 → stdl-0.6.9}/docs/requirements.txt +0 -0
  44. {stdl-0.6.8 → stdl-0.6.9}/mkdocs.yml +0 -0
  45. {stdl-0.6.8 → stdl-0.6.9}/stdl/__init__.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: stdl
3
- Version: 0.6.8
3
+ Version: 0.6.9
4
4
  Summary: Extended Python Standard Library
5
5
  Project-URL: Repository, https://github.com/zigai/stdl
6
6
  Project-URL: Issues, https://github.com/zigai/stdl/issues
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "stdl"
3
- version = "0.6.8"
3
+ version = "0.6.9"
4
4
  description = "Extended Python Standard Library"
5
5
  authors = [{ name = "Žiga Ivanšek", email = "ziga.ivansek@gmail.com" }]
6
6
  license = { file = "LICENSE" }
@@ -70,106 +70,6 @@ build-backend = "hatchling.build"
70
70
  [tool.hatch.build.targets.wheel]
71
71
  packages = ["stdl"]
72
72
 
73
- [tool.ruff]
74
- line-length = 100
75
-
76
- [tool.ruff.lint]
77
- select = [
78
- "F", # Pyflakes
79
- "E", # Pycodestyle (Error)
80
- 'I', # isort
81
- 'D', # pydocstyle
82
- 'D213', # pydocstyle
83
- 'UP', # pyupgrade
84
- 'YTT', # flake8-2020
85
- 'B', # flake8-bugbear
86
- "PLE", # pylint
87
- 'PYI006', # flake8-pyi
88
- 'PYI019', # flake8-pyi
89
- 'PYI024', # flake8-pyi
90
- 'PYI030', # flake8-pyi
91
- 'PYI062', # flake8-pyi
92
- 'PYI063', # flake8-pyi
93
- 'PYI066', # flake8-pyi
94
- "RUF001",
95
- "RUF002",
96
- "RUF003",
97
- "RUF005",
98
- "RUF006",
99
- "RUF012",
100
- "RUF013",
101
- "RUF016",
102
- "RUF017",
103
- "RUF018",
104
- "RUF019",
105
- "RUF020",
106
- "RUF021",
107
- "RUF024",
108
- "RUF026",
109
- "RUF030",
110
- "RUF032",
111
- "RUF033",
112
- "RUF034",
113
- "TRY002",
114
- "TRY004",
115
- "TRY201",
116
- "TRY300",
117
- "TRY301",
118
- "TRY400",
119
- "PERF101",
120
- "RET503",
121
- "LOG001",
122
- "LOG002",
123
- ]
124
- ignore = [
125
- "D100",
126
- "D101",
127
- "D102",
128
- "D103",
129
- "D104",
130
- 'D105',
131
- 'D106',
132
- 'D107',
133
- 'D205',
134
- "D212",
135
- 'D415',
136
- 'E501',
137
- 'B011',
138
- 'B028',
139
- 'B904',
140
- 'PIE804',
141
- "N802",
142
- "N803",
143
- "N806",
144
- "UP007",
145
- "UP038",
146
- ]
147
- exclude = ["build", "tests/**"]
148
-
149
- [tool.ruff.lint.per-file-ignores]
150
- "__init__.py" = [
151
- "F401", # Unused import
152
- "E402", # Module import not at top of file
153
- ]
154
- "stdl/color.py" = [
155
- "E741", # Ambiguous variable name 'l' (used for lightness in HSL color space)
156
- ]
157
- "stdl/lst.py" = [
158
- "E741", # Ambiguous variable name 'l' (used as list parameter name)
159
- ]
160
-
161
- [tool.ruff.format]
162
- quote-style = "double"
163
- indent-style = "space"
164
- skip-magic-trailing-comma = false
165
- line-ending = "lf"
166
-
167
- [tool.ruff.lint.isort]
168
- known-first-party = ["stdl", "tests"]
169
-
170
- [tool.ruff.lint.pydocstyle]
171
- convention = "google"
172
-
173
73
  [tool.codespell]
174
74
  skip = '.git,uv.lock'
175
75
 
@@ -212,3 +112,131 @@ warn_return_any = true
212
112
  warn_unused_configs = true
213
113
  strict_equality = true
214
114
  ignore_missing_imports = true
115
+
116
+ [tool.ruff]
117
+ line-length = 100
118
+
119
+ [tool.ruff.lint]
120
+ select = ["ALL"]
121
+ ignore = [
122
+ "ERA",
123
+ "FBT002",
124
+ "COM",
125
+ "CPY",
126
+ "DJ",
127
+ "ANN003",
128
+ "FIX",
129
+ "D100",
130
+ "D101",
131
+ "D102",
132
+ "D103",
133
+ "D104",
134
+ "D105",
135
+ "D106",
136
+ "D107",
137
+ "D205",
138
+ "D203",
139
+ "D212",
140
+ "E501",
141
+ "PIE804",
142
+ "S101",
143
+ "EM101",
144
+ "PYI041",
145
+ "PYI051",
146
+ "PYI046",
147
+ "PYI047",
148
+ "PYI049",
149
+ "PYI053",
150
+ "PYI054",
151
+ "RET501",
152
+ "SIM910",
153
+ "N812",
154
+ "PLC0415",
155
+ "PLR0904",
156
+ "PLR0913",
157
+ "PLR2004",
158
+ "PLR1711",
159
+ "TRY003",
160
+ "T20",
161
+ "SIM105",
162
+ "RET504",
163
+ "PLR0912",
164
+ "PLR0915",
165
+ "SIM105",
166
+ "TD",
167
+ "TC001",
168
+ "TC002",
169
+ "TC003",
170
+ "TC006",
171
+ "PLW0603",
172
+ "EM102",
173
+ "PLW2901",
174
+ "RSE102",
175
+ "PGH004",
176
+ "N806",
177
+ "FBT001",
178
+ "PTH",
179
+ "S310",
180
+ ]
181
+ exclude = ["build"]
182
+
183
+ [tool.ruff.lint.per-file-ignores]
184
+ "__init__.py" = [
185
+ "F401", # Unused import
186
+ "E402", # Module import not at top of file
187
+ ]
188
+ "**/tests/**/*.py" = [
189
+ "S104",
190
+ "S105",
191
+ "S106",
192
+ "TRY004",
193
+ "RUF003",
194
+ "RUF012",
195
+ "UP031",
196
+ "SLF001",
197
+ "ARG",
198
+ "N806",
199
+ "ANN001",
200
+ "ANN201",
201
+ "ANN202",
202
+ "ANN204",
203
+ "ANN401",
204
+ "S",
205
+ "SLF001",
206
+ "INP001",
207
+ "PLW0108",
208
+ "EM102",
209
+ "FBT001",
210
+ "SIM300",
211
+ "DTZ001",
212
+ ]
213
+ "examples/*.py" = ["INP001"]
214
+
215
+ [tool.ruff.lint.pep8-naming]
216
+ classmethod-decorators = [
217
+ "pydantic.validator",
218
+ "declared_attr",
219
+ "expression",
220
+ "comparator",
221
+ ]
222
+
223
+ [tool.ruff.lint.flake8-builtins]
224
+ ignorelist = ["id", "input"]
225
+
226
+ [tool.ruff.lint.flake8-type-checking]
227
+ runtime-evaluated-base-classes = [
228
+ "pydantic.BaseModel",
229
+ "sqlalchemy.orm.DeclarativeBase",
230
+ ]
231
+
232
+ [tool.ruff.format]
233
+ quote-style = "double"
234
+ indent-style = "space"
235
+ skip-magic-trailing-comma = false
236
+ line-ending = "lf"
237
+
238
+ [tool.ruff.lint.isort]
239
+ known-first-party = ["stdl", "tests"]
240
+
241
+ [tool.ruff.lint.pydocstyle]
242
+ convention = "google"