|
# 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! ππ‘π¨ |
|
|