Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 25 additions & 25 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -16,35 +16,35 @@ keywords = [

dependencies = [
# Core Framework
"fastapi>=0.136.3",
"fastapi>=0.138.2",
"uvicorn[standard]>=0.48.0",
# MCP Server
"mcp>=1.27.2",
"mcp>=1.28.1",
"fastmcp>=3.4.2",
# Database
"sqlalchemy[asyncio]>=2.0.50",
"asyncpg>=0.30.0",
"pg8000>=1.31.0", # Sync driver for Cloud SQL Connector in GitHub Actions
"alembic>=1.14.0",
"alembic>=1.18.5",
"cloud-sql-python-connector[asyncpg,pg8000]>=1.20.3", # Cloud SQL Connector
# Data & Plotting
"pandas>=3.0.3",
"numpy>=2.4.6",
"matplotlib>=3.10.9",
"numpy>=2.5.0",
"matplotlib>=3.11.0",
# Data Science & ML (for plot implementations)
"scipy>=1.14.0",
"scipy>=1.18.0",
"scikit-learn>=1.9.0",
"statsmodels>=0.14.0",
# AI & Cloud
"anthropic>=0.107.1",
"google-cloud-storage>=3.11.0",
"anthropic>=0.113.0",
"google-cloud-storage>=3.12.0",
# Image Processing
"pillow>=11.0.0",
# HTTP Client
"httpx>=0.28.0",
# Essentials
"pydantic>=2.13.4",
"pydantic-settings>=2.14.1",
"pydantic-settings>=2.14.2",
"pyyaml>=6.0.0",
"python-dotenv>=1.0.0",
"pandas-stubs>=3.0.3.260530",
Expand All @@ -56,14 +56,14 @@ dependencies = [

[project.optional-dependencies]
test = [
"pytest>=8.4.0",
"pytest>=9.1.1",
"pytest-cov>=6.2.1",
"pytest-asyncio>=1.4.0",
"httpx>=0.28.0", # For testing FastAPI
"aiosqlite>=0.20.0", # SQLite async driver for integration tests
]
dev = [
"ruff>=0.15.16",
"ruff>=0.15.20",
"pre-commit>=4.6.0",
]
typecheck = [
Expand All @@ -74,19 +74,19 @@ plotting = [
"seaborn>=0.13.0",
"plotly>=6.8.0",
"bokeh>=3.9.1",
"altair>=6.2.1",
"plotnine>=0.15.5",
"pygal>=3.0.0",
"altair>=6.2.2",
"plotnine>=0.15.7",
"pygal>=3.1.3",
"highcharts-core>=1.11.0",
"lets-plot>=4.10.1",
# PNG export dependencies
"vl-convert-python>=1.7.0", # altair PNG export
"kaleido>=1.3.0", # plotly PNG export
"selenium>=4.44.0", # bokeh/highcharts PNG export
"selenium>=4.45.0", # bokeh/highcharts PNG export
"webdriver-manager>=4.1.2", # auto-install chromedriver
"cairosvg>=2.7.0", # pygal PNG export
# Common data science stack used across plot implementations
"scipy>=1.14.0",
"scipy>=1.18.0",
"scikit-learn>=1.9.0",
"statsmodels>=0.14.0",
# matplotlib add-ons required by individual specs:
Expand All @@ -98,15 +98,15 @@ plotting = [
"squarify>=0.4.0",
]
# Per-library dependencies for CI (minimal installs)
lib-matplotlib = ["matplotlib>=3.10.9", "numpy>=2.4.6", "pandas>=3.0.3", "scipy>=1.14.0", "scikit-learn>=1.9.0", "statsmodels>=0.14.0"]
lib-seaborn = ["seaborn>=0.13.0", "matplotlib>=3.10.9", "numpy>=2.4.6", "pandas>=3.0.3", "scipy>=1.14.0", "scikit-learn>=1.9.0", "statsmodels>=0.14.0"]
lib-plotly = ["plotly>=6.8.0", "kaleido>=1.3.0", "numpy>=2.4.6", "pandas>=3.0.3", "scipy>=1.14.0", "scikit-learn>=1.9.0", "statsmodels>=0.14.0"]
lib-bokeh = ["bokeh>=3.9.1", "numpy>=2.4.6", "pandas>=3.0.3", "scipy>=1.14.0", "scikit-learn>=1.9.0", "statsmodels>=0.14.0", "selenium>=4.44.0", "webdriver-manager>=4.1.2"]
lib-altair = ["altair>=6.2.1", "vl-convert-python>=1.7.0", "numpy>=2.4.6", "pandas>=3.0.3", "scipy>=1.14.0", "scikit-learn>=1.9.0", "statsmodels>=0.14.0"]
lib-plotnine = ["plotnine>=0.15.5", "numpy>=2.4.6", "pandas>=3.0.3", "scipy>=1.14.0", "scikit-learn>=1.9.0", "statsmodels>=0.14.0"]
lib-pygal = ["pygal>=3.0.0", "cairosvg>=2.7.0", "pandas>=3.0.3", "scipy>=1.14.0", "scikit-learn>=1.9.0", "statsmodels>=0.14.0"]
lib-highcharts = ["highcharts-core>=1.11.0", "numpy>=2.4.6", "pandas>=3.0.3", "scipy>=1.14.0", "scikit-learn>=1.9.0", "statsmodels>=0.14.0", "selenium>=4.44.0", "webdriver-manager>=4.1.2"]
lib-letsplot = ["lets-plot>=4.10.1", "pandas>=3.0.3", "scipy>=1.14.0", "scikit-learn>=1.9.0", "statsmodels>=0.14.0"]
lib-matplotlib = ["matplotlib>=3.11.0", "numpy>=2.5.0", "pandas>=3.0.3", "scipy>=1.18.0", "scikit-learn>=1.9.0", "statsmodels>=0.14.0"]
lib-seaborn = ["seaborn>=0.13.0", "matplotlib>=3.11.0", "numpy>=2.5.0", "pandas>=3.0.3", "scipy>=1.18.0", "scikit-learn>=1.9.0", "statsmodels>=0.14.0"]
lib-plotly = ["plotly>=6.8.0", "kaleido>=1.3.0", "numpy>=2.5.0", "pandas>=3.0.3", "scipy>=1.18.0", "scikit-learn>=1.9.0", "statsmodels>=0.14.0"]
lib-bokeh = ["bokeh>=3.9.1", "numpy>=2.5.0", "pandas>=3.0.3", "scipy>=1.18.0", "scikit-learn>=1.9.0", "statsmodels>=0.14.0", "selenium>=4.45.0", "webdriver-manager>=4.1.2"]
lib-altair = ["altair>=6.2.2", "vl-convert-python>=1.7.0", "numpy>=2.5.0", "pandas>=3.0.3", "scipy>=1.18.0", "scikit-learn>=1.9.0", "statsmodels>=0.14.0"]
lib-plotnine = ["plotnine>=0.15.7", "numpy>=2.5.0", "pandas>=3.0.3", "scipy>=1.18.0", "scikit-learn>=1.9.0", "statsmodels>=0.14.0"]
lib-pygal = ["pygal>=3.1.3", "cairosvg>=2.7.0", "pandas>=3.0.3", "scipy>=1.18.0", "scikit-learn>=1.9.0", "statsmodels>=0.14.0"]
lib-highcharts = ["highcharts-core>=1.11.0", "numpy>=2.5.0", "pandas>=3.0.3", "scipy>=1.18.0", "scikit-learn>=1.9.0", "statsmodels>=0.14.0", "selenium>=4.45.0", "webdriver-manager>=4.1.2"]
lib-letsplot = ["lets-plot>=4.10.1", "pandas>=3.0.3", "scipy>=1.18.0", "scikit-learn>=1.9.0", "statsmodels>=0.14.0"]
all = [
"anyplot[test,dev,plotting,typecheck]",
]
Expand Down
Loading
Loading