1- [tool . poetry ]
1+ [project ]
22name = " taskiq-redis"
33version = " 0.0.0"
44description = " Redis integration for taskiq"
5- authors = [
" taskiq-team <[email protected] >" ]
5+ authors = [
6+ {
name =
" Taskiq team" ,
email =
" [email protected] " }
7+ ]
8+ maintainers = [
9+ {
name =
" Taskiq team" ,
email =
" [email protected] " }
10+ ]
11+ license = { file = " LICENSE" }
612readme = " README.md"
13+ requires-python = " >=3.10"
714classifiers = [
815 " Programming Language :: Python" ,
916 " Programming Language :: Python :: 3" ,
1017 " Programming Language :: Python :: 3 :: Only" ,
11- " Programming Language :: Python :: 3.8" ,
12- " Programming Language :: Python :: 3.9" ,
1318 " Programming Language :: Python :: 3.10" ,
1419 " Programming Language :: Python :: 3.11" ,
20+ " Programming Language :: Python :: 3.12" ,
21+ " Programming Language :: Python :: 3.13" ,
1522]
16- homepage = " https://github.com/taskiq-python/taskiq-redis"
17- repository = " https://github.com/taskiq-python/taskiq-redis"
1823keywords = [
1924 " taskiq" ,
2025 " tasks" ,
@@ -24,23 +29,29 @@ keywords = [
2429 " result_backend" ,
2530]
2631
27- [ tool . poetry . dependencies ]
28- python = " ^3.9 "
29- taskiq = " >=0.11.12,<1 "
30- redis = " ^7 "
32+ dependencies = [
33+ " taskiq>=0.11.12,<1 " ,
34+ " redis>=6 " ,
35+ ]
3136
32- [tool .poetry .group .dev .dependencies ]
33- pytest = " ^8"
34- mypy = " ^1"
35- black = " ^25"
36- pytest-cov = " ^6"
37- anyio = " ^4"
38- pytest-env = " ^1"
39- fakeredis = " ^2"
40- pre-commit = " ^4"
41- pytest-xdist = { version = " ^3" , extras = [" psutil" ] }
42- ruff = " ^0"
43- freezegun = " ^1.5.1"
37+ [project .optional-dependencies ]
38+ dev = [
39+ " pytest>=8" ,
40+ " mypy>=1" ,
41+ " black>=25" ,
42+ " pytest-cov>=6" ,
43+ " anyio>=4" ,
44+ " pytest-env>=1" ,
45+ " fakeredis>=2" ,
46+ " pre-commit>=4" ,
47+ " pytest-xdist>=3; extra == 'psutil'" ,
48+ " ruff>=0" ,
49+ " freezegun>=1.5.1" ,
50+ ]
51+
52+ [project .urls ]
53+ homepage = " https://github.com/taskiq-python/taskiq-redis"
54+ repository = " https://github.com/taskiq-python/taskiq-redis"
4455
4556[tool .mypy ]
4657strict = true
@@ -60,62 +71,69 @@ ignore_errors = true
6071strict = false
6172
6273[build-system ]
63- requires = [" poetry-core>=1.0.0" ]
64- build-backend = " poetry.core.masonry.api"
74+ requires = [" hatchling>=1.21" ]
75+ build-backend = " hatchling.build"
76+
77+ [tool .hatch .build .targets .wheel ]
78+ packages = [" taskiq_redis" ]
6579
6680[tool .ruff ]
6781# List of enabled rulsets.
6882# See https://docs.astral.sh/ruff/rules/ for more information.
6983lint.select = [
70- " E" , # Error
71- " F" , # Pyflakes
72- " W" , # Pycodestyle
84+ " E" , # Error
85+ " F" , # Pyflakes
86+ " W" , # Pycodestyle
7387 " C90" , # McCabe complexity
74- " I" , # Isort
75- " N" , # pep8-naming
76- " D" , # Pydocstyle
88+ " I" , # Isort
89+ " N" , # pep8-naming
90+ " D" , # Pydocstyle
7791 " ANN" , # Pytype annotations
78- " S" , # Bandit
79- " B" , # Bugbear
92+ " S" , # Bandit
93+ " B" , # Bugbear
8094 " COM" , # Commas
81- " C4" , # Comprehensions
95+ " C4" , # Comprehensions
8296 " ISC" , # Implicit string concat
8397 " PIE" , # Unnecessary code
8498 " T20" , # Catch prints
8599 " PYI" , # validate pyi files
86- " Q" , # Checks for quotes
100+ " Q" , # Checks for quotes
87101 " RSE" , # Checks raise statements
88102 " RET" , # Checks return statements
89103 " SLF" , # Self checks
90104 " SIM" , # Simplificator
91105 " PTH" , # Pathlib checks
92106 " ERA" , # Checks for commented out code
93- " PL" , # PyLint checks
107+ " PL" , # PyLint checks
94108 " RUF" , # Specific to Ruff checks
109+ " FA102" , # Future annotations
110+ " UP" , # Pyupgrade
95111]
96112lint.ignore = [
97- " D105" , # Missing docstring in magic method
98- " D107" , # Missing docstring in __init__
99- " D212" , # Multi-line docstring summary should start at the first line
100- " D401" , # First line should be in imperative mood
101- " D104" , # Missing docstring in public package
102- " D100" , # Missing docstring in public module
103- " ANN401" , # typing.Any are disallowed in `**kwargs
113+ " D105" , # Missing docstring in magic method
114+ " D107" , # Missing docstring in __init__
115+ " D212" , # Multi-line docstring summary should start at the first line
116+ " D401" , # First line should be in imperative mood
117+ " D104" , # Missing docstring in public package
118+ " D100" , # Missing docstring in public module
119+ " ANN401" , # typing.Any are disallowed in `**kwargs
104120 " PLR0913" , # Too many arguments for function call
105- " D106" , # Missing docstring in public nested class
121+ " D106" , # Missing docstring in public nested class
106122]
107123exclude = [" .venv/" ]
108- lint.mccabe = { max-complexity = 10 }
109124line-length = 88
110125
126+ [tool .ruff .lint .mccabe ]
127+ max-complexity = 10
128+
111129[tool .ruff .lint .per-file-ignores ]
112130"tests/*" = [
113- " S101" , # Use of assert detected
114- " S301" , # Use of pickle detected
115- " D103" , # Missing docstring in public function
131+ " S101" , # Use of assert detected
132+ " S301" , # Use of pickle detected
133+ " D103" , # Missing docstring in public function
116134 " SLF001" , # Private member accessed
117- " S311" , # Standard pseudo-random generators are not suitable for security/cryptographic purposes
118- " D101" , # Missing docstring in public class
135+ " S311" , # Standard pseudo-random generators are not suitable for security/cryptographic purposes
136+ " D101" , # Missing docstring in public class
119137]
120138
121139[tool .ruff .lint .pydocstyle ]
0 commit comments