requirements-dev.txt 1.2 KB

12345678910111213141516171819202122232425262728293031
  1. # Development and testing dependencies
  2. pytest>=8.0.0
  3. pytest-asyncio>=0.23.0
  4. pytest-cov>=4.1.0
  5. pytest-xdist>=3.5.0
  6. pytest-timeout>=2.4.0
  7. # Test-suite sharding for CI matrix. Splits the test set evenly across N
  8. # shards via --splits/--group; falls back to test-name hashing on the first
  9. # run, and uses recorded durations on subsequent runs (.test_durations).
  10. pytest-split>=0.9.0
  11. httpx>=0.27.0
  12. # Exact pin, deliberately. A floor lets a contributor's older ruff enforce rules
  13. # the current one has retired (UP038 was removed — PEP 604 in isinstance() is
  14. # slower than the tuple form), and lets `format --check` disagree between
  15. # machines. CI's lint job installs this exact line, so local == CI. Bump on
  16. # purpose, not by resolution order.
  17. ruff==0.15.20
  18. pre-commit>=4.0
  19. # Required by pyftpdlib TLS_FTPHandler for mock FTP server tests
  20. pyOpenSSL>=26.0.0
  21. # Security scanning
  22. bandit[sarif]>=1.7.0
  23. pip-audit>=2.7.0
  24. # Transitive of pip-audit→CacheControl. 1.2.1 patches GHSA-6v7p-g79w-8964
  25. # (Unpacker SEGV/DoS on reuse after caught error). Not a runtime dep of
  26. # Bambuddy — pinned here so the audit stays clean.
  27. msgpack>=1.2.1
  28. # Secrets scan: gitleaks (Go binary, not a Python package).
  29. # Install: go install github.com/zricethezav/gitleaks/v8@latest