-
-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathpyproject.toml
More file actions
126 lines (112 loc) · 3.32 KB
/
pyproject.toml
File metadata and controls
126 lines (112 loc) · 3.32 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "raito"
version = "1.3.7"
description = "REPL, hot-reload, keyboards, pagination, and internal dev tools — all in one. That's Raito."
authors = [{ name = "Aiden", email = "aidenthedev@gmail.com" }]
license = "MIT"
readme = "README.md"
requires-python = ">=3.10"
dependencies = [
"aiogram>=3.20.0",
"cachetools>=6.0.0",
"psutil>=7.0.0",
"pydantic>=2.11.6",
"watchfiles>=1.0.5",
]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Environment :: Plugins",
"Framework :: AsyncIO",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Topic :: Software Development :: Libraries",
"Topic :: Software Development :: Testing",
"Topic :: Software Development :: Debuggers",
"Topic :: Software Development :: User Interfaces",
"Topic :: Utilities",
"Typing :: Typed",
]
keywords = [
"aiogram",
"telegram",
"keyboard",
"pagination",
"repl",
"hot-reload",
"devtools",
"bot",
"aiogram3",
"raito",
]
[project.optional-dependencies]
dev = [
"ruff",
"mypy",
"pytest",
"ipdb",
"pre-commit",
"types-cachetools>=6.0.0.20250525",
"python-dotenv",
]
docs = ["sphinx", "furo", "sphinx-autodoc-typehints", "watchdog>=6.0.0"]
redis = ["redis>=6.2.0"]
postgresql = ["sqlalchemy[asyncio]>=2.0.0", "asyncpg>=0.29.0"]
sqlite = ["sqlalchemy[asyncio]>=2.0.0", "aiosqlite>=0.20.0"]
[project.urls]
Repository = "https://github.com/Aidenable/raito"
Documentation = "https://aidenable.github.io/raito"
[tool.hatch.build]
packages = ["raito"]
[tool.ruff]
line-length = 100
target-version = "py310"
[tool.ruff.lint]
ignore = [
"E501", # line-too-long
"D100", # undocumented-public-module
"D104", # undocumented-public-package
"D103", # undocumented-public-function
"D203", # one-blank-line-before-class
"D213", # multi-line-summary-second-line
"PLC0415", # import-outside-top-level
]
fixable = ["ALL"]
extend-select = [
"E", # pycodestyle: basic style issues
"F", # pyflakes: undefined variables, imports, unused code
"B", # bugbear: likely bugs and design problems
"C4", # flake8-comprehensions: improve list/set/dict comprehensions
"SIM", # flake8-simplify: overly complex constructs
"I", # isort: import sorting
"UP", # pyupgrade: outdated syntax for your Python version
"RUF", # ruff-specific: best practices from ruff itself
"ANN", # flake8-annotations: type annotations
"BLE", # flake8-blind-except: ignore base exceptions without an exception type
]
[tool.ruff.lint.pylint]
max-args = 10
[tool.ruff.lint.per-file-ignores]
"tests/*" = ["ALL"]
"examples/*" = ["ALL"]
"*/handlers/*.py" = ["INP001"]
[tool.ruff.format]
quote-style = "double"
indent-style = "space"
[tool.mypy]
python_version = "3.10"
ignore_missing_imports = true
exclude = ["tests", "examples"]
[tool.pytest.ini_options]
addopts = "-ra"
python_files = "tests/test_*.py"
[dependency-groups]
dev = ["types-cachetools>=6.0.0.20250525"]