Files
vibe-bot/pyproject.toml
T

92 lines
2.1 KiB
TOML

[project]
name = "vibe-bot"
version = "0.1.0"
description = "Generate an infinite number of bots. Vibed for your pleasure."
readme = "README.md"
requires-python = ">=3.13"
dependencies = [
"discord>=2.3.2",
"openai>=2.24.0",
"requests>=2.32.5",
"types-requests>=2.32.4.20260107",
"numpy>=1.24.0",
"pytest>=9.0.2",
"python-dotenv>=1.2.2",
"pytest-env>=1.5.0",
"kokoro-tts>=2.3.1",
"mypy>=2.1.0",
]
[project.optional-dependencies]
dev = [
"ruff>=0.12.0",
"pyright>=1.1.398",
"mypy>=1.17.0",
"black>=25.1.0",
]
[tool.uv]
required-environments = [
"sys_platform == 'linux' and platform_machine == 'x86_64'",
]
[tool.ruff]
target-version = "py313"
line-length = 88
[tool.ruff.lint]
select = ["ALL"]
ignore = [
"PLR0913",
"PLR0915",
"S101",
"ASYNC210",
"D205",
"N806",
"ISC001",
# Test-specific ignores
"PLC0415", # imports not at top-level (needed for async test mocking)
"S108", # /tmp paths in tests
"ARG001", # unused fixture arguments (needed for fixture chain)
"ANN401", # Any type usage (needed for CustomBotManager typing)
"PLR2004", # magic number comparisons
"SLF001", # private member access (testing internals)
"TRY002", # custom exception classes
"TRY003", # long exception messages
"EM101", # string literals in exceptions
"TC003", # stdlib import in type-checking block
"F401", # unused imports (bytesio used in isinstance)
]
[tool.ruff.lint.isort]
known-first-party = ["vibe_bot"]
[tool.mypy]
strict = true
python_version = "3.13"
warn_return_any = true
warn_unused_configs = true
disallow_untyped_defs = true
disallow_incomplete_defs = true
check_untyped_defs = true
disallow_untyped_decorators = true
no_implicit_optional = true
[tool.pyright]
typeCheckingMode = "strict"
pythonVersion = "3.13"
reportMissingTypeStubs = false
reportUnknownVariableType = false
reportUnknownMemberType = false
reportUnknownArgumentType = false
reportPrivateUsage = false
[tool.black]
line-length = 88
target-version = ["py313"]
[tool.pytest.ini_options]
filterwarnings = [
"ignore::pytest.PytestUnraisableExceptionWarning",
]