[project]
name = "pysnmp"
version = "7.1.23"
description = "A Python library for SNMP"
authors = [
    {name = "Ilya Etingof", email = "etingof@gmail.com"},
    {name = "LeXtudio Inc.", email = "support@lextudio.com"}
]
license = "BSD-2-Clause"
readme = "README.md"
requires-python = ">=3.10"
classifiers = [
    "Development Status :: 5 - Production/Stable",
    "Environment :: Console",
    "Intended Audience :: Developers",
    "Intended Audience :: Information Technology",
    "Intended Audience :: System Administrators",
    "Intended Audience :: Telecommunications Industry",
    "Natural Language :: English",
    "Operating System :: OS Independent",
    "Programming Language :: Python",
    "Programming Language :: Python :: 3",
    "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",
    "Programming Language :: Python :: 3.14",
    "Topic :: Communications",
    "Topic :: Software Development :: Libraries :: Python Modules",
]
dependencies = [
    "pyasn1>=0.6.3",
]

[project.urls]
Homepage = "https://pysnmp.com"
Repository = "https://github.com/lextudio/pysnmp"

[project.optional-dependencies]
dev = [
    "codecov>=2.1.12",
    "pytest>=7.2.0",
    "pytest-codecov>=0.4.0",
    "pytest-cov>=4.1.0",
    "pytest-asyncio>=0.21.1",
    "pytest-rerunfailures>=12.0,<13.0",
    "tomli>=2.0.1,<3.0.0; python_version<'3.11'",
    "Sphinx>=7.0.0,<8.0.0",
    "sphinx-copybutton>=0.5.2",
    "sphinx-notfound-page>=1.0.0",
    "sphinx-sitemap-lextudio>=2.5.2",
    "sphinx-polyversion>=1.0.0",
    "furo>=2023.1.1",
    "pre-commit==2.21.0",
    "doc8>=1.0.0",
    "flake8>=7.0.0",
    "pep8-naming>=0.14.1",
    "cryptography>=44.0.1",
    "pysmi>=1.6.1",
    "bump2version>=1.0.1",
    "ruff>=0.11.7",
    "jinja2>=3.1.6"
]

[tool.flit.sdist]
exclude = [
    "tests/",
    "docs/",
    "examples/"
]

[build-system]
requires = ["flit_core>=3.9.0"]
build-backend = "flit_core.buildapi"

[tool.ruff]
lint.ignore = ["F401", "F403", "F405"]
lint.per-file-ignores = { "pysnmp/smi/mibs/**/*.py" = ["E731", "F821"] }
preview = true

[tool.ruff.format]
exclude = ["pysnmp/smi/mibs/**/*.py"]
