[build-system]
requires = ["hatchling", 'hatch-vcs']
build-backend = "hatchling.build"

[tool.hatch.build.targets.wheel]
packages = ["src/sonarcal"]

[tool.hatch.build.targets.sdist.force-include]
"site" = "site"

[tool.hatch.build.targets.wheel.force-include]
"site" = "sonarcal/offline-docs"

[project]
name = 'sonarcal'
license = {file = "LICENSE"}
keywords = ["acoustic", "sonar", "calibration"]
authors = [
  { name="Gavin Macaulay"}
]
description = 'Software to facilitate standard-sphere calibration of omni-directional sonars'
readme = "README.md"
requires-python = ">=3.11"
dependencies = [
	"numpy",
	"scipy",
  "matplotlib",
  "pandas",
  "humanize",
  "h5py",
  "Pillow",
  "platformdirs",
  "construct",
  "arrow",
  "natsort",
  'pywin32; platform_system == "Windows"'
]
classifiers = [
    'Development Status :: 3 - Alpha',
    'Intended Audience :: Science/Research',
    'License :: OSI Approved :: MIT License',
    'Operating System :: OS Independent',
    'Programming Language :: Python :: 3',
    'Programming Language :: Python :: 3.11',
    'Programming Language :: Python :: 3.12',
    'Programming Language :: Python :: 3.13',
    'Programming Language :: Python :: 3.14',
    'Topic :: Scientific/Engineering',
]
dynamic = [ 'version']

[project.scripts]
sonarcal = "sonarcal.controller:main"

[tool.hatch.version]
source = 'vcs'

[tool.hatch.version.raw-options]
local_scheme = "no-local-version"  # otherwise the non-tagged version is not accepted by testpypi

[tool.pytest.ini_options]
testpaths = ['tests',]
addopts = ["--import-mode=importlib",]

[project.optional-dependencies]
dev = [
  "mkdocs-material",
  "twine",
  "pytest",
]


[project.urls]
Homepage = 'https://github.com/Aqualyd-Limited/sonarCal'
Issues =  'https://github.com/Aqualyd-Limited/sonarCal/issues'
Documentation = 'https://aqualyd-limited.github.io/sonarCal/'
Repository = 'https://github.com/Aqualyd-Limited/sonarCal'
