ferrero-opentext/Python-Version/requirements.txt
DJP 9dc272f8bf Start Python automation - Foundation components
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>
2025-10-30 16:38:26 -04:00

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