[project]
name = "corona_lab"
description = "Tool for created synthetic observations from a model stellar magnetic corona."
readme = "README.rst"
requires-python = ">=3.8"
license = { file = "licenses/LICENSE.rst", content-type = "text/plain" }
authors = [ {name = "C. E. Brasseur", email = "cb432@st-andrews.ac.uk"}]
dependencies = [
    "astropy",
    "scipy",
    "scikit-image",
    "sunpy",
    "sunkit-magex"
  
]
dynamic = ["version"]

[project.optional-dependencies]
test = [
    "pytest",
    "pytest-doctestplus",
]
docs = [
    "sphinx",
    "sphinx-automodapi",
    "tomli; python_version <\"3.11\"",
    "pydata-sphinx-theme",
    "matplotlib"
]


[project.urls]
repository = "https://github.com/St-andrews-cool-stars/CoronaLab.git" 


[build-system]
requires = [
  "setuptools>=61.2",
  "setuptools_scm[toml]>=3.4",
  "wheel",

]
build-backend = "setuptools.build_meta"

[tool.setuptools]
zip-safe = false
include-package-data = true

[tool.setuptools.packages.find]

[tool.setuptools_scm]
write_to = "corona_lab/version.py"

[tool.pytest.ini_options]
testpaths = [
  "corona_lab",
  "docs",
]
doctest_plus = "enabled"
text_file_format = "rst"
addopts = "--doctest-rst"

[tool.coverage.run]
omit = [
 "corona_lab/__init*",
 "corona_lab/conftest.py",
 "corona_lab/*setup_package*",
 "corona_lab/tests/*",
 "corona_lab/*/tests/*",
 "corona_lab/extern/*",
 "corona_lab/version*",
 "*/corona_lab/__init*",
 "*/corona_lab/conftest.py",
 "*/corona_lab/*setup_package*",
 "*/corona_lab/tests/*",
 "*/corona_lab/*/tests/*",
 "*/corona_lab/extern/*",
 "*/corona_lab/version*",
]

[tool.coverage.report]
exclude_lines = [
  # Have to re-enable the standard pragma
  "pragma: no cover",
  # Don't complain about packages we have installed
  "except ImportError",
  # Don't complain if tests don't hit assertions
  "raise AssertionError",
  "raise NotImplementedError",
  # Don't complain about script hooks
  "def main(.*):",
  # Ignore branches that don't pertain to this version of Python
  "pragma: py{ignore_python_version}",
  # Don't complain about IPython completion helper
  "def _ipython_key_completions_", 
]
