requirements.txt 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. # Web Framework
  2. fastapi>=0.109.0
  3. uvicorn[standard]>=0.27.0
  4. # Database
  5. sqlalchemy>=2.0.0
  6. aiosqlite>=0.19.0
  7. asyncpg>=0.29.0
  8. greenlet>=3.0.0
  9. # Pydantic
  10. pydantic>=2.0.0
  11. pydantic-settings>=2.0.0
  12. # Transitive of pydantic-settings, floor-pinned to patch CVE-2026-28684 (dotenv 1.2.1)
  13. python-dotenv>=1.2.2
  14. # Bambu Lab Printer Communication
  15. paho-mqtt>=2.0.0
  16. aioftp>=0.22.0
  17. # Virtual Printer (emulates Bambu printer for slicer uploads)
  18. pyftpdlib>=2.0.0
  19. cryptography>=46.0.7
  20. # SpoolBuddy remote SSH updates (pure-Python SSH client; avoids the
  21. # OpenSSH `ssh` binary which calls getpwuid() and fails in Docker when
  22. # the container UID isn't in /etc/passwd)
  23. asyncssh>=2.18.0
  24. # 3MF Processing (standard zipfile is sufficient for Bambu 3MF files)
  25. defusedxml>=0.7.0 # Safe XML parsing (prevents XXE attacks)
  26. # Excel Export
  27. openpyxl>=3.1.0
  28. # Notifications
  29. pywebpush>=2.0.0
  30. # Utilities
  31. python-multipart>=0.0.27
  32. aiofiles>=23.0.0
  33. # QR Code generation
  34. qrcode[pil]>=7.4.0
  35. # PDF generation (spool label printing — #809)
  36. reportlab>=4.0.0
  37. # STL Thumbnail Generation
  38. trimesh>=4.0.0
  39. matplotlib>=3.8.0
  40. fast-simplification>=0.1.0
  41. # System monitoring
  42. psutil>=6.0.0
  43. # Authentication
  44. PyJWT>=2.12.0
  45. passlib[bcrypt]>=1.7.4
  46. ldap3>=2.9.0
  47. pyotp>=2.9.0
  48. # HTTP client (used for OIDC token exchange)
  49. httpx>=0.26.0
  50. # Transitive pin: urllib3 2.6.3 has CVE-2026-44431 and CVE-2026-44432;
  51. # 2.7.0+ is the fixed release. Direct pin here because none of our
  52. # top-level deps require >=2.7.0 yet, so without this the resolver
  53. # would silently keep installing the vulnerable 2.6.x line.
  54. urllib3>=2.7.0
  55. # Plate Detection (optional - enables build plate empty detection)
  56. opencv-python-headless>=4.8.0
  57. numpy>=1.24.0
  58. # Development
  59. pytest>=9.0.3
  60. pytest-asyncio>=0.23.0
  61. httpx>=0.26.0
  62. ruff>=0.2.0
  63. pillow>=12.2.0