# -*- coding: utf-8 -*-

# EnFROSP, EnMAP Fast Retrieval Of Snow Properties
#
# Copyright (c) 2024–2025, GFZ Helmholtz Centre Potsdam, Daniel Scheffler (danschef@gfz.de)
#
# This software was developed within the context of the EnMAP project supported
# by the DLR Space Administration with funds of the German Federal Ministry of
# Economic Affairs and Energy (on the basis of a decision by the German Bundestag:
# 50 EE 1529) and contributions from DLR, GFZ and OHB System AG.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[project]
name = "EnFROSP"
description = "EnMAP Fast Retrieval Of Snow Properties"
authors = [
    {name = "Daniel Scheffler", email = "daniel.scheffler@gfz.de"},
    {name = "Alexander Kokhanovsky", email = "kokhanov@gfz.de"},
    {name = "Karl Segl", email = "segl@gfz.de"},
]
maintainers = [
    {name = "Daniel Scheffler", email = "daniel.scheffler@gfz.de"},
]
license = "Apache-2.0"
license-files = ["LICEN[CS]E*", "AUTHORS.rst"]
classifiers = [
    "Development Status :: 4 - Beta",
    "Intended Audience :: Developers",
    "Natural Language :: English",
    "Programming Language :: Python :: 3.9",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
    "Programming Language :: Python :: 3.13",
]
keywords = [
    "EnMAP",
    "snow",
    "retrieval",
    "hyperspectral",
    "remote sensing",
    "satellite",
]
requires-python = ">=3.9"
dependencies = [
    "gdal",
    "geoarray",
    "numpy",
    "scipy"
]
dynamic = ["version"]

[project.readme]
file = "README.rst"
content-type = "text/x-rst"

[project.urls]
"Source code" = "https://git.gfz.de/EnMAP/GFZ_Tools_EnMAP_BOX/enfrosp"
"Issue Tracker" = "https://git.gfz.de/EnMAP/GFZ_Tools_EnMAP_BOX/enfrosp/-/issues"
"Documentation" = "https://enmap.git-pages.gfz-potsdam.de/GFZ_Tools_EnMAP_BOX/enfrosp/doc"
"Change log" = "https://git.gfz.de/EnMAP/GFZ_Tools_EnMAP_BOX/enfrosp/-/blob/main/HISTORY.rst"

[project.optional-dependencies]
doc = [
    "sphinx-argparse",
    "sphinx_rtd_theme",
]
test = [
    "pytest",
    "pytest-cov",
    "pytest-reporter-html1",
    "urlchecker",
    "geoarray",
]
lint = [
    "flake8",
    "pycodestyle",
    "pydocstyle",
]
dev = [
    "enfrosp[test]",
    "enfrosp[doc]",
    "enfrosp[lint]",
]

[project.scripts]
enfrosp = "enfrosp.cli:main"

[tool.hatch.version]
path = "enfrosp/version.py"

[tool.hatch.build.targets.wheel]
packages = ["enfrosp"]

[tool.hatch.build.targets.sdist]
exclude = [
    ".coveragerc",
    ".editorconfig",
    ".gitattributes",
    ".gitlab-ci.yml",
    "Makefile",
    "code_*/**",
    "docs/**",
    "tests/**",
    "__pycache__/**",
    "*.py[co]",
]
