| # CompI Phase 2.D: Real-Time Data Feeds to Image Generation |
|
|
| ## 🌎 Overview |
|
|
| Phase 2.D connects your art to the pulse of the world through real-time data feeds. This phase integrates live weather data, breaking news, financial markets, and other real-time information to create artwork that captures the current moment in time and reflects the world's dynamic state. |
|
|
| ## ✨ Key Features |
|
|
| ### 🌐 Real-Time Data Integration |
| - **Weather Data**: Live weather conditions from OpenWeatherMap API |
| - **News Headlines**: Breaking news from RSS feeds and NewsAPI |
| - **Financial Data**: Cryptocurrency prices and exchange rates |
| - **Social Trends**: Real-time social media and trending topics (extensible) |
| - **Custom RSS Feeds**: Support for any RSS/XML data source |
|
|
| ### 🧠 Intelligent Context Processing |
| - **Data Summarization**: Automatic summarization of multiple data sources |
| - **Mood Detection**: Extract emotional context from real-time data |
| - **Theme Analysis**: Identify key themes and topics |
| - **Temporal Context**: Time-aware data processing and analysis |
| - **Artistic Inspiration**: Convert data patterns into creative prompts |
|
|
| ### 🔧 Technical Capabilities |
| - **Data Caching**: Intelligent caching to respect API rate limits |
| - **Batch Processing**: Multiple data source configurations |
| - **Temporal Series**: Generate art evolution over time |
| - **Error Handling**: Robust fallback mechanisms for API failures |
| - **Comprehensive Metadata**: Detailed real-time context tracking |
|
|
| ## 🛠️ Installation & Setup |
|
|
| ### Prerequisites |
| Ensure you have the base CompI environment set up with all dependencies from `requirements.txt`. |
|
|
| ### Additional Dependencies |
| Phase 2.D uses additional packages for real-time data processing: |
| ```bash |
| pip install requests feedparser |
| ``` |
|
|
| ### API Keys (Optional) |
| While Phase 2.D works with free data sources, you can enhance functionality with API keys: |
|
|
| #### OpenWeatherMap (Weather Data) |
| 1. Sign up at [OpenWeatherMap](https://openweathermap.org/api) |
| 2. Get your free API key (1000 calls/day) |
| 3. Enter in the interface or set as environment variable |
|
|
| #### NewsAPI (News Data) |
| 1. Sign up at [NewsAPI](https://newsapi.org/) |
| 2. Get your free API key (100 requests/day) |
| 3. Enter in the interface or set as environment variable |
|
|
| **Note**: Phase 2.D works without API keys using free RSS feeds and demo keys. |
|
|
| ## 🎯 Quick Start |
|
|
| ### 1. Launch the Interface |
|
|
| ```bash |
| # Navigate to your CompI project directory |
| cd "C:\Users\Aksharajsinh\Documents\augment-projects\Project CompI" |
| |
| # Run the Phase 2.D interface |
| streamlit run src/ui/compi_phase2d_streamlit_ui.py |
| |
| # Or use the main CompI interface |
| streamlit run compi_complete_app.py |
| # Then select "🌎 Phase 2.D: Real-Time Data-to-Image" |
| ``` |
|
|
| ### 2. Basic Real-Time Generation |
|
|
| 1. **Enter your creative prompt** (e.g., "A cityscape reflecting today's energy") |
| 2. **Choose your art style** (e.g., "cyberpunk digital art") |
| 3. **Enable data sources** (Weather, News, or Financial) |
| 4. **Configure data settings** (city for weather, news category, etc.) |
| 5. **Generate** and watch real-time data transform into art! |
|
|
| ### 3. Advanced Features |
|
|
| - **Batch Processing**: Generate multiple images with different data combinations |
| - **Temporal Series**: Create art evolution over time intervals |
| - **Context Strength**: Control how strongly real-time data influences the art |
| - **Data Preview**: See real-time context before generation |
|
|
| ## 📚 Data Sources & Examples |
|
|
| ### 🌤️ Weather Data Integration |
|
|
| #### Current Weather Conditions |
| ```python |
| # Example: Sunny weather in Paris |
| Weather Context: "Clear skies, 22°C, low humidity" |
| Artistic Influence: "bright and optimistic atmosphere" |
| Enhanced Prompt: "Parisian street scene, impressionist style, bright and optimistic atmosphere" |
| ``` |
|
|
| #### Weather Mood Mapping |
| - **Clear/Sunny**: Bright, optimistic, radiant |
| - **Cloudy**: Contemplative, soft, muted |
| - **Rainy**: Melancholic, reflective, dramatic |
| - **Stormy**: Intense, powerful, dynamic |
| - **Snowy**: Serene, peaceful, ethereal |
| - **Foggy**: Mysterious, ethereal, dreamlike |
|
|
| ### 📰 News Data Integration |
|
|
| #### Breaking News Headlines |
| ```python |
| # Example: Technology news |
| Headlines: "AI breakthrough in medical research; New space mission launched" |
| Artistic Influence: "capturing the pulse of current events, inspired by innovation" |
| Enhanced Prompt: "Futuristic laboratory, sci-fi art, capturing innovation and discovery" |
| ``` |
|
|
| #### News Category Mapping |
| - **Technology**: Futuristic, innovative, digital |
| - **Science**: Discovery, exploration, analytical |
| - **World**: Global, diverse, interconnected |
| - **Business**: Dynamic, structured, professional |
| - **General**: Contemporary, relevant, timely |
|
|
| ### 💹 Financial Data Integration |
|
|
| #### Market Conditions |
| ```python |
| # Example: Rising Bitcoin price |
| Financial Context: "Bitcoin: $45,000 USD, USD/EUR: 0.85" |
| Artistic Influence: "reflecting market dynamics and economic energy" |
| Enhanced Prompt: "Abstract composition, geometric art, reflecting economic energy and growth" |
| ``` |
|
|
| #### Market Mood Indicators |
| - **Rising Markets**: Energetic, upward, optimistic |
| - **Falling Markets**: Dramatic, intense, volatile |
| - **Stable Markets**: Balanced, steady, calm |
| - **High Volatility**: Dynamic, chaotic, electric |
|
|
| ## 🎨 Creative Workflows |
|
|
| ### 1. Moment Capture Workflow |
| **Goal**: Capture the current moment in artistic form |
|
|
| 1. **Enable all data sources** (Weather + News + Financial) |
| 2. **Use high context strength** (0.8-1.0) |
| 3. **Choose responsive styles** (abstract, impressionist, contemporary) |
| 4. **Generate immediately** to capture the current moment |
|
|
| ### 2. Temporal Evolution Workflow |
| **Goal**: Show how the world changes over time |
|
|
| 1. **Configure temporal series** (e.g., every 30 minutes) |
| 2. **Use consistent prompt and style** |
| 3. **Enable news feeds** for evolving content |
| 4. **Create time-lapse art series** |
|
|
| ### 3. Location-Based Workflow |
| **Goal**: Create art reflecting specific locations |
|
|
| 1. **Enable weather data** for target city |
| 2. **Use location-specific news** if available |
| 3. **Choose appropriate styles** (landscape, urban, cultural) |
| 4. **Incorporate local context** in prompts |
|
|
| ### 4. Thematic Workflow |
| **Goal**: Focus on specific themes or topics |
|
|
| 1. **Select relevant news categories** (technology, science, etc.) |
| 2. **Use thematic prompts** aligned with data |
| 3. **Adjust context strength** based on desired influence |
| 4. **Create thematic art series** |
|
|
| ## 🔧 Advanced Usage |
|
|
| ### Programmatic Access |
|
|
| ```python |
| from src.generators.compi_phase2d_realtime_to_image import CompIPhase2DRealTimeToImage |
| |
| # Initialize generator |
| generator = CompIPhase2DRealTimeToImage() |
| |
| # Generate with weather data |
| results = generator.generate_image( |
| text_prompt="A landscape reflecting today's weather", |
| style="impressionist painting", |
| include_weather=True, |
| weather_city="Tokyo", |
| weather_api_key="your_api_key", # Optional |
| context_strength=0.8, |
| num_images=2 |
| ) |
| |
| # Generate with news data |
| results = generator.generate_image( |
| text_prompt="Abstract representation of current events", |
| style="modern digital art", |
| include_news=True, |
| news_category="technology", |
| max_news=5, |
| context_strength=0.7 |
| ) |
| |
| # Generate with all data sources |
| results = generator.generate_image( |
| text_prompt="The world's current state", |
| style="surreal digital art", |
| include_weather=True, |
| weather_city="New York", |
| include_news=True, |
| news_category="world", |
| include_financial=True, |
| context_strength=0.9 |
| ) |
| ``` |
|
|
| ### Batch Processing |
|
|
| ```python |
| # Multiple data source configurations |
| data_configs = [ |
| {"include_weather": True, "weather_city": "London"}, |
| {"include_news": True, "news_category": "technology"}, |
| {"include_financial": True}, |
| {"include_weather": True, "include_news": True, "include_financial": True} |
| ] |
| |
| results = generator.batch_process_data_sources( |
| text_prompt="Global perspectives", |
| style="contemporary art", |
| data_source_configs=data_configs, |
| context_strength=0.7 |
| ) |
| ``` |
|
|
| ### Temporal Series Generation |
|
|
| ```python |
| # Generate art evolution over time |
| results = generator.generate_temporal_series( |
| text_prompt="The changing world", |
| style="abstract expressionism", |
| data_config={ |
| "include_weather": True, |
| "weather_city": "Paris", |
| "include_news": True, |
| "news_category": "general" |
| }, |
| time_intervals=[0, 30, 60, 120], # 0, 30min, 1hr, 2hr |
| context_strength=0.8 |
| ) |
| ``` |
|
|
| ## 📊 Understanding Real-Time Context |
|
|
| Phase 2.D processes real-time data across multiple dimensions: |
|
|
| ### Data Processing Pipeline |
| 1. **Data Fetching**: Retrieve data from multiple APIs and feeds |
| 2. **Caching**: Store data to respect rate limits and improve performance |
| 3. **Analysis**: Extract mood indicators, themes, and patterns |
| 4. **Summarization**: Create concise summaries of current context |
| 5. **Artistic Translation**: Convert data insights into creative prompts |
|
|
| ### Context Components |
| - **Summary**: Concise description of all data sources |
| - **Mood Indicators**: Emotional context derived from data |
| - **Key Themes**: Main topics and subjects identified |
| - **Temporal Context**: Time-aware contextual information |
| - **Artistic Inspiration**: Creative interpretation for prompt enhancement |
|
|
| ### Context Strength Levels |
| - **High (0.7-1.0)**: Strong data influence, detailed context integration |
| - **Medium (0.4-0.6)**: Moderate data influence, balanced integration |
| - **Low (0.1-0.3)**: Subtle data influence, minimal context addition |
|
|
| ## 🎯 Tips for Best Results |
|
|
| ### Data Source Selection |
| 1. **Weather**: Best for location-specific, atmospheric art |
| 2. **News**: Ideal for contemporary, socially-relevant themes |
| 3. **Financial**: Great for abstract, dynamic, economic themes |
| 4. **Combined**: Use multiple sources for rich, complex context |
|
|
| ### Prompt Engineering |
| 1. **Responsive prompts**: Use prompts that can adapt to data context |
| 2. **Flexible styles**: Choose styles that work with various moods |
| 3. **Context awareness**: Consider how data might influence your vision |
| 4. **Temporal relevance**: Use time-aware language when appropriate |
|
|
| ### Context Strength Guidelines |
| 1. **High strength**: When data should drive the artistic direction |
| 2. **Medium strength**: For balanced data-art integration |
| 3. **Low strength**: When data should provide subtle inspiration |
| 4. **Variable strength**: Experiment to find optimal balance |
|
|
| ## 🔍 Troubleshooting |
|
|
| ### Common Issues |
|
|
| **"No real-time data available"** |
| - Check internet connection |
| - Verify API keys if using premium features |
| - Try different data sources |
| - Check API rate limits |
|
|
| **"API connection failed"** |
| - Verify API keys are correct |
| - Check if APIs are operational |
| - Try using free RSS feeds instead |
| - Reduce request frequency |
|
|
| **"Weak data influence"** |
| - Increase context strength |
| - Use more responsive prompts |
| - Enable multiple data sources |
| - Check data quality and relevance |
|
|
| ### Performance Optimization |
| - Use data caching to reduce API calls |
| - Enable only needed data sources |
| - Use appropriate context strength levels |
| - Monitor API rate limits and usage |
|
|
| ## 🚀 Next Steps |
|
|
| After mastering Phase 2.D, consider: |
| 1. **Multimodal Fusion**: Combine real-time data with emotions (2.C) or audio (2.A) |
| 2. **Custom Data Sources**: Add your own RSS feeds or APIs |
| 3. **Temporal Art Projects**: Create long-term data evolution series |
| 4. **Location-Based Art**: Develop city or region-specific art projects |
| 5. **News Art Automation**: Set up automated news-driven art generation |
|
|
| --- |
|
|
| **Ready to connect your art to the world's pulse?** Launch the interface and start creating real-time responsive artwork! 🌎📡🎨 |
|
|