[project]
name = "peeringdb"
version = "2.3.0"
description = "PeeringDB Django models"
readme = "README.md"
authors = [{ name = "PeeringDB", email = "support@peeringdb.com" }]
license = { text = "BSD-2-Clause" }
requires-python = ">=3.8"

classifiers = [
    "Development Status :: 5 - Production/Stable",
    "Framework :: Django :: 3.2",
    "Framework :: Django :: 4.2",
    "Framework :: Django :: 5.0",
    "Framework :: Django :: 5.1",
    "Intended Audience :: Developers",
    "Intended Audience :: System Administrators",
    "Intended Audience :: Telecommunications Industry",
    "License :: OSI Approved :: BSD License",
    "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",
    "Topic :: Software Development :: Libraries :: Python Modules",
    "Topic :: Internet",
]
dependencies = [
    "confu>=1",
    "munge[toml,tomlkit,yaml]>=1.2.0",
    "twentyc.rpc>=1",
    "pyyaml>=6.0.1",
    "httpx>=0.24.1",
]

[project.scripts]
peeringdb = "peeringdb.cli:main"

[project.urls]
repository = "https://github.com/peeringdb/peeringdb-py"

[tool.uv]
dev-dependencies = [
    "django_peeringdb>=3.1.0",
    "django>=4.2",
    "pytest>=8",
    "pytest-cov>=5",
    "tox>=4",
    "tox-gh-actions>=3",
    "tox-uv>=1.13.0",
    "mypy>=0.950",
    "pre-commit>=2.13",
    "ruff>=0.1",
    "markdown>=3",
    "markdown-include>=0.5,<1",
    "mkdocs>=1.2.3",
    "ctl>=1",
    "jinja2>=3",
    "tmpl>=1",
    "twine>=3",
]

[tool.ruff.lint]
extend-select = [
    "I",  # isort
    "UP", # pyupgrade
]


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