# === Core Dependencies ===

# Web Framework and API
fastapi>=0.95.0
uvicorn>=0.21.1
pydantic>=1.10.7
starlette>=0.26.1
python-multipart>=0.0.6  # For file uploads
email-validator>=2.0.0  # For email validation

# Authentication and Security
python-jose>=3.3.0  # For JWT
passlib>=1.7.4  # For password hashing
argon2-cffi  # For password hashing
cryptography>=40.0.2  # Required by jose

# Utilities
typing-extensions>=4.5.0
python-dateutil>=2.8.2
uuid>=1.30
tqdm>=4.65.0  # For progress tracking
pytz>=2023.3  # For timezone handling

# === Development and Testing Dependencies ===

pytest>=7.3.1
pytest-asyncio>=0.21.0
black>=23.3.0  # Code formatting
isort>=5.12.0  # Import sorting
flake8>=6.0.0  # Linting
mypy>=1.2.0  # Type checking

# === Database Interface Dependencies ===

# JSON DB Connector
jsonpickle>=3.0.1  # For advanced JSON serialization

# === LucyDOM Interface Dependencies ===

# DataFrame and Data Processing
pandas>=2.0.0
numpy>=1.24.2
openpyxl>=3.1.2  # For Excel file support
xlrd>=2.0.1  # For legacy Excel file support
PyPDF2>=3.0.1  # For PDF file support

# === Agent Service Interface Dependencies ===
# HTTP Client and Web Scraping
httpx>=0.24.0  # Async HTTP client
requests>=2.28.2  # Synchronous HTTP client
beautifulsoup4>=4.12.2  # For web scraping
lxml>=4.9.2  # For faster HTML parsing
html5lib>=1.1  # Alternative HTML parser
aiofiles>=23.1.0  # Async file operations

# AI and NLP
openai>=0.27.4  # OpenAI API client
#nltk>=3.8.1  # Natural Language Toolkit
#scikit-learn>=1.2.2  # For machine learning utilities
#spacy>=3.5.2  # For advanced NLP

# Visualization (for generating reports)
matplotlib>=3.7.1
seaborn>=0.12.2
plotly>=5.14.1
kaleido>=0.2.1  # For static image export
