91 lines
3.2 KiB
TOML
91 lines
3.2 KiB
TOML
[project]
|
|
name = "natcap.invest"
|
|
description = "InVEST Ecosystem Service models"
|
|
readme = "README_PYTHON.rst"
|
|
requires-python = ">=3.9"
|
|
license = "Apache-2.0"
|
|
license-files = ["LICENSE.txt"]
|
|
maintainers = [
|
|
{name = "Natural Capital Project Software Team"}
|
|
]
|
|
keywords = ["gis", "invest", "ecosystem services"]
|
|
classifiers = [
|
|
"Intended Audience :: Developers",
|
|
"Development Status :: 5 - Production/Stable",
|
|
"Intended Audience :: Science/Research",
|
|
"Natural Language :: English",
|
|
"Operating System :: MacOS :: MacOS X",
|
|
"Operating System :: Microsoft",
|
|
"Operating System :: POSIX",
|
|
"Programming Language :: Python :: 3",
|
|
"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",
|
|
"Programming Language :: Cython",
|
|
"Topic :: Scientific/Engineering :: GIS"
|
|
]
|
|
# the version is provided dynamically by setuptools_scm
|
|
# `dependencies` and `optional-dependencies` are provided by setuptools
|
|
# using the corresponding setup args `install_requires` and `extras_require`
|
|
dynamic = ["version", "dependencies", "optional-dependencies"]
|
|
|
|
[project.urls]
|
|
homepage = "http://github.com/natcap/invest"
|
|
|
|
[project.scripts]
|
|
invest = "natcap.invest.cli:main"
|
|
|
|
[build-system]
|
|
# these are the minimum packages needed in order to execute the natcap.invest
|
|
# build.
|
|
# NOTE: GDAL is *not* required here because the compiled cython module
|
|
# will dynamically import GDAL via python's import system. This behavior means
|
|
# that we can provide a much easier build experience so long as GDAL is
|
|
# available at runtime.
|
|
requires = [
|
|
'setuptools>=61', 'wheel', 'setuptools_scm>=8.0', 'cython>=3.0.0', 'babel',
|
|
'oldest-supported-numpy; python_version<="3.8"',
|
|
'numpy>=2; python_version>="3.9"', # numpy 2 only available for 3.9+
|
|
]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[tool.setuptools_scm]
|
|
version_scheme = "post-release"
|
|
local_scheme = "node-and-date"
|
|
|
|
[tool.isort]
|
|
# isort can be installed from conda-forge
|
|
# flake8-isort can also be used for flake8 linting integration
|
|
#
|
|
# To test isort configuration, run:
|
|
# isort . --show-config
|
|
# A warning will present if config can't be loaded.
|
|
#
|
|
# Each section of imports will be sorted alphabetically
|
|
force_alphabetical_sort_within_sections = true
|
|
|
|
# "from osgeo import gdal" and "from osgeo import osr" are on separate lines
|
|
force_single_line = true
|
|
|
|
# This defines the sections used, and clarifies that we don't want to have
|
|
# lines between the FIRSTPARTY (absolute natcap.invest imports) and the
|
|
# LOCALFOLDER (relative imports, e.g. "from . import validation) section.
|
|
sections = 'FUTURE,STDLIB,THIRDPARTY,FIRSTPARTY,LOCALFOLDER'
|
|
no_lines_before = 'LOCALFOLDER'
|
|
|
|
[tool.setuptools.packages.find]
|
|
where = ["src"]
|
|
|
|
[tool.pytest.ini_options]
|
|
# raise warnings to errors, except for deprecation warnings
|
|
filterwarnings = [
|
|
"error",
|
|
"default::DeprecationWarning",
|
|
"default::FutureWarning",
|
|
# don't error on a specific runtime warning coming from a shapely
|
|
# issue on M1: https://github.com/natcap/invest/issues/1562
|
|
"default:invalid value encountered in intersection:RuntimeWarning",
|
|
]
|