[build-system]
requires = [
    "setuptools>=64",
    "setuptools_scm[toml]>=8",
    "wheel",
]
build-backend = "setuptools.build_meta"

[project]
name = "ultraplot"
authors = [
    {name = "Casper van Elteren", email = "caspervanelteren@gmail.com"},
    {name = "Luke Davis", email = "lukelbd@gmail.com"},
]
maintainers = [
    {name = "Casper van Elteren", email = "caspervanelteren@gmail.com"},
    {name = "Matthew R. Becker", email = "becker.mr@gmail.com"},
]
description = "A succinct matplotlib wrapper for making beautiful, publication-quality graphics."
readme = "README.rst"
requires-python = ">=3.10,<3.14"
license = {text = "MIT"}
classifiers = [
    "License :: OSI Approved :: MIT License",
    "Operating System :: OS Independent",
    "Intended Audience :: Science/Research",
    "Programming Language :: Python :: 3 :: Only",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
    "Programming Language :: Python :: 3.13",
    "Framework :: Matplotlib",
]
dependencies= [
    "numpy>=1.26.0",
    "matplotlib>=3.9,<3.11",
    "typing-extensions; python_version < '3.12'",
]
dynamic = ["version"]

[project.urls]
"Documentation" = "https://ultraplot.readthedocs.io"
"Issue Tracker" = "https://github.com/ultraplot/ultraplot/issues"
"Source Code" = "https://github.com/ultraplot/ultraplot"

[tool.setuptools]
packages = {find = {exclude=["docs*", "baseline*", "logo*"]}}
include-package-data = true

[tool.setuptools_scm]
write_to = "ultraplot/_version.py"
write_to_template = "__version__ = '{version}'\n"

[tool.basedpyright]
exclude = [
    "**/*.ipynb"
]
