requirements-dev.txt 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217
  1. # Trixy Voice Assistant - Development Requirements
  2. # ===============================================
  3. # Dependencies for development, testing, code quality, and debugging
  4. # Includes ML requirements for full development environment
  5. # Include ML requirements (which includes base requirements)
  6. -r requirements-ml.txt
  7. # Code formatting and linting
  8. black>=22.0.0 # Code formatter
  9. isort>=5.10.0 # Import sorting
  10. flake8>=4.0.0 # Linting and style guide enforcement
  11. pylint>=2.12.0 # Advanced static analysis
  12. mypy>=0.930 # Static type checking
  13. bandit>=1.7.0 # Security linting
  14. # Advanced code quality tools
  15. ruff>=0.0.200 # Fast Python linter (alternative to flake8)
  16. pycodestyle>=2.8.0 # PEP 8 style guide checker
  17. pydocstyle>=6.1.0 # Docstring style checker
  18. pyflakes>=2.4.0 # Checks for unused imports and variables
  19. # Pre-commit hooks
  20. pre-commit>=2.17.0 # Git pre-commit hook framework
  21. # Testing frameworks
  22. pytest>=7.0.0 # Testing framework
  23. pytest-cov>=3.0.0 # Coverage plugin for pytest
  24. pytest-xdist>=2.5.0 # Parallel testing
  25. pytest-mock>=3.6.0 # Mocking utilities
  26. pytest-asyncio>=0.18.0 # Async testing support
  27. pytest-timeout>=2.1.0 # Test timeout handling
  28. pytest-benchmark>=3.4.0 # Performance benchmarking
  29. pytest-profiling>=1.7.0 # Profiling integration
  30. # Test data and fixtures
  31. factory-boy>=3.2.0 # Test data generation
  32. faker>=13.0.0 # Fake data generation
  33. responses>=0.20.0 # HTTP request mocking
  34. aioresponses>=0.7.0 # Async HTTP mocking
  35. # Coverage and quality metrics
  36. coverage>=6.3.0 # Code coverage measurement
  37. codecov>=2.1.0 # Coverage reporting
  38. mutation-testing>=1.0.0 # Mutation testing (if available)
  39. # Documentation generation
  40. sphinx>=4.4.0 # Documentation generator
  41. sphinx-autoapi>=1.8.0 # Auto-generate API docs
  42. sphinx-rtd-theme>=1.0.0 # Read the Docs theme
  43. myst-parser>=0.17.0 # Markdown parser for Sphinx
  44. sphinx-autodoc-typehints>=1.17.0 # Type hints in documentation
  45. # Jupyter notebooks for experimentation
  46. jupyter>=1.0.0 # Jupyter notebook
  47. jupyterlab>=3.3.0 # JupyterLab interface
  48. ipython>=8.0.0 # Enhanced Python shell
  49. ipywidgets>=7.6.0 # Interactive widgets for Jupyter
  50. # Performance profiling and debugging
  51. py-spy>=0.3.0 # Statistical profiler
  52. line-profiler>=3.5.0 # Line-by-line profiling
  53. memory-profiler>=0.60.0 # Already in base, memory profiling
  54. scalene>=1.5.0 # CPU and memory profiler
  55. pyinstrument>=4.0.0 # Statistical Python profiler
  56. # Debugging tools
  57. pdb++>=0.10.0 # Enhanced Python debugger
  58. ipdb>=0.13.0 # IPython debugger
  59. pudb>=2022.1 # Full-screen console debugger
  60. remote-pdb>=2.1.0 # Remote debugging
  61. # Development utilities
  62. watchdog>=2.1.0 # Already in base, file system monitoring
  63. python-dotenv>=0.19.0 # Environment variable management
  64. click>=8.0.0 # Command line interface creation
  65. typer>=0.4.0 # Modern CLI framework
  66. # API development and testing
  67. httpx>=0.23.0 # Async HTTP client
  68. fastapi>=0.75.0 # Already in ML requirements
  69. uvicorn[standard]>=0.17.0 # ASGI server with extra features
  70. starlette>=0.19.0 # Web framework components
  71. # Database tools (for development databases)
  72. sqlalchemy>=1.4.0 # SQL toolkit and ORM
  73. alembic>=1.7.0 # Database migration tool
  74. sqlite-utils>=3.25.0 # SQLite utilities
  75. # Configuration and environment management
  76. python-decouple>=3.6 # Configuration management
  77. dynaconf>=3.1.0 # Configuration management
  78. environs>=9.5.0 # Environment variable parsing
  79. # Development workflow tools
  80. invoke>=1.7.0 # Task execution
  81. fabric>=2.6.0 # Remote execution and deployment
  82. tox>=3.24.0 # Testing in multiple environments
  83. nox>=2022.1.7 # Simplified testing in multiple environments
  84. # Security scanning
  85. safety>=1.10.0 # Dependency vulnerability scanning
  86. pip-audit>=2.0.0 # Pip package auditing
  87. # Code complexity analysis
  88. radon>=5.1.0 # Code complexity analysis
  89. xenon>=0.9.0 # Complexity monitoring
  90. lizard>=1.17.0 # Code complexity analyzer
  91. # Import and dependency analysis
  92. pipdeptree>=2.2.0 # Dependency tree visualization
  93. pip-licenses>=3.5.0 # License compatibility checking
  94. importlib-metadata>=4.11.0 # Package metadata inspection
  95. # Performance and load testing
  96. locust>=2.8.0 # Load testing framework
  97. pytest-stress>=1.0.0 # Stress testing for pytest (if available)
  98. # Mock and stub generation
  99. pytest-mock>=3.6.0 # Already included, mocking
  100. vcrpy>=4.1.0 # HTTP interaction recording
  101. # Code generation and templates
  102. cookiecutter>=1.7.0 # Project template generator
  103. jinja2>=3.0.0 # Template engine
  104. # Version control utilities
  105. gitpython>=3.1.0 # Git repository manipulation
  106. semver>=2.13.0 # Semantic versioning utilities
  107. # Build and packaging tools
  108. build>=0.7.0 # PEP 517 build frontend
  109. setuptools>=60.0.0 # Package building
  110. wheel>=0.37.0 # Binary package format
  111. twine>=3.8.0 # Package upload utility
  112. # Environment isolation
  113. virtualenv>=20.13.0 # Virtual environment creation
  114. pipx>=1.0.0 # Install packages in isolated environments
  115. # Linting configuration files
  116. flake8-docstrings>=1.6.0 # Docstring linting
  117. flake8-import-order>=0.18.0 # Import order checking
  118. flake8-bugbear>=22.1.0 # Additional bug detection
  119. flake8-comprehensions>=3.8.0 # Comprehension linting
  120. # Type checking extensions
  121. types-requests>=2.27.0 # Type stubs for requests
  122. types-pyyaml>=6.0.0 # Type stubs for PyYAML
  123. types-setuptools>=57.0.0 # Type stubs for setuptools
  124. # Development server and tools
  125. gunicorn>=20.1.0 # WSGI HTTP server
  126. gevent>=21.12.0 # Async networking library
  127. # Monitoring and metrics for development
  128. prometheus-client>=0.13.0 # Metrics collection
  129. grafana-api>=1.0.0 # Grafana integration (if needed)
  130. # Internationalization (i18n) tools
  131. babel>=2.9.0 # Internationalization utilities
  132. polib>=1.1.0 # PO file manipulation
  133. # Development-specific logging
  134. structlog>=21.0.0 # Already in base, structured logging
  135. colorlog>=6.6.0 # Colored log output
  136. loguru>=0.6.0 # Enhanced logging library
  137. # Development workflow automation
  138. pre-commit>=2.17.0 # Already included
  139. husky>=0.1.0 # Git hooks (if available for Python)
  140. # Container development
  141. docker>=5.0.0 # Docker client
  142. docker-compose>=1.29.0 # Docker Compose (may be separate install)
  143. # API documentation
  144. redoc>=0.1.0 # API documentation
  145. swagger-ui-bundle>=0.1.0 # Swagger UI
  146. # Development databases
  147. redis>=4.1.0 # Redis client (for caching/sessions)
  148. # Message queues for testing
  149. celery>=5.2.0 # Task queue (for async task testing)
  150. # Development utilities for audio processing
  151. pyaudio>=0.2.11 # Already in ML requirements, real-time audio
  152. sounddevice>=0.4.0 # Audio I/O library
  153. # Network debugging
  154. wireshark>=0.1.0 # Network protocol analyzer (if Python bindings available)
  155. scapy>=2.4.0 # Packet manipulation
  156. # Development time measurement
  157. timeit-compare>=1.0.0 # Performance comparison (if available)
  158. # Plugin development tools
  159. pluggy>=1.0.0 # Plugin framework
  160. stevedore>=3.5.0 # Plugin manager
  161. # Development configuration
  162. python-json-logger>=2.0.0 # JSON logging
  163. colorama>=0.4.0 # Cross-platform colored terminal text
  164. # Installation notes:
  165. # Some packages may require additional system dependencies
  166. # For audio development: PortAudio, ALSA, PulseAudio
  167. # For containerization: Docker
  168. # For full development: Git, Make, C compiler
  169. # Usage:
  170. # pip install -r requirements-dev.txt
  171. # pre-commit install # Set up git hooks
  172. # pytest # Run tests
  173. # black . # Format code
  174. # mypy . # Type checking