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

[project]
name = "PPanGGOLiN"
description = "Pangenome analysis suite"
dynamic = ["version"]
authors = [
    {name = "Guillaume Gautreau"},
    {name = "Adelme Bazin"},
    {name = "Jérôme Arnoux"},
    {name = "Jean Mainguy"},
]
maintainers = [
    {name = "Guillaume Gautreau"},
    {name = "Adelme Bazin"},
    {name = "Jérôme Arnoux"},
    {name = "Jean Mainguy"},
]
readme = "README.md"
keywords = ["Pangenomics", "Comparative genomics", "Bioinformatics", "Prokaryote"]
classifiers=[
    "Development Status :: 5 - Production/Stable",
    "Environment :: Console",
    "Intended Audience :: Science/Research",
    "License :: OSI Approved :: CEA CNRS Inria Logiciel Libre License, version 2.1 (CeCILL-2.1)",
    "Natural Language :: English",
    "Operating System :: POSIX :: Linux",
    "Programming Language :: Python :: 3",
    "Topic :: Scientific/Engineering :: Bio-Informatics"]
requires-python = ">=3.9"

dependencies = [
    "numpy>1.24.0,<2.0.0",
    "pandas>=2.0.0,<3.0.0",
    "tqdm>=4.0.0,<5.0.0",
    "tables>=3.8.0,<4.0.0",
    "pyrodigal>=3.0.0,<4.0.0",
    "networkx>=3.0.0,<4.0.0",
    "scipy>=1.0.0,<2.0.0",
    "plotly>=5.0.0,<6.0.0",
    "gmpy2>=2.0.0,<3.0.0",
    "bokeh>=3.0.0,<4.0.0"
]

license = {file="LICENSE.txt"}

[project.optional-dependencies]
doc = [
    "sphinx==6.2.1",
    "sphinx_rtd_theme==1.2.2",
    "readthedocs-sphinx-search==0.3.2",
    "sphinx-autobuild==2021.3.14",
    "myst-parser==2",
    "docutils==0.18.1",
    "sphinxcontrib.mermaid==0.9.2",
]
test = [
    "pytest==7",
    "black==24.*",
    "pytest-cov==6"
]

#
[project.urls]
Homepage = "https://labgem.genoscope.cns.fr/2023/04/27/ppanggolin/"
Repository = "https://github.com/labgem/PPanGGOLiN/"
Documentation = "https://ppanggolin.readthedocs.io"

[project.scripts]
ppanggolin = "ppanggolin.main:main"

[tool.setuptools.packages.find]
include = ["ppanggolin*"]

[tool.setuptools.dynamic]
version = {file = "VERSION"}
