[build-system]
requires = ["sphinx-theme-builder >= 0.2.0a7"]
build-backend = "sphinx_theme_builder"

[tool.sphinx-theme-builder]
node-version = "18.18.0"
theme-name = "quantecon_book_theme"
additional-compiled-static-assets = [
  "locales/"
]

[tool.pytest.ini_options]
testpaths = [
    "tests"
]

[project]
name = "quantecon-book-theme"
description = "A clean book theme for scientific explanations and documentation with Sphinx"
dynamic = ["version"]
readme = "README.md"

requires-python = ">=3.12"
dependencies = [
  "pyyaml>=6.0",
  "sphinx>=7,<9",
  "docutils>=0.20",
  "libsass~=0.23.0",
  "sphinx_book_theme~=1.1.4",
  "beautifulsoup4>=4.12",
]

license = { file = "LICENSE" }
# TODO: Add email of the maintainer
maintainers = [
  { name = "Executable Books Team", email = "executablebooks@gmail.com" },
]

classifiers = [
  "Development Status :: 4 - Beta",
  "Programming Language :: Python :: 3",
  "Framework :: Sphinx",
  "Framework :: Sphinx :: Theme",
  "License :: OSI Approved :: BSD License",
  "Operating System :: OS Independent",
]

[project.optional-dependencies]
code_style = [
    "flake8>=7.0.0",
    "black",
    "pre-commit"
]
doc = [
    "folium",
    "numpy",
    "matplotlib",
    "ipywidgets",
    "pandas",
    "nbclient",
    "myst-nb",
    "sphinx-togglebutton>=0.2.1",
    "sphinx-thebe",
    "sphinx-copybutton",
    "docutils>=0.20",
    "plotly",
    "sphinxcontrib-bibtex>=2.2.0,<=2.5.0",
]
test = [
    "myst_nb",
    "coverage",
    "pytest",
    "pytest-cov",
    "beautifulsoup4",
    "sphinx_thebe",
    "pytest-regressions",
    "sphinx_copybutton",
    "sphinx_togglebutton",
]

[project.entry-points]
"sphinx.html_themes" = { quantecon_book_theme = "quantecon_book_theme" }

[project.urls]
Repository = "https://github.com/QuantEcon/quantecon-book-theme"
