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>
39 lines
706 B
Text
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
|