These switches have no CLI at all — no SSH, no Telnet and no ArubaOS-Switch REST API — so the ProCurve driver cannot serve them despite the shared vendor. The only management surface is the web UI, which ships its table data as JavaScript array literals; those parse with ast.literal_eval, so the driver needs no HTML parser and no dependency beyond napalm/requests. Read-only by design: the platform exposes a single administrator account with no privilege levels, and serves HTTPS only after a certificate has been uploaded, so the polling credential is necessarily the admin credential over a plain channel. Implements get_facts, get_interfaces, get_vlans, get_vlans_detail and get_mac_address_table, plus HTTP/SNMP fingerprints for discovery. Tested against an HPE OfficeConnect 1820 8G PoE+ (65W), J9982A, PT.02.19.
57 lines
1.5 KiB
TOML
57 lines
1.5 KiB
TOML
[build-system]
|
|
requires = ["setuptools>=64", "wheel"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "napalm-hpe-officeconnect"
|
|
version = "0.1.0"
|
|
description = "NAPALM driver for HPE OfficeConnect 1820 / 1920S web-managed switches (HTTP only, no CLI)"
|
|
readme = "README.md"
|
|
license = { text = "Apache-2.0" }
|
|
requires-python = ">=3.8"
|
|
authors = [
|
|
{ name = "Christian Manivong" },
|
|
]
|
|
classifiers = [
|
|
"Topic :: Utilities",
|
|
"License :: OSI Approved :: Apache Software License",
|
|
"Programming Language :: Python :: 3",
|
|
"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",
|
|
"Operating System :: POSIX :: Linux",
|
|
"Operating System :: MacOS",
|
|
]
|
|
# No netmiko/paramiko: these switches have no CLI at all.
|
|
# No BeautifulSoup: the web UI ships its table data as JS array literals,
|
|
# which parse with ast.literal_eval — see parsers.extract_data_set.
|
|
dependencies = [
|
|
"napalm>=4.0.0",
|
|
"requests>=2.25.0",
|
|
"urllib3",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
dev = [
|
|
"pytest",
|
|
"pytest-cov",
|
|
"black",
|
|
"ruff",
|
|
]
|
|
|
|
[project.entry-points."napalm.drivers"]
|
|
hpe_officeconnect = "napalm_hpe_officeconnect:OfficeConnectDriver"
|
|
|
|
[project.urls]
|
|
Repository = "https://git.netork.io/NAPALM/napalm-hpe-officeconnect"
|
|
|
|
[tool.setuptools.packages.find]
|
|
where = ["."]
|
|
include = ["napalm_hpe_officeconnect*"]
|
|
|
|
[tool.ruff]
|
|
line-length = 100
|
|
target-version = "py38"
|