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

[project]
name = "astrageek"
version = "0.2.1.post1"
authors = [
    {name = "Ilia Bespyatyy", email = "ilia.bespytatyy@gmail.com"},
    {name = "Maksim Ramenskyy", email = "msramenskiy@edu.hse.ru"},
]
description = "Star maps maker"
readme = "README.md"
requires-python = ">=3.8"
keywords = ["skychart", "python", "astronomy", "maps"]
license = {text = "MIT"}
classifiers = [
    "Programming Language :: Python :: 3",
    "Operating System :: OS Independent"
]
dependencies = [
    "numpy",
    "matplotlib",
    "astropy",
    "scipy",
    "pandas",
    "pygame",        # messier_pygame/
    "pillow",        # PIL
    "loguru",
    "click>=8.0",
    "flask"
]

[project.optional-dependencies]
docs = [
    "sphinx",
    "furo",
    "sphinx-autodoc-typehints",
    "sphinx-click",
    "sphinx-copybutton",
    "sphinx-pyproject",
]
dev = [
    "build",
    "twine",
    "ruff",
    "pre-commit",
]

[tool.ruff]
line-length = 79
target-version = "py38"

[tool.ruff.lint]
select = ["E", "F", "I"]  # ошибки + pyflakes + сортировка импортов

[tool.setuptools.packages.find]
where = ["."]

[tool.sphinx-pyproject]
project = "AstraGeek"

extensions = [
  "sphinx.ext.autodoc",
  "sphinx.ext.githubpages",
  "sphinx.ext.napoleon",
  "sphinx.ext.intersphinx",
  "sphinx_autodoc_typehints",
  "sphinx_click",
  "sphinx_copybutton",
]

copybutton_prompt_text = "\\$ |>>> "
copybutton_prompt_is_regexp = true

sphinx_click_mock_imports = []

[tool.sphinx-pyproject.intersphinx_mapping]
python = ["https://docs.python.org/3", "https://docs.python.org/3/objects.inv"]
numpy = ["https://numpy.org/doc/stable/", "https://numpy.org/doc/stable/objects.inv"]
matplotlib = ["https://matplotlib.org/stable/", "https://matplotlib.org/stable/objects.inv"]


[project.scripts]
astrageek = "src.interface.cli:cli"