[project] name = "agnes-the-ai-analyst" version = "2.0.0" description = "Agnes — AI Data Analyst platform for AI analytical systems" requires-python = ">=3.11,<3.14" license = "MIT" readme = "README.md" dependencies = [ # Core database "duckdb>=0.9.0", # Web framework (FastAPI) "fastapi>=0.115.0", "uvicorn[standard]>=0.32.0", "python-multipart>=0.0.9", "jinja2>=3.1.0", "starlette>=0.41.0", # Authentication "PyJWT>=2.8.0", "itsdangerous>=2.1.0", "authlib>=1.6.11", "argon2-cffi>=23.1.0", # HTTP client "httpx>=0.27.0", # CLI "typer>=0.12.0", "rich>=13.0.0", # Configuration "python-dotenv>=1.0.0", "pyyaml>=6.0", # Data processing "pandas>=2.0.0", "pyarrow>=12.0.0", "pytz>=2024.1", # Data source connectors "google-cloud-bigquery>=3.0.0", "google-cloud-bigquery-storage>=2.0.0", # Profiler visualizations "matplotlib>=3.8.0", "numpy>=1.24.0", ] [project.optional-dependencies] # keboola-legacy: install kbcstorage>=0.9.0 manually if you need the legacy # Keboola client fallback (primary path uses DuckDB Keboola extension) dev = [ "pytest>=9.0.0", "pytest-timeout>=2.0.0", "pytest-xdist>=3.0.0", "faker>=24.0.0", "anthropic>=0.30.0", "openai>=1.30.0", ] [project.scripts] da = "cli.main:app" [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.hatch.build.targets.wheel] packages = ["app", "src", "connectors", "cli", "services", "config"] [tool.uv] dev-dependencies = [ "pytest>=9.0.0", "pytest-timeout>=2.0.0", "pytest-xdist>=3.0.0", "faker>=24.0.0", "anthropic>=0.30.0", "openai>=1.30.0", ]