requirements.txt 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  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. # Transitive dep pin: idna<3.15 has CVE-2026-45409 (ReDoS on encode() with
  49. # crafted Unicode). Pulled in by anyio/httpx/requests/yarl; pin the floor
  50. # so we don't regress when a downstream loosens its constraint.
  51. idna>=3.15
  52. # HTTP client (used for OIDC token exchange)
  53. httpx>=0.26.0
  54. # Transitive pin: urllib3 2.6.3 has CVE-2026-44431 and CVE-2026-44432;
  55. # 2.7.0+ is the fixed release. Direct pin here because none of our
  56. # top-level deps require >=2.7.0 yet, so without this the resolver
  57. # would silently keep installing the vulnerable 2.6.x line.
  58. urllib3>=2.7.0
  59. # Plate Detection (optional - enables build plate empty detection)
  60. opencv-python-headless>=4.8.0
  61. numpy>=1.24.0
  62. # Development
  63. pytest>=9.0.3
  64. pytest-asyncio>=0.23.0
  65. httpx>=0.26.0
  66. ruff>=0.2.0
  67. pillow>=12.2.0