[build-system] requires = [ "setuptools>=64", "setuptools_scm[toml]>=6.4", ] build-backend = "setuptools.build_meta" [project] requires-python = ">=3.8" name = "finam" description = "FINAM is not a model." authors = [{name = "FINAM Developers", email = "finam@ufz.de"}] readme = "README.md" license = {text = "LGPLv3"} 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", "Topic :: Scientific/Engineering", "Topic :: Software Development", "Topic :: Utilities", ] dependencies = [ "numpy>=1.14.5", "scipy>=1.9.0", "pyevtk>=1.1.1", "xarray>=2022.03", "pint>=0.19.0", "pint_xarray>=0.3.0", "cf_xarray>=0.7.4", "pyproj>=3.4", "pandas>=1.3", "opensimplex>=0.4", ] [project.urls] Homepage = "https://FINAM.pages.ufz.de/" Documentation = "https://FINAM.pages.ufz.de/finam/" Source = "https://git.ufz.de/FINAM/finam" Tracker = "https://git.ufz.de/FINAM/finam/-/issues" Changelog = "https://git.ufz.de/FINAM/finam/-/blob/main/finam/CHANGELOG.md" [project.optional-dependencies] doc = [ "sphinx>=5", "pydata-sphinx-theme==0.11", "numpydoc>=1.1", "sphinx-design>=0.3", "myst-parser>=0.18", "sphinxcontrib-mermaid>=0.7", "docutils>=0.18", # mdinclude with myst ] test = ["pytest-cov>=3"] [tool.setuptools] license-files = ["LICENSE"] [tool.setuptools_scm] write_to = "src/finam/_version.py" write_to_template = "__version__ = '{version}'" local_scheme = "no-local-version" fallback_version = "0.0.0.dev0" [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*", "*/src/finam/tools/wurlitzer.py", ] [tool.coverage.report] exclude_lines = [ "pragma: no cover", "def __repr__", "def __str__", ] [tool.pylint] [tool.pylint.master] extension-pkg-whitelist = [ "numpy", "scipy", "mpi4py", ] ignore = [ "_version.py", "wurlitzer.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 max-attributes = 15 max-parents = 10 min-public-methods = 0