11[project ]
22name = " taskiq-ydb"
3- version = " 0.3.1 "
3+ version = " 0.4.0 "
44description = " YDB integration for taskiq"
55readme = " README.md"
66license = " MIT"
@@ -14,7 +14,6 @@ classifiers = [
1414 " Programming Language :: Python" ,
1515 " Programming Language :: Python :: 3" ,
1616 " Programming Language :: Python :: 3 :: Only" ,
17- " Programming Language :: Python :: 3.9" ,
1817 " Programming Language :: Python :: 3.10" ,
1918 " Programming Language :: Python :: 3.11" ,
2019 " Programming Language :: Python :: 3.12" ,
@@ -31,10 +30,10 @@ keywords = ["taskiq", "tasks", "distributed", "async", "ydb"]
3130authors = [
3231 {name = " Anfimov Dima" , email = " lovesolaristics@gmail.com" }
3332]
34- requires-python = " >=3.9 "
33+ requires-python = " >=3.10 "
3534dependencies = [
36- " taskiq>=0.11.16 " ,
37- " ydb>=3.20.1 " ,
35+ " taskiq>=0.11.18 " ,
36+ " ydb>=3.21.12 " ,
3837]
3938
4039[project .urls ]
@@ -43,13 +42,36 @@ dependencies = [
4342
4443[dependency-groups ]
4544dev = [
46- " pytest>=8.3.5" ,
47- " pytest-asyncio==0.26.0" ,
48- " pytest-cov>=6.1.1" ,
45+ {include-group = " lint" },
46+ {include-group = " test" },
47+ {include-group = " docs" },
48+ " prek>=0.2.8" ,
49+ ]
50+ lint = [
51+ " ruff>=0.14.0" ,
52+ " bandit>=1.8.6" ,
53+ " codespell>=2.4.1" ,
54+ " zizmor>=1.15.2" ,
55+ # type check
56+ " mypy>=1.18.1" ,
57+ ]
58+ test = [
59+ " pytest>=8.4.2" ,
60+ " pytest-asyncio>=1.1.0" ,
61+ " pytest-cov>=7.0.0" ,
4962 " pytest-report>=0.2.1" ,
50- " ruff>=0.11.7" ,
51- " mypy>=1.15.0" ,
5263]
64+ docs = [
65+ " mkdocs-material>=9.6.22" ,
66+ " mkdocstrings-python>=1.18.2" ,
67+ ]
68+
69+ [build-system ]
70+ requires = [" uv_build>=0.8.14,<0.9.0" ]
71+ build-backend = " uv_build"
72+
73+ [tool .uv .build-backend ]
74+ module-name = " taskiq_ydb"
5375
5476[tool .pytest .ini_options ]
5577pythonpath = [
@@ -60,7 +82,6 @@ asyncio_default_fixture_loop_scope = "function"
6082markers = [
6183 " unit: marks unit tests" ,
6284 " integration: marks tests with real infrastructure env" ,
63- " linting: marks tests as linter/static analyzers" ,
6485]
6586filterwarnings = [
6687 " ignore:The event_loop fixture provided by pytest-asyncio has been redefined:DeprecationWarning" ,
@@ -72,17 +93,19 @@ exclude_lines = [
7293 " def __repr__" ,
7394 " def __str__" ,
7495 " def __unicode__" ,
96+ " if tp.TYPE_CHECKING:" ,
7597]
7698show_missing = true
7799skip_empty = true
78100omit = [
79101 " */__init__.py" ,
80- " tests/*" ,
102+ " venv/*" ,
103+ " tests/*"
81104]
82105
83106[tool .ruff ]
84107line-length = 120
85- target-version = " py39 "
108+ target-version = " py310 "
86109
87110[tool .ruff .lint ]
88111select = [" ALL" ]
@@ -94,6 +117,7 @@ ignore = [
94117 # Conflicted rules
95118 " D203" , # with D211
96119 " D212" , # with D213
120+ " D413" ,
97121]
98122
99123[tool .ruff .lint .per-file-ignores ]
@@ -111,12 +135,17 @@ ignore = [
111135 " S101" , # assert usage
112136 " S311" , # pseudo-random generators are not suitable for cryptographic purposes
113137]
114- "tests/test_linting.py" = [
115- " S603" , # subprocess usage
138+ "examples/*" = [
139+ " D" ,
140+ " T201" , # print usage
141+ " INP001" ,
116142]
117143
144+ [tool .ruff .lint .pydocstyle ]
145+ convention = " google"
146+
118147[tool .ruff .lint .isort ]
119- known-local-folder = [" taskiq_aiopg " ]
148+ known-local-folder = [" taskiq_ydb " ]
120149lines-after-imports = 2
121150
122151[tool .ruff .lint .flake8-quotes ]
@@ -128,8 +157,19 @@ inline-quotes = "single"
128157quote-style = " single"
129158
130159[tool .mypy ]
131- check_untyped_defs = true
132- disallow_incomplete_defs = true
133- disallow_untyped_defs = true
160+ python_version = " 3.10"
161+ modules = " taskiq_ydb"
162+ exclude_gitignore = true
163+ platform = " linux"
164+ follow_imports = " normal"
134165ignore_missing_imports = false
135- no_implicit_optional = true
166+ mypy_path = " stubs"
167+ disallow_untyped_defs = true
168+ warn_return_any = true
169+ warn_unreachable = true
170+ warn_no_return = true
171+ warn_unused_ignores = true
172+ warn_redundant_casts = true
173+
174+ [tool .bandit ]
175+ skips = [" B608" ]
0 commit comments