If you have: | And you need: | Then you need to use: | Because: |
NetBox 3.7.0 or newer | VPNs | 7.3.3 or newer | vpn app was added in pynetbox |
NetBox 3.5.0 or newer | ASN ranges | 7.1.0 or newer | asn_ranges.available_asns was added in pynetbox |
NetBox 3.3.0 or newer | Cable terminations | 7.0.0 or newer | Cable terminations were changed in NetBox 3.3 |
NetBox older than 3.3.0 | Cable terminations | 6.6.2 (or older) | pynetbox 7.0.0 (or newer) only supports NetBox 3.3 or newer |
NetBox 3.2.0 or newer | /api/ipam/vlan-groups/<id>/available_vlans | 6.5.0 or newer | Feature was added in NetBox 3.2 |
NetBox 3.1.1 or newer | /api/ipam/prefixes/<id>/available_ips (or _prefixes ) | 6.4.1 or newer | NetBox behaviour was changed, pynetbox was updated to support that |
NetBox 3.1.0 or newer | /api/wireless | pynetbox 6.4.0 or newer | wireless app was added in pynetbox |
NetBox 3.0.0 or newer | /api/users/tokens/provision | pynetbox 6.3.0 or newer | Api.create_token() was added in pynetbox |
NetBox 2.10.0 or newer | /api/status | pynetbox 5.2.0 or newer | Api.status() was added in pynetbox |
NetBox 2.9.0 or newer | /api/users | pynetbox 5.2.0 or newer | users app was added in pynetbox |
NetBox 2.9.0 or newer | Tags | pynetbox 5.1.2 or newer | Tag handling was changed in NetBox, pynetbox was updated to support that |
Whenever upgrading pynetbox
always read the full release notes between your current version and the new version to see the affecting changes.
Reminder: You can check Api.version
in your code to make it compatible with various NetBox versions if needed, for example (see also Comparing Version Numbers in Python):
import os import pynetbox # pkg_resources is part of setuptools from pkg_resources import parse_version as version token = os.getenv("NETBOX_TOKEN") netbox = pynetbox.api("https://netbox.example.com", token) if version(netbox.version) >= version("3.1"): print("NetBox 3.1+ detected") else: print("Not running the latest NetBox series yet eh?")