mirror of
https://github.com/maziggy/bambuddy.git
synced 2026-09-30 03:01:21 +02:00
Bambuddy can now use an external PostgreSQL database via the DATABASE_URL environment variable. SQLite remains the default. Dialect-aware helpers handle upserts, PRAGMAs, FTS (FTS5 vs tsvector+GIN), backup/restore, and health checks. All migration blocks use savepoints to prevent Postgres transaction poisoning. Backups are always portable SQLite format regardless of backend. Cross-database restore imports SQLite backups into PostgreSQL with automatic boolean/datetime conversion, NOT NULL default filling, and FK constraint handling.
62 lines
1.0 KiB
Plaintext
62 lines
1.0 KiB
Plaintext
# Web Framework
|
|
fastapi>=0.109.0
|
|
uvicorn[standard]>=0.27.0
|
|
|
|
# Database
|
|
sqlalchemy>=2.0.0
|
|
aiosqlite>=0.19.0
|
|
asyncpg>=0.29.0
|
|
greenlet>=3.0.0
|
|
|
|
# Pydantic
|
|
pydantic>=2.0.0
|
|
pydantic-settings>=2.0.0
|
|
|
|
# Bambu Lab Printer Communication
|
|
paho-mqtt>=2.0.0
|
|
aioftp>=0.22.0
|
|
|
|
# Virtual Printer (emulates Bambu printer for slicer uploads)
|
|
pyftpdlib>=2.0.0
|
|
cryptography>=46.0.5
|
|
|
|
# 3MF Processing (standard zipfile is sufficient for Bambu 3MF files)
|
|
defusedxml>=0.7.0 # Safe XML parsing (prevents XXE attacks)
|
|
|
|
# Excel Export
|
|
openpyxl>=3.1.0
|
|
|
|
# Notifications
|
|
pywebpush>=2.0.0
|
|
|
|
# Utilities
|
|
python-multipart>=0.0.6
|
|
aiofiles>=23.0.0
|
|
|
|
# QR Code generation
|
|
qrcode[pil]>=7.4.0
|
|
|
|
# STL Thumbnail Generation
|
|
trimesh>=4.0.0
|
|
matplotlib>=3.8.0
|
|
fast-simplification>=0.1.0
|
|
|
|
# System monitoring
|
|
psutil>=6.0.0
|
|
|
|
# Authentication
|
|
PyJWT>=2.12.0
|
|
passlib[bcrypt]>=1.7.4
|
|
|
|
# Plate Detection (optional - enables build plate empty detection)
|
|
opencv-python-headless>=4.8.0
|
|
numpy>=1.24.0
|
|
|
|
# Development
|
|
pytest>=8.0.0
|
|
pytest-asyncio>=0.23.0
|
|
httpx>=0.26.0
|
|
ruff>=0.2.0
|
|
|
|
pillow>=12.1.1
|