skillfed

pan-os-python

Framework for interacting with Palo Alto Networks devices via API

pan-os-python v1.13.1 114.1K downloads/30d#12,311 on PyPI398
Permissive license ISC Active released

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-python

uv

uv add pan-os-python

poetry

poetry add pan-os-python

Installing 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

Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI ApprovedLicense :: OSI Approved :: ISC License (ISCL)Natural Language :: EnglishProgramming Language :: Python :: 2Programming Language :: Python :: 2.7Programming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9

Tags

palo alto networks firewall apipan-os device management pythonfirewall configuration automationpanorama api sdknetwork device provisioningpanos firewall control
firewall-managementnetwork-automationpalo-alto-networks

More Networking packages