[build-system] requires = ["setuptools>=77"] build-backend = "setuptools.build_meta" [project] name = "napalm-zyxel" version = "0.2.0" description = "NAPALM driver for Zyxel VMG series residential gateways (VMG4005-B50A and similar)." readme = "README.md" license = "Apache-2.0" requires-python = ">=3.10" authors = [ { name = "Christian Manivong" }, ] classifiers = [ "Topic :: Utilities", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Operating System :: POSIX :: Linux", "Operating System :: MacOS", ] dependencies = [ "napalm>=4.0.0", "napalm-device-types>=4.21.1", "requests>=2.28.0", ] [project.optional-dependencies] dev = ["pytest>=8", "pytest-cov>=5", "mypy>=1.11", "ruff>=0.6"] [project.entry-points."napalm.drivers"] zyxel = "napalm_zyxel.zyxel_driver:ZyxelVMGDriver" [project.urls] Repository = "https://git.netork.io/NAPALM/napalm-zyxel" Issues = "https://git.netork.io/NAPALM/napalm-zyxel/issues" Changelog = "https://git.netork.io/NAPALM/napalm-zyxel/src/branch/main/CHANGELOG.md" [tool.setuptools.packages.find] where = ["."] include = ["napalm_zyxel*"] [tool.setuptools.package-data] napalm_zyxel = ["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.*"] ignore_missing_imports = true [[tool.mypy.overrides]] # Not yet under strict mypy (quality baseline); may only shrink. module = ["napalm_zyxel.zyxel_driver"] ignore_errors = true [tool.pytest.ini_options] testpaths = ["tests"] [tool.coverage.run] source = ["napalm_zyxel"] [tool.coverage.report] fail_under = 68