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

[aiida]
aiida-core~=2.1

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

[ase]
ase~=3.22

[cif]
numpy<3.0,>=1.22

[client]
optimade[cif]

[dev]
mypy~=1.0
pre-commit~=3.0
invoke~=2.0
types-all==1.0.0
ruff~=0.1
optimade[client,docs,http-client,testing]

[docs]
mike~=2.0
mkdocs~=1.4
mkdocs-awesome-pages-plugin~=2.8
mkdocs-material~=9.0
mkdocstrings[python]~=0.20

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

[http-client]
httpx~=0.23
rich~=13.0
click~=8.1

[http_client]
optimade[http-client]

[jarvis]
jarvis-tools!=2024.4.20,!=2024.4.30,>=2023.1.8

[mongo]
pymongo~=4.0
mongomock~=4.1

[pymatgen]
pymatgen>=2022
pandas~=2.2

[server]
uvicorn[standard]~=0.19
fastapi>=0.103.1
pyyaml~=6.0
optimade[mongo]

[testing]
build~=1.0
jsondiff~=2.0
pytest<9.0,>=7.2
pytest-cov<6,>=4
optimade[server]
