Created Python-Version/ directory structure: ✅ Complete folder hierarchy (scripts, config, logs, temp, tests) ✅ Virtual environment setup script ✅ Python 3.6+ compatible dependencies ✅ Configuration system with env var substitution ✅ DAM API client (complete) Components Implemented: 1. setup.sh - venv creation and dependency installation 2. requirements.txt - Python 3.6/3.10 compatible packages 3. config/config.yaml - Main configuration (URLs, credentials, settings) 4. config/field_mappings.yaml - MVP fields list (easy to edit!) 5. config_loader.py - YAML config with ${VAR} substitution 6. dam_client.py - Complete DAM API wrapper: - OAuth2 with auto-refresh - search_campaigns(status) - get_master_assets(campaign_id) - download_asset(asset_id) - upload_asset() with video metadata - update_campaign_status() - Helper methods Features: - Python 3.6 compatible (shared hosting requirement) - Python 3.10 compatible (local development) - Configuration-driven (no hardcoded values) - Environment-specific configs (staging/production) - Comprehensive error handling - Logging built-in Next: Box client, Database client, FilenameParser, MetadataExtractorMVP, Notifier, then main scripts (A1→A2, A2→A3) 🤖 Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
36 lines
685 B
Text
36 lines
685 B
Text
# Ferrero Content Scaling - Python Automation Dependencies
|
|
# Compatible with Python 3.6+ (server requirement) and Python 3.10+ (local development)
|
|
|
|
# Core HTTP and utilities
|
|
requests==2.27.1 # Last version supporting Python 3.6
|
|
python-dotenv==0.19.2
|
|
PyYAML==5.4.1
|
|
python-dateutil==2.8.2
|
|
|
|
# Database
|
|
psycopg2-binary==2.8.6
|
|
|
|
# Box SDK
|
|
boxsdk==2.14.1 # Python 3.6 compatible
|
|
|
|
# Web Framework for webhook receiver
|
|
Flask==2.0.3
|
|
Werkzeug==2.0.3
|
|
|
|
# JWT handling (for Box authentication)
|
|
PyJWT==2.3.0
|
|
cryptography==3.4.8
|
|
|
|
# Email templates
|
|
Jinja2==3.0.3
|
|
|
|
# Retry logic
|
|
tenacity==8.0.1
|
|
|
|
# Testing
|
|
pytest==6.2.5
|
|
pytest-cov==3.0.0
|
|
pytest-mock==3.6.1
|
|
|
|
# HTTP mocking for tests
|
|
responses==0.18.0
|