# PersonalizationMCP - Unified Personal Data Hub
# 
# Installation Guide:
# Due to bilibili-api dependency complexity, installation requires multiple steps:
#
# Method 1: Using uv (Recommended)
# ================================
# 1. Install uv: https://docs.astral.sh/uv/getting-started/installation/
# 2. Create and sync environment:
#    uv venv
#    uv sync
#    source .venv/bin/activate  # On Windows: .venv\Scripts\activate
#
# Method 2: Using pip (Manual Installation)
# ========================================
# 1. Create virtual environment:
#    python -m venv venv
#    source venv/bin/activate  # On Windows: venv\Scripts\activate
#
# 2. Install in specific order to avoid compilation issues:
#    pip install lxml  # Install lxml first (uses precompiled wheel)
#    pip install bilibili-api --no-deps  # Install bilibili-api without dependencies
#    pip install -r requirements.txt  # Install all other dependencies
#
# Method 3: Using conda (Alternative)
# ==================================
# 1. Create conda environment:
#    conda create -n personalhub python=3.12
#    conda activate personalhub
#    conda install lxml  # Install lxml via conda
#
# 2. Install remaining packages:
#    pip install bilibili-api --no-deps
#    pip install -r requirements.txt

# ============================================================================
# CORE DEPENDENCIES
# ============================================================================

# MCP Framework
mcp[cli]==1.13.1

# HTTP Client
httpx==0.28.1

# Async utilities
nest-asyncio==1.6.0

# Environment management
python-dotenv==1.1.1

# ============================================================================
# BILIBILI API DEPENDENCIES
# ============================================================================
# Note: bilibili-api should be installed separately with --no-deps
# These are its required dependencies:

# HTTP and async libraries
aiohttp==3.12.15
aiohappyeyeballs==2.6.1
aiosignal==1.4.0
multidict==6.6.4
yarl==1.20.1
frozenlist==1.7.0
propcache==0.3.2

# HTML parsing
beautifulsoup4==4.13.5
soupsieve==2.8

# Data processing
lxml==6.0.1
pyyaml==6.0.2

# Compression
brotli==1.1.0

# Networking
urllib3==2.5.0
certifi==2025.8.3

# Utilities
colorama==0.4.6
attrs==25.3.0

# ============================================================================
# MCP FRAMEWORK DEPENDENCIES
# ============================================================================

# Validation and serialization
pydantic==2.11.7
pydantic-core==2.33.2
pydantic-settings==2.10.1
annotated-types==0.7.0

# JSON Schema
jsonschema==4.25.1
jsonschema-specifications==2025.4.1
referencing==0.36.2
rpds-py==0.27.1

# CLI and UI
click==8.2.1
typer==0.17.4
rich==14.1.0
markdown-it-py==4.0.0
mdurl==0.1.2
pygments==2.19.2
shellingham==1.5.4

# Async and networking
anyio==4.10.0
sniffio==1.3.1
idna==3.10
h11==0.16.0
httpcore==1.0.9
httpx-sse==0.4.1

# Server components
starlette==0.47.3
uvicorn==0.35.0
sse-starlette==3.0.2
python-multipart==0.0.20

# Type system
typing-extensions==4.15.0
typing-inspection==0.4.1