A comprehensive Python-based dashboard built with Streamlit for analyzing news data from NewsData.io with advanced visualizations, sentiment analysis, PDF export, and detailed reporting.
โ 3 API Endpoints Support
- Latest News (past 48 hours)
- Crypto News (cryptocurrency-specific)
- Archive News (up to 7 years historical data)
โ Advanced Filtering
- Search by keywords
- Geographic filters (country, language)
- Content filters (category, sentiment, domain)
- Crypto coin filtering
- Time range selection
โ Interactive Visualizations
- 6 Plotly interactive charts
- Keyword word cloud
- Real-time progress tracking
- Responsive design
โ Data Analysis
- Statistics dashboard
- Sentiment distribution analysis
- Source credibility metrics
- Geographic coverage analysis
- Timeline trends
โ Export Capabilities
- CSV export
- JSON export
- PDF Report (NEW!)
Professional PDF reports including:
- Summary statistics
- Detailed sentiment analysis (avg, max, min scores)
- Top 10 news sources
- Sentiment distribution
- API request details
- Timestamp and metadata
View the actual API request:
- Complete endpoint URL
- All parameters used
- Expandable section
- Useful for debugging
Detailed sentiment metrics:
- Average positive/neutral/negative percentages
- Maximum sentiment scores
- Minimum sentiment scores
- Interactive metric cards
- Detailed data table
- Extract ZIP file
- Double-click
setup.bat - Double-click
run.bat
cd newsdata-streamlit-dashboard
python -m venv venv
venv\Scripts\activate
pip install --upgrade pip
pip install -r requirements.txt
streamlit run app.pycd newsdata-streamlit-dashboard
chmod +x setup.sh run.sh
./setup.sh
./run.shcd newsdata-streamlit-dashboard
python3 -m venv venv
source venv/bin/activate
pip install --upgrade pip
pip install -r requirements.txt
streamlit run app.py- Visit NewsData.io
- Sign up for free
- Copy API key
# Windows
run.bat
# Linux
./run.sh- Enter API key in sidebar
- Select endpoint
- Set filters
- Click "Search News"
- Click "Generate Analysis"
- View statistics and charts
- Check detailed sentiment analysis
- View API request details
- Download reports (CSV/JSON/PDF)
- Excel-compatible
- All article data
- Metadata included
- Developer-friendly
- Complete data structure
- Easy to parse
Professional report with:
- Summary statistics
- API request details
- Detailed sentiment analysis (average, max, min scores)
- Top 10 sources
- Sentiment distribution
- Timestamp
"Python not found"
# Windows: Download from python.org
# Linux: sudo apt install python3 python3-pip python3-venvPackage installation fails
pip install --upgrade pip
pip install --no-cache-dir -r requirements.txtPermission denied (Linux)
chmod +x setup.sh run.shCharts not displaying
streamlit cache clear
pip install --upgrade plotlyPDF export fails
pip install reportlab==4.0.7 kaleido==0.2.1- Multi-search comparison
- Trend detection
- Source credibility scoring
- Custom date grouping
- Advanced filtering UI
- Email report scheduling
- Database integration
- API response caching
- Custom alert triggers
- Webhook integration
streamlit==1.28.2 # Web framework
requests==2.31.0 # HTTP requests
pandas==2.0.3 # Data manipulation
plotly==5.18.0 # Interactive charts
wordcloud==1.9.3 # Word cloud generation
matplotlib==3.7.5 # Chart rendering
reportlab==4.0.7 # PDF generation
kaleido==0.2.1 # Chart export# Install
pip install -r requirements.txt
# Run
streamlit run app.py
# Stop
Ctrl + C
# Deactivate venv
deactivate- NewsData.io for excellent API
- Streamlit for amazing framework
- Plotly for interactive charts
- Open-source community
Made with โค๏ธ using Python & Streamlit
Happy Analyzing! ๐