Skip to content

Commit c584570

Browse files
committed
refactor: update pyproject.toml for PEP621
1 parent f7c061f commit c584570

File tree

1 file changed

+67
-49
lines changed

1 file changed

+67
-49
lines changed

pyproject.toml

Lines changed: 67 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,25 @@
1-
[tool.poetry]
1+
[project]
22
name = "taskiq-redis"
33
version = "0.0.0"
44
description = "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" }
612
readme = "README.md"
13+
requires-python = ">=3.10"
714
classifiers = [
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"
1823
keywords = [
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]
4657
strict = true
@@ -60,62 +71,69 @@ ignore_errors = true
6071
strict = 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.
6983
lint.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
]
96112
lint.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
]
107123
exclude = [".venv/"]
108-
lint.mccabe = { max-complexity = 10 }
109124
line-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

Comments
 (0)