[build-system]
requires = ["setuptools>=61.0", "cython"]
build-backend = "setuptools.build_meta"

[project]
name = "ete4"
description = "A Python Environment for (phylogenetic) Tree Exploration"
version = "4.2.1"
authors = [
  { name = "Jaime Huerta-Cepas", email = "jhcepas@gmail.com" },
  { name = "Jordi Burguet-Castell", email = "jordi.burguet.castell@gmail.com" },
]
readme = "README.md"
license = "GPL-3.0-or-later"
license-files = [ "LICENSE" ]
requires-python = ">=3.7"
classifiers = [
  "Programming Language :: Python :: 3",
  "Development Status :: 6 - Mature",
  "Environment :: Console",
  "Environment :: X11 Applications :: Qt",
  "Intended Audience :: Developers",
  "Intended Audience :: Other Audience",
  "Intended Audience :: Science/Research",
  "Natural Language :: English",
  "Operating System :: MacOS",
  "Operating System :: Microsoft :: Windows",
  "Operating System :: POSIX :: Linux",
  "Topic :: Scientific/Engineering :: Bio-Informatics",
  "Topic :: Scientific/Engineering :: Visualization",
  "Topic :: Software Development :: Libraries :: Python Modules",
]
dependencies = [ "bottle", "brotli", "numpy", "scipy", "requests" ]

[project.urls]
"Homepage" = "http://etetoolkit.org"

[project.scripts]
ete4 = "ete4.tools.ete:main"

[project.optional-dependencies]
treeview = [ "pyqt6" ]
render_sm = [ "selenium" ]
treediff = [ "lap" ]
test = [ "pytest>=6.0" ]
doc = [ "sphinx" ]

[tool.setuptools]
ext-modules = [
  { name = "ete4.core.tree",       sources = [ "ete4/core/tree.pyx" ] },
  { name = "ete4.core.operations", sources = [ "ete4/core/operations.pyx" ] },
  { name = "ete4.parser.newick",   sources = [ "ete4/parser/newick.pyx" ] },
]
