[build-system] requires = ["setuptools>=77"] build-backend = "setuptools.build_meta" [project] name = "napalm-amt" version = "0.2.0" description = "NAPALM driver for Intel Active Management Technology (AMT) over WS-Management" readme = "README.md" license = "Apache-2.0" requires-python = ">=3.10" dependencies = [ "napalm>=5.0", "napalm-device-types>=4.21.1", "requests>=2.31", "defusedxml>=0.7", ] classifiers = [ "Programming Language :: Python :: 3", "Topic :: System :: Hardware", "Topic :: System :: Networking", ] [project.urls] Repository = "https://git.netork.io/NAPALM/napalm-amt" Issues = "https://git.netork.io/NAPALM/napalm-amt/issues" Changelog = "https://git.netork.io/NAPALM/napalm-amt/src/branch/main/CHANGELOG.md" [project.optional-dependencies] # responses mocks AMT's HTTP answers in the tests. dev = ["pytest>=8", "pytest-cov>=5", "mypy>=1.11", "ruff>=0.6", "responses>=0.23"] [project.entry-points."napalm.drivers"] amt = "napalm_amt:AmtDriver" [tool.setuptools.packages.find] include = ["napalm_amt*"] [tool.setuptools.package-data] napalm_amt = ["py.typed"] [tool.ruff] line-length = 100 target-version = "py310" [tool.ruff.lint] select = ["E", "F", "I", "UP", "B"] [tool.ruff.lint.per-file-ignores] # Recorded device output keeps its lines. "tests/**" = ["E501"] [tool.mypy] python_version = "3.10" strict = true # napalm itself is untyped, so every driver subclasses Any. disallow_subclassing_any = false [[tool.mypy.overrides]] module = ["napalm.*", "requests.*", "defusedxml.*"] ignore_missing_imports = true [[tool.mypy.overrides]] # Not yet under strict mypy (quality baseline); may only shrink. module = ["napalm_amt.driver"] ignore_errors = true [tool.pytest.ini_options] testpaths = ["tests"] [tool.coverage.run] source = ["napalm_amt"] [tool.coverage.report] fail_under = 95