pan-python
Multi-tool set for Palo Alto Networks PAN-OS, Panorama, WildFire and AutoFocus
What it is and what it does
pan-python is a multi-interface toolkit for interacting with Palo Alto Networks security appliances and services. It wraps the XML APIs of PAN-OS firewalls, Panorama (centralized management), WildFire (malware analysis), AutoFocus (threat intelligence), and the licensing service into both Python libraries and standalone command-line tools. The package has no external dependencies, making it lightweight to deploy in automation scripts, CI/CD pipelines, or interactive management workflows.
Developers use it to automate firewall configuration, retrieve operational status, submit files for malware analysis, query threat data, and manage licenses—all without building raw HTTP requests or parsing XML by hand. The dual interface (Python API and CLI) means you can integrate it into larger Python applications or call it directly from shell scripts and orchestration platforms.
Use it for:
- Automate firewall configuration changes and policy updates across multiple PAN-OS instances via Python scripts.
- Query WildFire to analyze suspicious files and retrieve malware verdicts programmatically.
- Build command-line dashboards or monitoring tools that pull operational metrics from Panorama or individual firewalls.
- Integrate threat intelligence from AutoFocus into security workflows or SIEM systems.
- Manage firewall licenses and licensing operations as part of infrastructure-as-code deployments.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides Python and command-line interfaces to Palo Alto Networks PAN-OS, Panorama, WildFire, AutoFocus, and licensing APIs for managing firewalls and security operations.
Yes, if you manage Palo Alto Networks infrastructure. The package is actively maintained, has no external dependencies, and provides the standard Python interface to a widely-used firewall platform. No known vulnerabilities. Install it if you need to automate PAN-OS, Panorama, WildFire, or AutoFocus operations; skip it if you don't use Palo Alto Networks products.
Install
pan-python on PyPI
pip
pip install pan-pythonuv
uv add pan-pythonpoetry
poetry add pan-pythonInstalling pan-python
Before you install
Low friction installation with no external runtime dependencies. Last release was 57 days ago; repository is active with recent commits and moderate community engagement (285 stars).
License in practice
ISC license is permissive, allowing commercial and private use with minimal restrictions—suitable for most deployment scenarios.
Quickstart
pip install pan-python
from pan.xapi import PanXapi
xapi = PanXapi(hostname='firewall.example.com', api_key='your-api-key')
xapi.op(cmd='show system info')
Requires Python 3.9 or later. Target firewall or Panorama instance must be accessible and have API access enabled.
Verify before relying
- Whether the package supports all current PAN-OS versions and API endpoints beyond what the description lists.
- Performance characteristics and rate-limiting behavior when working with large configurations or high-volume API calls.
- Whether command-line tools are fully featured or have limitations compared to the Python API.
Package facts
| License | ISC (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 57 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 216,285/month — #9,382 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pan_python-0.26.0-py3-none-any.whl
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-os-pythonFramework for programmatically configuring and…
permissive · top 15,000 on PyPI
prisma-saseLightweight Python SDK wrapper for the Palo…
permissive · top 15,000 on PyPI
azure-mgmt-networkManages Azure network resources (virtual…
permissive · top 5,000 on PyPI
scc-firewall-manager-sdkProvides a Python SDK for interacting with…
unclear · top 15,000 on PyPI
scrapliscrapli is a Python library for connecting to…
permissive · top 15,000 on PyPI
sshtunnelEstablishes SSH tunnels to forward local ports…
permissive · top 1,000 on PyPI
wafw00fIdentifies and fingerprints web application…
permissive · top 15,000 on PyPI
netaddrRepresents and manipulates IPv4, IPv6, MAC…
permissive · top 5,000 on PyPI
aiopnsenseAn async Python client library that wraps…
permissive · top 15,000 on PyPI
azure-mgmt-datalake-storeManages Azure Data Lake Store accounts,…
permissive · top 5,000 on PyPI