[build-system]
requires = ["setuptools>=45", "setuptools_scm>=6.2"]
build-backend = "setuptools.build_meta"

[tool.setuptools_scm]
write_to = "asteval/version.py"
version_scheme = "post-release"

[tool.setuptools.packages.find]
include = ["asteval"]

[tool.coverage.run]
omit = ["tests/*"]

[tool.pytest.ini_options]
addopts = "--cov=asteval --cov-report html"

[project]
name = "asteval"
dynamic = ["version"]
requires-python = ">= 3.8"
description = "Safe, minimalistic evaluator of python expression using ast module"
readme = "README.rst"
authors = [
     {name = "Matthew Newville", email = "matt.newville@gmail.com"}
]
license = {file = "LICENSE"}
keywords = ["AST", "expression evaluation", "eval"]
classifiers = [
    "Development Status :: 5 - Production/Stable",
    "Intended Audience :: Developers",
    "License :: OSI Approved :: MIT 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",
    "Programming Language :: Python :: Implementation :: PyPy",
    ]

[project.urls]
Homepage = " https://github.com/lmfit/asteval"
Documentation = "https://lmfit.github.io/asteval/"
Tracker = "https://github.com/lmfit/asteval/issues"

[project.optional-dependencies]
dev = ["build", "twine"]
doc = ["Sphinx"]
test = ["pytest", "pytest-cov", "coverage"]
all = ["asteval[dev, doc, test]"]
