[project]
authors = ["Björn F. Johansson<bjornjobb@gmail.com>"]
classifiers = [
  "Development Status :: 4 - Beta",
  "Environment :: Console",
  "Intended Audience :: Education",
  "Intended Audience :: Developers",
  "Intended Audience :: Science/Research",
  "License :: OSI Approved :: BSD License",
  "Operating System :: OS Independent",
  "Programming Language :: Python :: 3.8",
  "Programming Language :: Python :: 3.9",
  "Programming Language :: Python :: 3.10",
  "Programming Language :: Python :: 3.11",
  "Programming Language :: Python :: 3.12",
  "Topic :: Education",
  "Topic :: Scientific/Engineering :: Bio-Informatics",
]
# description = "Representing double stranded DNA and functions for simulating cloning and homologous recombination between DNA molecules."
dynamic = ["version"]
name = "pydna"
readme = "README.md"
[tool.poetry.urls]
Changelog = "https://github.com/BjornFJohansson/pydna/blob/master/docs/CHANGELOG.md#changelog"
[tool.poetry]
authors = ["BjornFJohansson <bjornjobb@gmail.com>"]
description = "Representing double stranded DNA and functions for simulating cloning and homologous recombination between DNA molecules."
documentation = "https://pydna.readthedocs.io/?badge=latest"
homepage = "https://github.com/BjornFJohansson/pydna#-pydna"
license = "BSD"
name = "pydna"
readme = "README.md"
repository = "https://github.com/BjornFJohansson/pydna/tree/dev_bjorn"
version = "6.0.0-a.24.post.17+b7b559bd66"
[tool.poetry.dependencies]
appdirs = ">=1.4.4"
biopython = ">=1.80"
cai2 = {version = ">=1.0.5", optional = true}
matplotlib = {version = ">=3.4.3", optional = true}
networkx = ">=2.8.8"
numpy = [
  {version = ">1.26", python = ">=3.9"},
  {version = "<1.24", python = "<3.9"},
]
pillow = {version = ">=8.4.0", optional = true}
prettytable = ">=3.5.0"
pydivsufsort = "^0.0.14"
pyfiglet = "0.8.post1"
pyparsing = {version = ">=2.4.7", optional = true}
pyperclip = {version = ">=1.8.2", optional = true}
python = ">=3.8,<4.0"
requests = {version = ">=2.26.0", optional = true}
scipy = [
  {version = ">=1.11.3", python = ">=3.12", optional = true},
  {version = ">=1.9.3", python = "<3.12", optional = true},
]
seguid = "^0.0.5"
[tool.poetry.extras]
clipboard = ["pyperclip"]
download = ["pyparsing", "requests"]
express = ["cai2"]
gel = ["scipy", "matplotlib", "pillow"]
[build-system]
build-backend = "poetry_dynamic_versioning.backend"
requires = [
  "poetry-core",
  "poetry-dynamic-versioning",
]
[tool.poetry-dynamic-versioning]
enable = true
style = "semver"
vcs = "git"
[tool.poetry-dynamic-versioning.substitution]
files = ["src/pydna/__init__.py"]
[tool.poetry.group.test] # This part can be left out
[tool.poetry.group.test.dependencies]
coverage = ">=7.1.0"
nbval = ">=0.9.6"
pytest = ">=7.2.0"
pytest-cov = ">=4.0.0"
pytest-doctestplus = ">=0.12.1"
pytest-profiling = ">=1.7.0"
requests-mock = ">=1.10.0"

[tool.poetry.group.docs.dependencies]
numpydoc = "^1.6.0"
sphinx-autobuild = "^2021.3.14"
sphinx-rtd-theme = ">=1.3,<3.0"

[tool.pytest.ini_options]
minversion = "6.0.2"
python_files = "test_*.py"
testpaths = [
  "tests",
  "src",
]
[tool.black]
include = '\.pyi?$'
line-length = 119
target-version = ["py38", "py39", "py310", "py311", "py312"]
# 'extend-exclude' excludes files or directories in addition to the defaults
extend-exclude = '''
# A regex preceded with ^/ will apply only to files and directories
# in the root of the project.
(
  ^/foo.py    # exclude a file named foo.py in the root of the project
  | .*_pb2.py  # exclude autogenerated Protocol Buffer files anywhere in the project
)
'''