mirror of
https://github.com/allthingslinux/tux.git
synced 2024-10-02 08:39:09 +00:00
0b494a41b8
feat(pyproject.toml): add 'types-dateparser', 'types-pytz', 'types-pyyaml' to dependencies for better type checking refactor(pyproject.toml): clean up 'exclude' lists in 'tool.ruff' and 'tool.pyright' sections, removing unnecessary entries feat(pyproject.toml): enable 'enableReachabilityAnalysis', 'reportImportCycles', 'strictDictionaryInference', 'strictListInference', 'strictSetInference' in 'tool.pyright' for stricter type checking refactor(pyproject.toml): move '.venv' to 'ignore' list in 'tool.pyright' section for better project structure management
133 lines
2.8 KiB
TOML
133 lines
2.8 KiB
TOML
# Poetry Configuration
|
|
[tool.poetry]
|
|
authors = ["kaizen <admin@kaizen.wtf>"]
|
|
description = "All Things Linux Discord Bot"
|
|
name = "tux"
|
|
readme = "README.md"
|
|
repository = "https://github.com/allthingslinux/tux"
|
|
version = "0.1.0"
|
|
|
|
[tool.poetry.dependencies]
|
|
aiocache = "^0.12.2"
|
|
aioconsole = "^0.8.0"
|
|
aiofiles = "^24.1.0"
|
|
asynctempfile = "^0.5.0"
|
|
cairosvg = "^2.7.1"
|
|
dateparser = "^1.2.0"
|
|
discord-py = "^2.4.0"
|
|
emojis = "^0.7.0"
|
|
githubkit = {extras = ["auth-app"], version = "^0.11.3"}
|
|
httpx = "^0.27.0"
|
|
jishaku = "^2.5.2"
|
|
loguru = "^0.7.2"
|
|
pillow = "^10.3.0"
|
|
pre-commit = "^3.7.0"
|
|
prisma = "^0.15.0"
|
|
psutil = "^6.0.0"
|
|
pydantic = "^2.8.2"
|
|
pynacl = "^1.5.0"
|
|
pyright = "^1.1.358"
|
|
python = ">=3.12,<4"
|
|
python-dotenv = "^1.0.1"
|
|
pytz = "^2024.1"
|
|
pyyaml = "^6.0.2"
|
|
reactionmenu = "^3.1.7"
|
|
rsa = "^4.9"
|
|
ruff = "^0.6.0"
|
|
sentry-sdk = {extras = ["httpx", "loguru"], version = "^2.7.0"}
|
|
types-aiofiles = "^24.1.0.20240626"
|
|
types-dateparser = "^1.2.0.20240420"
|
|
types-psutil = "^6.0.0.20240621"
|
|
types-pytz = "^2024.2.0.20240913"
|
|
types-pyyaml = "^6.0.12.20240808"
|
|
typing-extensions = "^4.12.2"
|
|
|
|
[tool.poetry.group.docs.dependencies]
|
|
mkdocs-material = "^9.5.30"
|
|
|
|
[build-system]
|
|
build-backend = "poetry.core.masonry.api"
|
|
requires = ["poetry-core"]
|
|
|
|
# Ruff Configuration
|
|
[tool.ruff]
|
|
exclude = [
|
|
".venv",
|
|
"examples",
|
|
"tests",
|
|
".archive",
|
|
"typings/**",
|
|
]
|
|
|
|
indent-width = 4
|
|
line-length = 120
|
|
target-version = "py312"
|
|
|
|
# Ruff Linting Configuration
|
|
[tool.ruff.lint]
|
|
dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"
|
|
fixable = ["ALL"]
|
|
ignore = ["E501", "N814", "PLR0913", "PLR2004"]
|
|
select = [
|
|
"I", # isort
|
|
"E", # pycodestyle-error
|
|
"F", # pyflakes
|
|
"PERF", # perflint
|
|
"N", # pep8-naming
|
|
"TRY", # tryceratops
|
|
"UP", # pyupgrade
|
|
"FURB", # refurb
|
|
"PL", # pylint
|
|
"B", # flake8-bugbear
|
|
"SIM", # flake8-simplify
|
|
"ASYNC", # flake8-async
|
|
"A", # flake8-builtins
|
|
"C4", # flake8-comprehensions
|
|
"DTZ", # flake8-datetimez
|
|
"EM", # flake8-errmsg
|
|
"PIE", # flake8-pie
|
|
"T20", # flake8-print
|
|
"Q", # flake8-quotes
|
|
"RET", # flake8-return
|
|
"PTH", # flake8-use-pathlib
|
|
"INP", # flake8-no-pep420
|
|
"RSE", # flake8-raise
|
|
"ICN", # flake8-import-conventions
|
|
"RUF", # ruff
|
|
]
|
|
unfixable = []
|
|
|
|
# Ruff Formatting Configuration
|
|
[tool.ruff.format]
|
|
docstring-code-format = true
|
|
docstring-code-line-length = "dynamic"
|
|
indent-style = "space"
|
|
line-ending = "lf"
|
|
quote-style = "double"
|
|
skip-magic-trailing-comma = false
|
|
|
|
# Pyright Configuration
|
|
[tool.pyright]
|
|
defineConstant = {DEBUG = true}
|
|
enableReachabilityAnalysis = true
|
|
exclude = [
|
|
"__pypackages__",
|
|
"_build",
|
|
"examples",
|
|
"tests",
|
|
".archive",
|
|
"typings/**",
|
|
]
|
|
ignore = [
|
|
".venv",
|
|
]
|
|
include = ["tux"]
|
|
pythonPlatform = "Linux"
|
|
pythonVersion = "3.12"
|
|
reportImportCycles = true
|
|
strictDictionaryInference = true
|
|
strictListInference = true
|
|
strictSetInference = true
|
|
typeCheckingMode = "strict"
|
|
venv = ".venv"
|
|
venvPath = "."
|