- Deleted .env.example file as it is no longer needed. - Added .gitignore to manage ignored files and directories. - Introduced CLAUDE.md for AI provider integration documentation. - Created dev.sh for development setup and scripts. - Updated Dockerfile and Dockerfile.production for improved build processes. - Added multiple test files and directories for comprehensive testing. - Introduced new utility and service files for enhanced functionality. - Organized codebase with new directories and files for better maintainability.
209 lines
4.4 KiB
TOML
209 lines
4.4 KiB
TOML
[build-system]
|
|
requires = ["setuptools>=61.0"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "disbord"
|
|
version = "0.1.0"
|
|
description = "Add your description here"
|
|
readme = "README.md"
|
|
requires-python = ">=3.12"
|
|
dependencies = [
|
|
# Core Discord Bot Framework (modern versions)
|
|
"discord.py>=2.4.0",
|
|
"discord-ext-voice-recv",
|
|
|
|
# Environment & Configuration
|
|
"python-dotenv>=1.0.0,<1.1.0",
|
|
"asyncio-mqtt>=0.16.0",
|
|
"tenacity>=9.0.0",
|
|
"pyyaml>=6.0.2",
|
|
"distro>=1.9.0",
|
|
|
|
# Modern Database & Storage
|
|
"asyncpg>=0.29.0",
|
|
"redis>=5.1.0",
|
|
"qdrant-client>=1.12.0",
|
|
"alembic>=1.13.0",
|
|
|
|
# Latest AI & ML Providers
|
|
"openai>=1.45.0",
|
|
"anthropic>=0.35.0",
|
|
"groq>=0.10.0",
|
|
"ollama>=0.3.0",
|
|
|
|
# Audio ML with NVIDIA NeMo (2025 compatible)
|
|
"nemo-toolkit[asr]>=2.4.0",
|
|
"torch>=2.5.0,<2.9.0",
|
|
"torchaudio>=2.5.0,<2.9.0",
|
|
"torchvision>=0.20.0,<0.25.0",
|
|
"pytorch-lightning>=2.5.0",
|
|
"omegaconf>=2.3.0,<2.4.0",
|
|
"hydra-core>=1.3.2",
|
|
"silero-vad>=5.1.0",
|
|
"ffmpeg-python>=0.2.0",
|
|
"librosa>=0.11.0",
|
|
"soundfile>=0.13.0",
|
|
# Updated ML dependencies for compatibility
|
|
"onnx>=1.19.0",
|
|
"ml-dtypes>=0.4.0",
|
|
"onnxruntime>=1.20.0",
|
|
|
|
# Modern Text Processing & Embeddings
|
|
"sentence-transformers>=3.2.0",
|
|
"transformers>=4.51.0",
|
|
|
|
# External AI Services (latest)
|
|
"elevenlabs>=1.9.0",
|
|
"azure-cognitiveservices-speech>=1.45.0",
|
|
"hume>=0.10.0",
|
|
|
|
# Modern HTTP & API Clients
|
|
"aiohttp>=3.10.0",
|
|
"aiohttp-cors>=0.8.0",
|
|
"httpx>=0.27.0",
|
|
"requests>=2.32.0",
|
|
|
|
# Modern Data Processing (pydantic v2 optimized)
|
|
"pydantic>=2.10.0,<2.11.0",
|
|
"pydantic-core>=2.27.0,<2.28.0",
|
|
"pydantic-settings>=2.8.0,<2.9.0",
|
|
|
|
# Monitoring & Metrics
|
|
"prometheus-client>=0.20.0",
|
|
"psutil>=6.0.0",
|
|
|
|
# Modern Security & Validation
|
|
"cryptography>=43.0.0",
|
|
"bcrypt>=4.2.0",
|
|
|
|
# Modern Utilities
|
|
"click>=8.1.0",
|
|
"colorlog>=6.9.0",
|
|
"python-dateutil>=2.9.0",
|
|
"pytz>=2024.2",
|
|
|
|
# Performance (latest)
|
|
"uvloop>=0.21.0; sys_platform != 'win32'",
|
|
"orjson>=3.11.0",
|
|
|
|
# File Processing
|
|
"watchdog>=6.0.0",
|
|
"aiofiles>=24.0.0",
|
|
|
|
# Audio Format Support
|
|
"pydub>=0.25.1",
|
|
"mutagen>=1.47.0",
|
|
|
|
# Network & Communication (modern)
|
|
"websockets>=13.0",
|
|
|
|
# Modern Async Utilities
|
|
"anyio>=4.6.0",
|
|
|
|
# Modern Logging & Debugging
|
|
"structlog>=24.0.0",
|
|
"rich>=13.9.0",
|
|
]
|
|
|
|
[tool.setuptools.packages.find]
|
|
include = [
|
|
"ui*",
|
|
"k8s*",
|
|
"cogs*",
|
|
"core*",
|
|
"config*",
|
|
"plugins*",
|
|
"security*",
|
|
"commands*",
|
|
"services*",
|
|
"extensions*",
|
|
"utils*",
|
|
]
|
|
exclude = ["tests*"]
|
|
|
|
|
|
[dependency-groups]
|
|
dev = [
|
|
"basedpyright>=1.31.3",
|
|
"black>=25.1.0",
|
|
"isort>=6.0.1",
|
|
"pyrefly>=0.30.0",
|
|
"pyright>=1.1.404",
|
|
"ruff>=0.12.10",
|
|
]
|
|
test = [
|
|
"pytest>=7.4.0",
|
|
"pytest-asyncio>=0.21.0",
|
|
"pytest-cov>=4.1.0",
|
|
"pytest-mock>=3.11.0",
|
|
"pytest-xdist>=3.3.0",
|
|
"pytest-benchmark>=4.0.0",
|
|
]
|
|
|
|
[tool.pytest.ini_options]
|
|
minversion = "7.0"
|
|
testpaths = ["tests"]
|
|
python_files = ["test_*.py", "*_test.py"]
|
|
python_classes = ["Test*"]
|
|
python_functions = ["test_*"]
|
|
asyncio_mode = "auto"
|
|
addopts = """
|
|
--strict-markers
|
|
--tb=short
|
|
--cov=.
|
|
--cov-report=term-missing:skip-covered
|
|
--cov-report=html
|
|
--cov-report=xml
|
|
--cov-fail-under=80
|
|
-ra
|
|
"""
|
|
markers = [
|
|
"unit: Unit tests (fast)",
|
|
"integration: Integration tests (slower)",
|
|
"performance: Performance tests (slow)",
|
|
"load: Load tests (very slow)",
|
|
"slow: Slow tests",
|
|
]
|
|
filterwarnings = [
|
|
"ignore::DeprecationWarning",
|
|
"ignore::PendingDeprecationWarning",
|
|
]
|
|
|
|
[tool.coverage.run]
|
|
branch = true
|
|
source = ["."]
|
|
omit = [
|
|
"*/tests/*",
|
|
"*/test_*.py",
|
|
"*/__pycache__/*",
|
|
"*/migrations/*",
|
|
"*/conftest.py",
|
|
"setup.py",
|
|
]
|
|
|
|
[tool.coverage.report]
|
|
exclude_lines = [
|
|
"pragma: no cover",
|
|
"def __repr__",
|
|
"if __name__ == .__main__.:",
|
|
"raise AssertionError",
|
|
"raise NotImplementedError",
|
|
"if TYPE_CHECKING:",
|
|
"pass",
|
|
]
|
|
|
|
[tool.pyright]
|
|
pythonVersion = "3.12"
|
|
typeCheckingMode = "basic"
|
|
reportUnusedImport = true
|
|
reportUnusedClass = true
|
|
reportUnusedFunction = true
|
|
reportUnusedVariable = true
|
|
reportDuplicateImport = true
|
|
exclude = [
|
|
"**/tests",
|
|
"**/migrations",
|
|
"**/__pycache__",
|
|
]
|