[tool.poetry]
name = "geometallurgy"
packages = [{ include = "elphick/geomet" }]
version = "0.4.13"
description = "Tools for the geometallurgist"
authors = ["Greg <11791585+elphick@users.noreply.github.com>"]
repository = "https://github.com/elphick/geometallurgy"
documentation = "https://elphick.github.io/geometallurgy"
readme = "README.md"

[[tool.poetry.source]]
name = "PyPI"
priority = "primary"

[tool.poetry.scripts]
bump-version = "scripts.bump_version:main"

[tool.towncrier]
package = "elphick.geomet"
package_dir = "elphick/geomet"
filename = "CHANGELOG.rst"
directory = "towncrier/newsfragments"
[tool.towncrier.fragment.feature]
[tool.towncrier.fragment.bugfix]
[tool.towncrier.fragment.doc]
[tool.towncrier.fragment.removal]
[tool.towncrier.fragment.misc]

[tool.towncrier.fragment.maint]
name = "Other Tasks"
showcontent = true

#[tool.pytest.ini_options]
#log_cli = true
#log_cli_level = "DEBUG"
#log_cli_format = "%(asctime)s - %(name)s - %(levelname)s - %(message)s"

[tool.poetry.dependencies]
python = ">=3.10,<3.13"
plotly = "^5.22.0"
pandas = ">=1.0"
periodictable = "^1.7.0"
#geoh5py = ">=0.8.0,<10.0.0"
pyarrow = ">=16.1.0,<18.0.0"
folium = { version = "^0.16.0", optional = true }
rioxarray = { version = "^0.18.2", optional = true }
pandera = { version = ">=0.19.3,<0.21.0", extras = ['io'], optional = true }
omfpandas = { version = "^0.8.1", optional = true }
#omf = { version = "<2.0" }

omfvista = { version = ">=0.3.0", optional = true }

[tool.poetry.extras]
validation = ["pandera"]
blockmodel = ["omfvista", "omfpandas"]
spatial = ["folium", "rioxarray"]
all = ["validation", "blockmodel", "spatial"]

[tool.poetry.group.dev.dependencies]
pytest = "^8.2.1"
sphinx = "^7.3.7"
sphinx-gallery = "^0.16.0"
kaleido = "0.2.1"
sphinx-rtd-theme = "^2.0.0"
ydata-profiling = "^4.6.0"  # later than 4.6.0 moves to pydantic 2.0
coverage = "^7.5.3"
towncrier = "^23.11.0"
myst-parser = "^3.0.1"
sphinx-autodoc-typehints = "^2.1.1"
pytest-xdist = "^3.6.1"
pytest-cov = "^5.0.0"
toml = "^0.10.2"

[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
