- Implement tests for database generator to ensure proper session handling. - Create tests for EXIF extraction and conversion functions. - Add tests for image-related endpoints, ensuring proper data retrieval and isolation between clients. - Develop tests for OCR functionality, including language detection and text extraction. - Introduce tests for the image processing pipeline, covering success and failure scenarios. - Validate rate limiting functionality and ensure independent counters for different clients. - Implement scraper tests to verify HTML content fetching and error handling. - Add unit tests for various services, including storage and filename generation. - Establish worker entry point for ARQ to handle background image processing tasks.
54 lines
886 B
Plaintext
54 lines
886 B
Plaintext
# Web Framework
|
|
fastapi==0.115.0
|
|
uvicorn[standard]==0.30.6
|
|
python-multipart==0.0.9
|
|
|
|
# Database
|
|
sqlalchemy==2.0.35
|
|
alembic==1.13.3
|
|
aiosqlite==0.20.0
|
|
|
|
# Validation
|
|
pydantic==2.9.2; python_version < "3.14"
|
|
pydantic>=2.12.0; python_version >= "3.14"
|
|
pydantic-settings==2.5.2
|
|
|
|
# Image Processing
|
|
Pillow==10.4.0; python_version < "3.14"
|
|
Pillow>=11.0.0; python_version >= "3.14"
|
|
piexif==1.1.3
|
|
|
|
# OCR
|
|
pytesseract==0.3.13
|
|
|
|
# AI
|
|
google-genai==1.0.0
|
|
httpx==0.27.2
|
|
|
|
# Web scraping (pour les URLs)
|
|
beautifulsoup4==4.12.3
|
|
|
|
# Task scheduling
|
|
apscheduler==3.10.4
|
|
|
|
# Task queue (ARQ + Redis)
|
|
arq==0.25.0
|
|
redis==5.0.8
|
|
|
|
# Storage abstraction (S3/MinIO)
|
|
aioboto3==13.0.0
|
|
itsdangerous==2.2.0
|
|
|
|
# Observability
|
|
structlog==24.4.0
|
|
prometheus-fastapi-instrumentator==7.0.2
|
|
|
|
# Utilities
|
|
python-dotenv==1.0.1
|
|
python-jose[cryptography]==3.3.0
|
|
passlib[bcrypt]==1.7.4
|
|
aiofiles==24.1.0
|
|
|
|
# Rate Limiting
|
|
slowapi==0.1.9
|