content: # License and classifier list:
  # https://pypi.org/pypi?%3Aaction=list_classifiers
  
  [build-system]
  requires = ["setuptools"]
  build-backend = "setuptools.build_meta"
  
  [project]
  name = "harmony-py"
  description = "Python library for integrating with NASA's Harmony Services."
  authors = [
      {name = "NASA EOSDIS Harmony Team", email = "christopher.d.durbin@nasa.gov"}
  ]
  readme = "README.md"
  license = {file = "LICENSE"}
  requires-python = ">=3.9, <4"
  keywords = ["nasa", "harmony", "remote-sensing", "science", "geoscience"]
  classifiers = [
      'Development Status :: 3 - Alpha',
      "Intended Audience :: Developers",
      "Intended Audience :: Science/Research",
      "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 :: Python :: 3 :: Only",
  ]
  dynamic = ["version"]
  dependencies = [
      "python-dateutil ~= 2.9",
      "python-dotenv ~= 0.20.0",
      "progressbar2 ~= 4.2.0",
      "requests ~= 2.32.3",
      "sphinxcontrib-napoleon ~= 0.7",
      "curlify ~= 2.2.1",
      "shapely ~= 2.0.4"
  ]
  
  [project.urls]
  Homepage = "https://github.com/nasa/harmony-py"
  Documentation = "https://harmony-py.readthedocs.io/en/main/"
  Repository = "https://github.com/nasa/harmony-py.git"
  
  [project.optional-dependencies]
  dev = [
      "coverage ~= 7.4",
      "flake8 ~= 7.1.1",
      "hypothesis ~= 6.103",
      "PyYAML ~= 6.0.1",
      "pytest ~= 8.2",
      "pytest-cov ~= 5.0",
      "pytest-mock ~= 3.14",
      "pytest-watch ~= 4.2",
      "responses ~= 0.25.6"
  ]
  docs = [
      "curlify ~= 2.2.1",
      "Jinja2 ~= 3.1.2",
      "load-dotenv ~=0.1.0",
      "nbconvert ~= 7.10.0",
      "progressbar2 ~= 4.2.0",
      "sphinx ~= 7.1.2",
      "sphinx-rtd-theme ~= 1.3.0",
      "shapely ~= 2.0.4"
  ]
  examples = [
      "boto3 ~= 1.28",
      "intake-stac ~= 0.4.0",
      "ipyplot ~= 1.1",
      "ipywidgets ~= 8.1",
      "jupyterlab ~= 4.0",
      "matplotlib ~= 3.8",
      "netCDF4 ~= 1.6",
      "numpy ~= 1.26",
      "pillow ~= 10.1",  # A dependency of ipyplot, pinned to avoid critical vulnerability.
      "pystac ~= 1.9.0",
      "rasterio ~= 1.3"
  ]
  
  [tool.setuptools.dynamic]
  # Will read __version__ from harmony.__init__.py
  version = {attr = "harmony.__version__"}
  
  [tool.setuptools.packages.find]
  exclude = ["contrib", "docs", "tests*"]
  
  [tool.flake8]
  max-line-length = 99
  ignore = ["F401", "W503"]
  
  