[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[project]
name = "elasticsearch-curator"
authors = [{ name="Elastic", email="info@elastic.co" }]
dynamic = ["version"]
description = "Tending your Elasticsearch indices and snapshots"

license = { text="Apache-2.0" }
readme = "README.rst"
requires-python = ">=3.8"
classifiers = [
    "Intended Audience :: Developers",
    "Intended Audience :: System Administrators",
    "License :: OSI Approved :: Apache Software License",
    "Operating System :: OS Independent",
    "Programming Language :: Python",
    "Programming Language :: Python :: 3.8",
    "Programming Language :: Python :: 3.9",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
]
keywords = [
    'elasticsearch',
    'time-series',
    'indexed',
    'index-expiry'
]
dependencies = [
    "elasticsearch7==7.17.9",
    "requests>=2.28.1",
    "boto3>=1.24.54",
    "requests_aws4auth>=1.1.2",
    "click==8.1.4",
    "pyyaml==6.0.1",
    "voluptuous>=0.13.1",
    "certifi>=2023.5.7",
    "six>=1.16.0",
]

[project.optional-dependencies]
test = [
    "mock",
    "requests",
    "pytest >=7.2.1",
    "pytest-cov",
]
doc = ["sphinx"]

[project.scripts]
curator = "curator.cli:cli"
curator_cli = "curator.curator_cli:main"
es_repo_mgr = "curator.repomgrcli:repo_mgr_cli"

[project.urls]
"Homepage" = "https://github.com/elastic/curator"
"Bug Tracker" = "https://github.com/elastic/curator/issues"

[tool.hatch.version]
path = "curator/_version.py"

[tool.hatch.module]
name = "curator"

[tool.hatch.build.targets.sdist]
exclude = [
    "dist",
    "docs",
    "docker_test",
    "examples",
    "html_docs",
    "tests",
]

[tool.pytest.ini_options]
pythonpath = [".", "curator"]
minversion = "7.2"
addopts = "-ra -q"
testpaths = [
    "test/unit",
    "test/integration",
]

[tool.distutils.build_exe]
excludes = ["tcltk", "tkinter", "unittest"]
zip_include_packages = ["certifi"]