TrendRadar System Requirements: Complete Installation Guide for Python 3.10+
TrendRadar requires Python 3.10 or newer, any operating system that supports Python, and approximately 50-100 MB of disk space for dependencies; no external database server is needed.
TrendRadar is a pure-Python news aggregation and analysis tool developed by sansan0. This guide covers the complete system requirements for TrendRadar, including mandatory dependencies, optional components, and installation methods verified against the source code.
Core System Requirements
Operating System Compatibility
TrendRadar runs on any operating system capable of running Python 3.10 or newer. The repository includes platform-specific setup scripts that verify compatibility before installation:
- Linux: Direct Python execution
- macOS:
setup-mac.shscript with version validation - Windows:
setup-windows.batwith explicit Python 3.10+ check
The Windows batch script (setup-windows.bat) contains the version verification logic: it checks for Python ≥ 3.10 and aborts with the message "Python 版本不兼容(需要 ^>= 3.10)" if the requirement is not met.
Python Interpreter Version
Python 3.10 or newer is mandatory. This requirement is enforced in multiple locations:
setup-windows.bat— explicit version check before dependency installationsetup-mac.sh— macOS-specific verification- Runtime validation in
trendradar/__main__.pyentry point
Verify your Python version before installation:
python -c "import sys; assert sys.version_info >= (3,10), 'Python 3.10+ required'"
Package Manager
TrendRadar supports two package managers:
- uv (recommended): Fast Python package manager referenced in setup scripts
- pip: Standard Python package manager, fully compatible
The quick-start documentation and shell scripts assume uv availability, but all commands work with pip by substituting uv pip install with pip install.
Dependency Requirements
Runtime Python Packages
All dependencies are pinned in requirements.txt. The current version (v6.6.1) requires:
| Package | Version | Purpose |
|---|---|---|
requests |
2.33.0 | HTTP requests for news APIs |
pytz |
2026.1 | Timezone handling |
PyYAML |
6.0.3 | Configuration file parsing |
fastmcp |
2.12.5 | MCP protocol implementation |
websockets |
13.1 | Real-time WebSocket connections |
feedparser |
6.0.12 | RSS/Atom feed parsing |
boto3 |
1.42.76 | AWS S3-compatible storage |
litellm |
1.82.6 | Unified LLM API interface |
json-repair |
0.58.6 | JSON fixing utilities |
tenacity |
8.5.0 | Retry logic |
Install all dependencies:
uv pip install -r requirements.txt
Database Requirements
TrendRadar uses SQLite as the default storage backend. No external database server is required.
The storage implementation in trendradar/storage/*.py creates and manages local SQLite databases at output/news/*.db. This design eliminates infrastructure requirements for standard deployments.
Network and Infrastructure Requirements
Internet Connectivity
Network access is required for:
- Fetching news from the newsnow API
- Retrieving RSS feeds from configured sources
- Optional AI service calls via LiteLLM (OpenAI, Gemini, DeepSeek, Anthropic, etc.)
- Optional cloud storage uploads to Cloudflare R2 or S3-compatible services
No inbound ports need to be open for core functionality.
Optional: Docker Support
For containerized deployment, additional requirements apply:
| Component | Minimum Version |
|---|---|
| Docker | 20.10 |
| Docker Compose | 1.29+ (or v2 plugin) |
The repository includes:
docker/Dockerfile— production container imagedocker/docker-compose.yml— orchestration configuration- Helper scripts for common Docker operations
Deploy with Docker:
docker compose up -d
Or use the pre-built image:
docker run -e PYTHONUNBUFFERED=1 -v $(pwd)/config:/app/config wantcat/trendradar
Optional Feature Requirements
AI Analysis Capabilities
To enable AI-powered features (summarization, translation, smart filtering), provide:
- Valid API key for a supported LLM provider
- Configuration via environment variables (
AI_API_KEY,AI_BASE_URL) or.envfile
Supported providers (via LiteLLM): OpenAI, DeepSeek, Gemini, Anthropic, and others.
The .env file should never be committed to version control.
Notification Services
For push notifications, configure the appropriate credentials:
| Service | Required Credentials |
|---|---|
| WeWork | Webhook URL |
| Feishu | Webhook URL |
| Telegram | Bot token |
| SMTP server, username, password | |
| ntfy | Topic URL |
| Bark | Device key |
| Slack | Webhook URL |
These are set as environment variables or repository secrets, never in committed files.
Installation Verification
After installation, verify your environment:
# Check Python version
python --version # Should show 3.10 or higher
# Verify dependencies
python -c "import requests, pytz, yaml, fastmcp, feedparser; print('All core dependencies present')"
# Test TrendRadar entry point
python -m trendradar --help
Summary
- TrendRadar system requirements center on Python 3.10+ and approximately 50-100 MB for dependencies
- Operating system: Any platform supporting Python (Linux, macOS, Windows with dedicated setup scripts)
- Database: SQLite built-in; no external server required
- Package manager: uv recommended, pip fully compatible
- Optional enhancements: Docker 20.10+, AI provider API keys, notification service credentials
Frequently Asked Questions
What is the minimum Python version for TrendRadar?
Python 3.10 is the minimum required version. The setup-windows.bat and setup-mac.sh scripts explicitly check for this and abort installation if an older version is detected.
Does TrendRadar require a database server?
No. TrendRadar uses SQLite as the default storage backend, which requires no separate installation or configuration. All data is stored in local .db files under output/news/.
Can I run TrendRadar without Docker?
Yes. Docker is optional. You can run TrendRadar directly with Python after installing dependencies via uv pip install -r requirements.txt or pip install -r requirements.txt.
What AI providers work with TrendRadar's optional AI features?
TrendRadar uses LiteLLM to support multiple providers including OpenAI, DeepSeek, Gemini, and Anthropic. You need a valid API key for your chosen provider, configured via environment variables or a .env file.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →