diff --git a/CHANGELOG.md b/CHANGELOG.md index 4347a93..d3265a2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,14 @@ All notable changes to this driver. The format follows ## [Unreleased] +### Changed +- Python 3.12 is the floor (`requires-python = ">=3.12"`): netOrk runs every driver + on 3.12, so 3.10 and 3.11 are no longer tested (NAPALM/driver-standard#6). +- The floor on napalm is 5.1: older releases import `pkg_resources`, which a Python + 3.12 venv no longer has. +- The floor on urllib3 is 1.26.5: older releases bundle a `six` that Python 3.12 + cannot import. + ## [0.6.0] - 2026-10-23 The first release on PyPI. diff --git a/pyproject.toml b/pyproject.toml index c459bb1..e600527 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,28 +8,26 @@ version = "0.6.0" description = "NAPALM driver for HPE/Aruba ProCurve switches with auto-detecting transport (REST API, SSH, legacy SSH, Telnet)" readme = "README.md" license = "Apache-2.0" -requires-python = ">=3.10" +requires-python = ">=3.12" 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>=5.1", # older releases import pkg_resources, which a 3.12 venv lacks "napalm-device-types>=4.21.1", "netmiko>=4.0.0", "paramiko>=5.0.0", # CVE-2026-44405 "netaddr>=0.7.10", "requests>=2.25.0", - "urllib3>=1.23", + "urllib3>=1.26.5", # older ones bundle a six that Python 3.12 cannot import ] [project.optional-dependencies] @@ -61,7 +59,7 @@ package = "napalm_procurve" [tool.ruff] line-length = 100 -target-version = "py310" +target-version = "py312" [tool.ruff.lint] select = ["E", "F", "I", "UP", "B"] @@ -71,7 +69,7 @@ select = ["E", "F", "I", "UP", "B"] "tests/**" = ["E501"] [tool.mypy] -python_version = "3.10" +python_version = "3.12" strict = true # napalm itself is untyped, so every driver subclasses Any. disallow_subclassing_any = false