A newer version of the Streamlit SDK is available:
1.48.1
title: Global Business News Intelligence
emoji: π
colorFrom: blue
colorTo: yellow
sdk: streamlit
app_file: app.py
pinned: false
sdk_version: 1.48.0
π Global Business News Intelligence Dashboard
Advanced AI-powered news analysis platform with multilingual support, sentiment analysis, and comprehensive reporting
π Table of Contents
Overview Key Features Business Use Cases Architecture Quick Start API Documentation Technical Stack Sample Outputs Deployment
π Overview The Global Business News Intelligence Dashboard is a comprehensive AI-powered platform that aggregates, analyzes, and synthesizes business news from multiple sources. Built with modern ML/NLP techniques, it provides real-time sentiment analysis, multilingual summaries, and professional reporting capabilities. Perfect for: Investment research, brand monitoring, market intelligence, media analysis, and competitive intelligence. π― Key Features π Advanced News Aggregation
Multi-source scraping from RSS feeds (Google News, Reuters, Bloomberg, etc.) Intelligent deduplication and relevance filtering Real-time processing of 5-50 articles per query Language detection and English content filtering
π― Multi-Model Sentiment Analysis
VADER - General sentiment analysis Loughran-McDonald - Financial sentiment dictionary FinBERT - Domain-specific financial sentiment Hybrid scoring with weighted model combination
π Multilingual Support
Text summarization with transformer models Translation to Hindi and Tamil Audio generation with text-to-speech in 3 languages Cultural context preservation in translations
π Interactive Dashboard
Real-time visualizations with Plotly Sentiment distribution charts and timelines Keyword clouds and topic analysis Source coverage analysis and metrics
π€ Professional Reporting
PDF reports with charts and analysis CSV/JSON exports for data analysis Executive summaries with key insights Professional formatting ready for stakeholders
π RESTful API
Programmatic access to all features Batch processing capabilities JSON responses with comprehensive data Rate limiting and error handling
π’ Business Use Cases π Investment Research
Track sentiment around stocks and companies Monitor earnings coverage and market reactions Analyze competitor mentions and market positioning Generate investment thesis supporting materials
π’ Brand Monitoring
Monitor public perception across news sources Track crisis communications and reputation Analyze competitor brand coverage Generate brand health reports
π Market Intelligence
Stay informed about industry trends Monitor regulatory and policy changes Track emerging technologies and disruptions Analyze market sentiment shifts
π° Media Analysis
Analyze coverage patterns across sources Identify media bias and perspective differences Track story lifecycle and narrative changes Generate media landscape reports
ποΈ Architecture βββββββββββββββββββ ββββββββββββββββββββ βββββββββββββββββββ β Streamlit UI β β FastAPI Core β β Data Layer β β β β β β β β β’ Dashboard βββββΊβ β’ News Analyzer βββββΊβ β’ RSS Feeds β β β’ Controls β β β’ API Endpoints β β β’ Web Scraping β β β’ Visualizationsβ β β’ Process Orchestrβ β β’ Cache Storage β βββββββββββββββββββ ββββββββββββββββββββ βββββββββββββββββββ β βββββββββββββββββΌββββββββββββββββ β β β βββββββββββββββββββ ββββββββββββββββ βββββββββββββββββββ β NLP Processing β β ML Pipeline β β Output Generationβ β β β β β β β β’ Text Cleaning β β β’ Sentiment β β β’ Summarization β β β’ Language Det. β β β’ Keywords β β β’ Translation β β β’ Content Extr. β β β’ Entity Extrβ β β’ Audio/Reports β βββββββββββββββββββ ββββββββββββββββ βββββββββββββββββββ Core Components
app.py - Streamlit frontend with interactive dashboard api.py - FastAPI backend with analysis orchestration scraper.py - Multi-source news aggregation with deduplication nlp.py - Sentiment analysis and keyword extraction summarizer.py - Text summarization with chunking translator.py - Multilingual translation pipeline tts.py - Text-to-speech audio generation report.py - Professional PDF/CSV/JSON report generation utils.py - Caching, logging, and utility functions
β‘ Quick Start
- Clone & Setup bashgit clone https://github.com/your-repo/news-intelligence-dashboard cd news-intelligence-dashboard pip install -r requirements.txt
- Run Application bash# Launch Streamlit Dashboard streamlit run app.py
Or run FastAPI server
python -m uvicorn api:app --host 0.0.0.0 --port 8000 3. Access Dashboard
Streamlit UI: http://localhost:8501 API Docs: http://localhost:8000/docs Health Check: http://localhost:8000/health
- Basic Usage
Enter a company name, stock ticker, or keyword Configure analysis settings (articles, languages, models) Click "Analyze News" and wait for processing Explore results in interactive dashboard Export findings as PDF, CSV, or JSON
π API Documentation Core Endpoint httpGET /api/analyze?query=Tesla&num_articles=20&languages=English,Hindi Request Parameters ParameterTypeDefaultDescriptionquerystringrequiredCompany/keyword to analyzenum_articlesinteger20Number of articles (5-50)languagesarray["English"]Summary languagesinclude_audiobooleantrueGenerate audio summariessentiment_modelsarray["VADER","LM","FinBERT"]Models to use Sample Response json{ "query": "Tesla", "total_articles": 20, "processing_time": 45.67, "average_sentiment": 0.234, "sentiment_distribution": { "Positive": 12, "Negative": 3, "Neutral": 5 }, "articles": [...], "keywords": [...], "audio_files": {...} } Additional Endpoints
GET /api/sources - Available news sources GET /api/models - Available ML models GET /api/keywords/{query} - Extract keywords only GET /health - System health check
π οΈ Technical Stack Backend
FastAPI - High-performance API framework Streamlit - Interactive web interface Python 3.8+ - Core runtime environment
Machine Learning
Transformers - BERT, DistilBART, and T5 models PyTorch - Deep learning framework NLTK - Natural language processing VADER - Lexicon-based sentiment analysis
Data Processing
Pandas/NumPy - Data manipulation BeautifulSoup - HTML parsing Trafilatura - Content extraction Feedparser - RSS feed processing
Visualization
Plotly - Interactive charts Matplotlib - Static visualizations WordCloud - Keyword visualization
Output Generation
ReportLab - PDF generation gTTS - Text-to-speech Helsinki-NLP - Translation models
π Sample Outputs Dashboard Screenshots Main Dashboard Show Image Interactive sentiment analysis dashboard with real-time charts Sentiment Analysis Show Image Multi-model sentiment scoring with detailed breakdowns Article Analysis Show Image Individual article analysis with summaries and scores Sample PDF Report Show Image Professional PDF report with executive summary and visualizations Sample API Response json{ "query": "Apple Inc", "total_articles": 25, "processing_time": 52.3, "average_sentiment": 0.156, "sentiment_distribution": { "Positive": 15, "Negative": 4, "Neutral": 6 }, "top_keywords": [ {"keyword": "iPhone sales", "score": 0.89}, {"keyword": "quarterly earnings", "score": 0.76}, {"keyword": "market share", "score": 0.68} ], "summary": "Predominantly positive coverage focusing on strong iPhone sales and quarterly performance..." } π Deployment Hugging Face Spaces (Recommended)
Fork this repository Create new Space on Hugging Face Upload all files to your Space Space will auto-deploy with Streamlit
Docker Deployment dockerfileFROM python:3.8-slim WORKDIR /app COPY requirements.txt . RUN pip install -r requirements.txt COPY . . EXPOSE 8501 CMD ["streamlit", "run", "app.py", "--server.address=0.0.0.0"] Local Development bash# Install dependencies pip install -r requirements.txt
Set environment variables
export STREAMLIT_SERVER_HEADLESS=true export STREAMLIT_SERVER_PORT=8501
Run application
streamlit run app.py Environment Variables bash# Optional configuration STREAMLIT_SERVER_HEADLESS=true STREAMLIT_SERVER_PORT=8501 FASTAPI_HOST=0.0.0.0 FASTAPI_PORT=8000 CACHE_TTL_HOURS=6 MAX_ARTICLES=50 DEBUG_MODE=false π Performance Metrics
Processing Speed: 20-50 articles in 30-60 seconds Memory Usage: ~2GB RAM for full pipeline API Response Time: <5 seconds for typical queries Accuracy: >85% sentiment classification accuracy Language Support: English, Hindi, Tamil Concurrent Users: Supports 10+ simultaneous sessions
π€ Contributing We welcome contributions! Please see our Contributing Guidelines for details. Development Setup bash# Clone repository git clone https://github.com/your-repo/news-intelligence-dashboard cd news-intelligence-dashboard
Create virtual environment
python -m venv venv source venv/bin/activate # Linux/Mac
or venv\Scripts\activate # Windows
Install development dependencies
pip install -r requirements.txt pip install -r requirements-dev.txt
Run tests
python -m pytest tests/ π License This project is licensed under the MIT License - see the LICENSE file for details. π Acknowledgments
Hugging Face - Transformer models and hosting Streamlit - Interactive web framework FastAPI - High-performance API framework NLTK/VADER - Sentiment analysis tools ReportLab - PDF generation capabilities
π Support
Documentation: Project Wiki Issues: GitHub Issues Discussions: GitHub Discussions Email: [email protected]
π‘ Ready to Deploy? This project is 100% ready for Hugging Face Spaces deployment. Simply upload all files to your Space and it will automatically deploy with zero configuration required. π Deploy to Hugging Face Spaces
Built with β€οΈ for the AI and finance community Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference