ferrero-opentext/Python-Version/requirements.txt
DJP b6b9d7337a Add CreativeX score extraction and storage system
Implements new workflow to extract CreativeX quality scores from PDFs
using LlamaExtract AI and store results in PostgreSQL database.

Components added:
- creativex_scoring_storing.py: Main script to process PDFs from Box
- creativex_scores table: Database table with JSONB for full JSON storage
- Database methods: store_creativex_score() and get_creativex_score_by_filename()
- Email templates: creativex_complete, creativex_partial, creativex_no_files
- Configuration: creativex section in config.yaml
- CREATIVEX_DEPLOYMENT.md: Complete deployment and usage guide

Features:
- Monitors Box folder 350605024645 for PDFs
- Extracts scores using LlamaExtract agent "Creativex-Extract"
- Stores 4 key fields (filename, ID, URL, score) + full JSON
- Deletes processed PDFs from Box after successful extraction
- Sends email notifications for success/partial/no-files scenarios
- Manual execution (python scripts/creativex_scoring_storing.py)

Database schema:
- Table: creativex_scores with 10 columns
- Indexes on filename, box_file_id, status for fast lookups
- JSONB column stores complete extraction for future flexibility

Future integration ready:
db.get_creativex_score_by_filename() available for DAM upload workflows
to attach CreativeX metadata during asset processing.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-11 16:15:45 -05:00

39 lines
706 B
Text

# Ferrero Content Scaling - Python Automation Dependencies
# Compatible with Python 3.6+ (server) and Python 3.10+ (local)
# Core HTTP and utilities
requests>=2.27.0
python-dotenv>=0.19.0
PyYAML>=5.4
python-dateutil>=2.8.0
# Database
psycopg2-binary>=2.8.0
# Box SDK (use 3.x for compatible API)
boxsdk>=3.0.0,<4.0.0
# Web Framework for webhook receiver
Flask>=2.0.0
Werkzeug>=2.0.0
# JWT handling (for Box authentication)
PyJWT>=2.3.0
cryptography>=3.4.0
# Email templates
Jinja2>=3.0.0
# LlamaExtract for CreativeX score extraction
llama-cloud-services>=0.1.0
# Retry logic
tenacity>=8.0.0
# Testing
pytest>=6.2.0
pytest-cov>=3.0.0
pytest-mock>=3.6.0
# HTTP mocking for tests
responses>=0.18.0