[build-system]
requires = ["setuptools >= 63", "setuptools_scm[toml] >= 6.2", "Cython >= 0.29.20"]
build-backend = "setuptools.build_meta"

[project]
name = "cutadapt"
authors = [
    {name = "Marcel Martin", email = "marcel.martin@scilifelab.se"}
]
description = "Adapter trimming and other preprocessing of high-throughput sequencing reads"
readme = "README.rst"
license = {text = "MIT"}
classifiers = [
    "Development Status :: 5 - Production/Stable",
    "Environment :: Console",
    "Intended Audience :: Science/Research",
    "License :: OSI Approved :: MIT License",
    "Programming Language :: Cython",
    "Programming Language :: Python :: 3",
    "Topic :: Scientific/Engineering :: Bio-Informatics"
]
requires-python = ">=3.7"
dynamic = ["version"]
dependencies = [
    "dnaio >= 0.10.0",
    "xopen >= 1.6.0",
]

[project.urls]
"Homepage" = "https://cutadapt.readthedocs.io/"
"Changelog" = "https://cutadapt.readthedocs.io/en/stable/changes.html"

[project.scripts]
cutadapt = "cutadapt.cli:main_cli"

[project.optional-dependencies]
dev = [
    "Cython",
    "pytest",
    "pytest-timeout",
    "pytest-mock",
    "sphinx",
    "sphinx_issues",
    "sphinx_better_subsection"
]

[tool.pytest.ini_options]
filterwarnings = [
    "error",
]
testpaths = ["tests"]
xfail_strict = true

[tool.setuptools_scm]
write_to = "src/cutadapt/_version.py"

[tool.mypy]
warn_unused_configs = true

[tool.cibuildwheel]
environment = "CFLAGS=-g0"
test-extras = ["dev"]
test-command = ["pytest {project}"]

[tool.ruff]
line-length = 130
