content: [build-system]
  requires = ["setuptools>=61.0", "setuptools_scm>=6.2"]
  build-backend = "setuptools.build_meta"
  
  [project]
  name = "cryodrgn"
  dynamic = ["version"]
  authors = [
    { name="Ellen Zhong", email="zhonge@princeton.edu" }
  ]
  description = "cryoDRGN heterogeneous reconstruction"
  readme = "README.md"
  requires-python = ">=3.10"
  classifiers = [
      "Programming Language :: Python :: 3",
      "License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
      "Operating System :: POSIX :: Linux",
  ]
  dependencies = [
      "torch<2.6.0",
      "pandas<3.0.0",
      "numpy<1.27",
      "matplotlib",
      "pyyaml",
      "scipy>=1.3.1",
      "scikit-learn",
      "seaborn",
      "cufflinks",
      "jupyterlab",
      "notebook<7",
      "umap-learn",
      "ipywidgets<8",
      "healpy",
      "plotly<6",
      "igraph",
      "starfile",
  ]
  
  [project.optional-dependencies]
  dev = [
      "build",
      "myst-parser",
      "pre-commit",
      "pyright==1.1.300",
      "pytest>=6",
      "sphinx",
      "sphinx-rtd-theme",
      "twine"
  ]
  
  [project.scripts]
  cryodrgn = "cryodrgn.command_line:main_commands"
  cryodrgn_utils = "cryodrgn.command_line:util_commands"
  
  [project.urls]
  "Homepage" = "https://github.com/zhonge/cryodrgn"
  
  [tool.setuptools_scm]
  write_to = "cryodrgn/_version.py"
  
  [tool.setuptools]
  include-package-data = true
  zip-safe = false
  
  [tool.setuptools.packages.find]
  where = ["."]
  include = ["cryodrgn*"]
  
  [tool.pytest.ini_options]
  minversion = "6.0"
  addopts = "-rA"
  testpaths = [
      "tests"
  ]
  
  [tool.pyright]
  exclude = ["build/**"]
  