Skip to content
Snippets Groups Projects
pyproject.toml 2.94 KiB
Newer Older
Sebastian Müller's avatar
Sebastian Müller committed
[build-system]
requires = [
  "hatchling>=1.8.0",
  "hatch-vcs",
Sebastian Müller's avatar
Sebastian Müller committed
]
build-backend = "hatchling.build"
Sebastian Müller's avatar
Sebastian Müller committed

[project]
requires-python = ">=3.8"
name = "finam_mhm"
description = "FINAM module for mHM."
authors = [{name = "FINAM Developers", email = "finam@ufz.de"}]
readme = "README.md"
license = "LGPL-3.0"
dynamic = ["version"]
classifiers = [
  "Development Status :: 4 - Beta",
  "Intended Audience :: Developers",
  "Intended Audience :: End Users/Desktop",
  "Intended Audience :: Science/Research",
  "License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)",
  "Natural Language :: English",
  "Operating System :: Unix",
  "Operating System :: Microsoft",
  "Operating System :: MacOS",
  "Programming Language :: Python",
  "Programming Language :: Python :: 3",
  "Programming Language :: Python :: 3 :: Only",
  "Programming Language :: Python :: 3.8",
  "Programming Language :: Python :: 3.9",
  "Programming Language :: Python :: 3.10",
Sebastian Müller's avatar
Sebastian Müller committed
  "Programming Language :: Python :: 3.11",
Sebastian Müller's avatar
Sebastian Müller committed
  "Programming Language :: Python :: 3.12",
  "Topic :: Scientific/Engineering",
  "Topic :: Software Development",
  "Topic :: Utilities",
]
dependencies = [
  "numpy>=1.17.0",
  "mhm>=5.13.1",
Sebastian Müller's avatar
Sebastian Müller committed
  "finam>=0.5.1",
  "f90nml",
]

[project.urls]
Homepage = "https://FINAM.pages.ufz.de/"
Documentation = "https://FINAM.pages.ufz.de/finam-mhm/"
Source = "https://git.ufz.de/FINAM/finam-mhm"
Tracker = "https://git.ufz.de/FINAM/finam-mhm/-/issues"
Changelog = "https://git.ufz.de/FINAM/finam-mhm/-/blob/main/CHANGELOG.md"

[project.optional-dependencies]
doc = [
  "sphinx>=6",
  "pydata-sphinx-theme==0.13",
  "numpydoc>=1.1",
  "sphinx-design>=0.4",
  "myst-parser>=1.0",
  "docutils>=0.18", # mdinclude with myst
]
test = ["pytest-cov>=3"]

[tool.hatch.metadata]
allow-direct-references = true

[tool.hatch.version]
source = "vcs"
Sebastian Müller's avatar
Sebastian Müller committed
fallback_version = "0.0.0.dev0"

[tool.hatch.version.raw-options]
local_scheme = "no-local-version"

[tool.hatch.build.hooks.vcs]
version-file = "src/finam_mhm/_version.py"
template = "__version__ = '{version}'"

[tool.hatch.build.targets.sdist]
include = [
  "/src",
  "/tests",
]

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

Sebastian Müller's avatar
Sebastian Müller committed
[tool.black]
exclude = "_version.py"
target-version = [
  "py38",
  "py39"
]

[tool.isort]
profile = "black"
multi_line_output = 3

[tool.coverage]
[tool.coverage.run]
source = ["finam"]
omit = [
  "*docs*",
  "*examples*",
  "*tests*",
Sebastian Müller's avatar
Sebastian Müller committed
]

[tool.coverage.report]
exclude_lines = [
  "pragma: no cover",
  "def __repr__",
  "def __str__",
]

[tool.pylint]
[tool.pylint.master]
extension-pkg-whitelist = [
  "numpy",
  "scipy",
]
ignore = [
  "_version.py",
]

[tool.pylint.message_control]
max-line-length = 120
disable = [
  "C0103", # ignore invalid-names like "x", "y"
  "C0415", # ignore defered imports
  "R0801", # ignore code duplications
]

[tool.pylint.reports]
output-format = "colorized"

[tool.pylint.design]
max-args = 15
max-locals = 20
Sebastian Müller's avatar
Sebastian Müller committed
max-attributes = 20
max-parents = 10
min-public-methods = 0
Sebastian Müller's avatar
Sebastian Müller committed
max-branches=20