content: [project]
  name = "pygeoprocessing"
  description = "PyGeoprocessing: Geoprocessing routines for GIS"
  requires-python = ">=3.6"
  license = {file = "LICENSE.txt"}
  maintainers = [
      {name = "Natural Capital Project Software Team"}
  ]
  keywords = ['gis', 'geoprocessing', 'pygeoprocessing']
  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.9',
      'Programming Language :: Python :: 3.10',
      'Programming Language :: Python :: 3.11',
      'Programming Language :: Python :: 3.12',
      'Programming Language :: Python :: 3.13',
      'Programming Language :: Python :: Implementation :: CPython',
      'Topic :: Scientific/Engineering :: GIS',
      'License :: OSI Approved :: BSD License'
  ]
  # 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`
  # `readme` is provided by setuptools using the corresponding setup arg `long_description`
  dynamic = ["version", "dependencies", "optional-dependencies", "readme"]
  
  
  [build-system]
  # these are the minimum packages needed in order to execute the pygeoprocessing build.
  # Setuptools, wheel are from pep508.
  # NOTE: GDAL is *not* require 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', 'wheel', 'setuptools_scm', 'cython>=3.0.0',
      '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.pytest.ini_options]
  # Raise warnings to exceptions.
  filterwarnings = ["error", "default::DeprecationWarning", "default::FutureWarning"]
  
  [tool.setuptools_scm]
  version_scheme = "post-release"
  local_scheme = "node-and-date"
  