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.sh script with version validation
  • Windows: setup-windows.bat with 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:

  1. setup-windows.bat — explicit version check before dependency installation
  2. setup-mac.sh — macOS-specific verification
  3. Runtime validation in trendradar/__main__.py entry 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 image
  • docker/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 .env file

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
Email 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:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →