1
Fork 0
mirror of https://github.com/allthingslinux/tux.git synced 2024-10-02 16:43:12 +00:00
tux/pyproject.toml
kzndotsh 0b494a41b8 feat(pyproject.toml): add 'emojis' package to dependencies to support emoji handling
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
2024-09-14 04:51:52 -04:00

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 = "."