lark~=1.1
pydantic[email]~=2.2
pydantic-settings~=2.0
requests~=2.28
pyyaml~=6.0

[aiida]
aiida-core!=2.7.1,~=2.1

[all]
optimade[aiida,ase,client,elastic,http-client,jarvis,pymatgen,server]

[ase]
ase~=3.22

[cif]
numpy<3.0,>=1.22

[client]
optimade[cif]

[docs]
mike~=2.0
mkdocs~=1.6
mkdocs-autorefs~=1.2
mkdocs-awesome-pages-plugin~=2.8
mkdocs-material~=9.0
mkdocstrings[python]<2.0,>=0.26
griffe<3.0,>=1.13

[elastic]
elasticsearch-dsl<8.0,~=7.4
elasticsearch~=7.17

[http-client]
httpx2~=2.4
rich<16,>=13
click~=8.1

[jarvis]

[jarvis:python_version < "3.13"]
jarvis-tools!=2024.4.20,!=2024.4.30,>=2023.1.8

[mongo]
pymongo~=4.0
mongomock~=4.1

[pymatgen]
pandas~=2.2

[pymatgen:python_version < "3.13"]
pymatgen>=2022

[server]
uvicorn[standard]~=0.19
fastapi>=0.135.0
optimade[mongo]

[testing]
build~=1.0
jsondiff~=2.0
pytest<10.0,>=8.3
pytest-asyncio<2.0,>=0.25
pytest-cov<8,>=6
optimade[server]
