# Contact Discovery Pipeline Requirements ## Core Dependencies (Educational Implementation) ```bash # Core service dependencies pip install fastapi uvicorn # Phone number handling (optional for advanced validation) pip install phonenumbers # Dashboard dependencies (optional) pip install streamlit plotly pandas # Additional utilities (optional) pip install pydantic python-multipart httpx aiofiles ``` ## Minimal Installation For the basic educational demonstration with no external dependencies: ```bash # The core service uses only Python standard library python contact_discovery_service.py # The dashboard uses only Python standard library python contact_discovery_dashboard.py ``` ## Full Installation For all features including advanced validation and visualization: ```bash # Install all dependencies pip install fastapi uvicorn streamlit plotly pandas phonenumbers pydantic python-multipart httpx aiofiles ``` ## Development Setup ```bash # Create virtual environment python -m venv contact_discovery_env source contact_discovery_env/bin/activate # On Windows: contact_discovery_env\Scripts\activate # Install dependencies pip install fastapi uvicorn streamlit plotly pandas # Verify installation python -c "import fastapi, streamlit, plotly; print('Dependencies installed successfully')" ``` ## Version Requirements - Python 3.7+ - fastapi>=0.68.0 - uvicorn[standard]>=0.15.0 - streamlit>=1.28.0 (optional) - plotly>=5.17.0 (optional) - pandas>=2.1.0 (optional) - phonenumbers>=8.13.0 (optional) - pydantic>=2.5.0 (optional) - python-multipart>=0.0.6 (optional) - httpx>=0.25.0 (optional) - aiofiles>=23.2.0 (optional) ## Notes - The core educational implementation uses only Python standard library modules - External dependencies are optional for enhanced features - SQLite3 is built into Python 3.7+ - No database drivers required for the basic demonstration