
[ai]
anthropic>=0.40
openai>=1.55.3
google-genai>=0.3

[all]
pyaegean[ai,cli,data,epidoc,geo,mcp,neural,tui,viz]

[anthropic]
anthropic>=0.40

[cli]
typer>=0.16
rich>=13
prompt_toolkit>=3.0

[cltk]

[cltk:python_version >= "3.13"]
cltk>=2.5.1

[data]
pandas>=2.2.2

[dev]
pytest>=8
pytest-cov
hypothesis
mypy
ruff
build
twine
nbmake
ipykernel
pandas>=2.2.2
typer>=0.16
rich>=13
prompt_toolkit>=3.0
lxml>=5.0
matplotlib>=3.8
mcp>=1.2
textual>=8.0
griffelib>=2.0.2

[docs]
mkdocs-material>=9.5
mkdocstrings[python]>=0.26

[epidoc]
lxml>=5.0

[gemini]
google-genai>=0.3

[geo]
geopandas>=0.14
shapely>=2.0.4

[grok]
openai>=1.55.3

[interop]
spacy>=3.8.13
stanza>=1.13.0

[interop:python_version >= "3.13"]
cltk>=2.5.1

[local]
openai>=1.55.3

[mcp]
mcp>=1.2

[neural]
onnxruntime>=1.23
tokenizers>=0.20
numpy>=1.24

[openai]
openai>=1.55.3

[openrouter]
openai>=1.55.3

[parquet]
pyarrow>=16.1

[spacy]
spacy>=3.8.13

[stanza]
stanza>=1.13.0

[tui]
textual>=8.0
typer>=0.16
rich>=13
prompt_toolkit>=3.0

[viz]
matplotlib>=3.8

[viz-interactive]
plotly>=5
