pan-os-python
Framework for interacting with Palo Alto Networks devices via API
What it is and what it does
pan-os-python is an object-oriented SDK that lets you interact with Palo Alto Networks firewalls and Panorama appliances programmatically. Instead of logging into the web GUI or CLI, you write Python code to create, modify, and query device configurations and run operational commands. The SDK models the device's configuration hierarchy as Python objects and handles the underlying API calls for you.
It's designed for automation tasks: provisioning interfaces, managing security policies, running diagnostics, and orchestrating changes across single devices or Panorama-managed fleets. The package is stable, actively maintained, and already in production use. It depends only on pan-python for HTTP communication, keeping installation straightforward.
Use it for:
- Automate firewall interface and network configuration during infrastructure provisioning.
- Batch-manage security policies and rules across multiple firewalls via Panorama.
- Query device status, system info, and operational metrics for monitoring or compliance audits.
- Integrate firewall configuration into CI/CD pipelines for infrastructure-as-code workflows.
- Implement high-availability failover logic or retry mechanisms during device maintenance.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Framework for programmatically configuring and managing Palo Alto Networks firewalls and Panorama devices via API, with object-oriented access to device configuration and operational commands.
Yes, if you manage Palo Alto Networks devices and need programmatic control. The package is stable, actively maintained, has low install friction, and carries a permissive license. No known security vulnerabilities. Only caveat: you must have network access to a compatible PAN-OS device with API credentials to use it meaningfully.
Install
pan-os-python on PyPI
pip
pip install pan-os-pythonuv
uv add pan-os-pythonpoetry
poetry add pan-os-pythonInstalling pan-os-python
Before you install
Low friction installation with a single pure-Python dependency. Actively maintained with recent releases; marked stable and used in production environments.
License in practice
ISC license is permissive, allowing commercial and private use with minimal restrictions.
Quickstart
pip install pan-os-python
import pan-os-python
from pan-os-python import firewall, network
fw = firewall.Firewall("10.0.0.1", api_username="admin", api_password="admin")
eth1 = network.EthernetInterface("ethernet1/1", mode="layer3")
fw.add(eth1)
eth1.create()
fw.commit()
Requires network connectivity to a Palo Alto Networks device (physical or virtualized firewall or Panorama) with API access enabled and valid credentials.
Verify before relying
- Whether the package supports all current PAN-OS versions and device models.
- Performance characteristics when managing large-scale deployments or high-availability pairs.
- Compatibility with Panorama as a proxy for managing multiple firewalls at scale.
Package facts
| License | ISC (permissive) |
| Python support | supports the current Python release (!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — pan-python |
| Maintenance | actively maintained — 23 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 114,110/month — #12,311 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pan_os_python-1.13.1-py2.py3-none-any.whl
Keywords: panos, pan-os-python
Tags
More Networking packages
h11 is a pure-Python HTTP/1.1 protocol…
permissive · top 100 on PyPI
psutilpsutil retrieves real-time information about…
permissive · top 1,000 on PyPI
pyOpenSSLpyOpenSSL wraps OpenSSL's SSL/TLS functionality…
permissive · top 1,000 on PyPI
uvloopuvloop is a drop-in replacement for Python's…
permissive · top 1,000 on PyPI
execnetexecnet lets you spawn and communicate with…
permissive · top 1,000 on PyPI
pyzmqPyZMQ provides Python bindings for ZeroMQ…
permissive · top 1,000 on PyPI
pan-pythonProvides Python and command-line interfaces to…
permissive · top 15,000 on PyPI
prisma-saseLightweight Python SDK wrapper for the Palo…
permissive · top 15,000 on PyPI
scc-firewall-manager-sdkProvides a Python SDK for interacting with…
unclear · top 15,000 on PyPI
cvpracA Python client library for the Arista…
permissive · top 15,000 on PyPI
azure-mgmt-iothubprovisioningservicesManages Azure IoT Hub Provisioning Services…
permissive · top 5,000 on PyPI
binho-host-adapterControls Binho Multi-Protocol USB Host Adapters…
permissive · top 15,000 on PyPI
azure-mgmt-networkManages Azure network resources (virtual…
permissive · top 5,000 on PyPI
sshtunnelEstablishes SSH tunnels to forward local ports…
permissive · top 1,000 on PyPI
azure-mgmt-datalake-storeManages Azure Data Lake Store accounts,…
permissive · top 5,000 on PyPI
wafw00fIdentifies and fingerprints web application…
permissive · top 15,000 on PyPI