# TrendRadar System Requirements: Complete Installation Guide for Python 3.10+

> Discover TrendRadar system requirements including Python 3.10+ installation on any OS with minimal disk space. Get the complete guide for TrendRadar.

- Repository: [sansan/TrendRadar](https://github.com/sansan0/TrendRadar)
- Tags: getting-started
- Published: 2026-04-22

---

**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`](https://github.com/sansan0/TrendRadar/blob/main/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`](https://github.com/sansan0/TrendRadar/blob/main/setup-mac.sh) — macOS-specific verification
3. Runtime validation in [`trendradar/__main__.py`](https://github.com/sansan0/TrendRadar/blob/main/trendradar/__main__.py) entry point

Verify your Python version before installation:

```bash
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`](https://github.com/sansan0/TrendRadar/blob/main/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:

```bash
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`](https://github.com/sansan0/TrendRadar/blob/main/docker/docker-compose.yml) — orchestration configuration
- Helper scripts for common Docker operations

Deploy with Docker:

```bash
docker compose up -d

```

Or use the pre-built image:

```bash
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:

```bash

# 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`](https://github.com/sansan0/TrendRadar/blob/main/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.