[build-system]
requires = ["setuptools>=68", "wheel"]
build-backend = "setuptools.build_meta"

[project]
name = "pyrad"
dynamic = ["version"]
description = "RADIUS tools"
readme = "README.rst"
license = { text = "BSD-3-Clause" }
requires-python = ">=3.8"
authors = [
  { name = "Istvan Ruzman", email = "istvan@ruzman.eu" },
  { name = "Christian Giese", email = "gic@gicnet.de" },
  { name = "Stefan Lieberth", email = "stefan@lieberth.net" },
]
keywords = ["radius", "authentication", "AAA", "accounting", "authorization", "RADIUS"]
classifiers = [
  "Development Status :: 6 - Mature",
  "Intended Audience :: Developers",
  "Programming Language :: Python :: 3",
  "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 :: 3.13",
  "Programming Language :: Python :: 3.14",
  "Topic :: Software Development :: Libraries :: Python Modules",
  "Topic :: System :: Systems Administration :: Authentication/Directory",
]

dependencies = [
  "netaddr>=0.8.0",
  "six>=1.16.0",
]

[project.optional-dependencies]
test = [
  "pytest>=8",
  "mock; python_version<'3.10'",
]
docs = [
    "sphinx>=7.0",
    "sphinx-autodoc-typehints",
    "sphinx-rtd-theme>=2.0"
]

[project.urls]
Repository = "https://github.com/pyradius/pyrad"
Documentation = "https://pyradius-pyrad.readthedocs.io"

[tool.setuptools]
packages = { find = { exclude = ["tests*"] } }
include-package-data = true
zip-safe = true

[tool.pytest.ini_options]
testpaths = ["tests"]
addopts = "-ra"

[tool.setuptools.dynamic]
version = { attr = "pyrad.__version__" }
