requirements.txt 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  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. # Bambu Lab Printer Communication
  13. paho-mqtt>=2.0.0
  14. aioftp>=0.22.0
  15. # Virtual Printer (emulates Bambu printer for slicer uploads)
  16. pyftpdlib>=2.0.0
  17. cryptography>=46.0.7
  18. # SpoolBuddy remote SSH updates (pure-Python SSH client; avoids the
  19. # OpenSSH `ssh` binary which calls getpwuid() and fails in Docker when
  20. # the container UID isn't in /etc/passwd)
  21. asyncssh>=2.18.0
  22. # 3MF Processing (standard zipfile is sufficient for Bambu 3MF files)
  23. defusedxml>=0.7.0 # Safe XML parsing (prevents XXE attacks)
  24. # Excel Export
  25. openpyxl>=3.1.0
  26. # Notifications
  27. pywebpush>=2.0.0
  28. # Utilities
  29. python-multipart>=0.0.6
  30. aiofiles>=23.0.0
  31. # QR Code generation
  32. qrcode[pil]>=7.4.0
  33. # STL Thumbnail Generation
  34. trimesh>=4.0.0
  35. matplotlib>=3.8.0
  36. fast-simplification>=0.1.0
  37. # System monitoring
  38. psutil>=6.0.0
  39. # Authentication
  40. PyJWT>=2.12.0
  41. passlib[bcrypt]>=1.7.4
  42. ldap3>=2.9.0
  43. pyotp>=2.9.0
  44. # HTTP client (used for OIDC token exchange)
  45. httpx>=0.26.0
  46. # Plate Detection (optional - enables build plate empty detection)
  47. opencv-python-headless>=4.8.0
  48. numpy>=1.24.0
  49. # Development
  50. pytest>=8.0.0
  51. pytest-asyncio>=0.23.0
  52. httpx>=0.26.0
  53. ruff>=0.2.0
  54. pillow>=12.1.1