[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__", ]