
The PAN-OS SDK for Python (pan-os-python) is a package that enables users to interact with Palo Alto Networks devices, including physical and virtualized Next-generation Firewalls and Panorama. It is a stable, fully tested package with a range of production environments. The package is available on GitHub, as well as a package on PyPi (Python Package Index), and can be installed using pip on Python 2.7 or 3.x. This article will provide a step-by-step guide on how to install and utilize pan-python effectively.
| Characteristics | Values |
|---|---|
| Name | PAN-OS SDK for Python (pan-os-python) |
| Description | A package to help interact with Palo Alto Networks devices (including physical and virtualized Next-generation Firewalls and Panorama) |
| Type | Object-oriented |
| Interaction | Mimics traditional interaction with the device via GUI or CLI/API |
| Documentation | http://pan-os-python.readthedocs.io |
| Stability | Stable and fully tested, used in many production environments |
| Semantic Versioning | Indicates bug fixes, new features, and breaking changes in each version |
| Configuration Tasks | Create a tree structure using classes in each module; nodes hierarchy must follow the model in the Configuration Tree |
| Example Modules | from panos import firewall, from panos import network |
| Download URL | pan_os_python-1.12.2-py2.py3-none-any.whl |
| Installation Command | pip install --user pan-python |
| GitHub Repository | https://github.com/kevinsteves/pan-python |
Explore related products
What You'll Learn

Installation using pip on Python 2.7 or 3.x
To install PAN-Python using pip on Python 2.7 or 3.x, follow these steps:
First, ensure that you have downloaded the PAN-Python file suitable for your platform from the PyPI website. The file name will be in the format "pan_python-version-pyversion-none-any.whl", where you should replace "version" with the relevant version number.
Next, open a terminal or command prompt and navigate to the folder containing the downloaded PAN-Python file. Check if you have pip installed by running the command:
Python -m pip --version
If you do not have pip installed, you can do so by using the ensurepip module, which is included with Python. Download the get-pip.py script from the following link: https://bootstrap.pypa.io/get-pip.py. Once downloaded, open a terminal and navigate to the folder containing the get-pip.py file. Then, run the following command:
Python get-pip.py
This will install pip in your Python environment.
Now that you have pip installed, you can use it to install PAN-Python. Run the following command in your terminal, replacing "filename" with the name of the PAN-Python file you downloaded:
Pip install filename
For example, if the file name is "pan_python-0.25.0-py3-none-any.whl", the command would be:
Pip install pan_python-0.25.0-py3-none-any.whl
This will install PAN-Python using pip on your system.
Note: If you are using Python 2.7, you may need to specify the Python version when running the pip command. For example:
Python2 -m pip install pan_python-0.25.0-py2-none-any.whl
Removing Stuck Transmission Oil Pan: DIY Guide
You may want to see also
Explore related products

Downloading the package from PyPi
PyPI, or the Python Package Index, is a platform for package authors to distribute their software. To download the package from PyPi, you can follow these steps:
Firstly, ensure that you have pip installed on your system. Pip is a package installer for Python packages and is the recommended tool for installing packages from PyPI. It is included by default in most Python installations. You can verify that pip is installed by running the command "pip --version" in your terminal or command prompt. If pip is not installed, you can refer to the Python Packaging User Guide for instructions on installing it.
Once you have confirmed that pip is installed, you can use it to download the package. The package name for PAN-OS Python on PyPI is "pan-os-python". You can use the following command to download and install the package:
Pip install pan-os-python
This command will download the pan-os-python package and any required dependencies from PyPI and install them on your system. The package includes a PAN-OS SDK for Python, which allows you to interact with Palo Alto Networks devices, including physical and virtualized Next-generation Firewalls and Panorama.
If you prefer to download the package manually, you can visit the pan-os-python project page on PyPI (https://pypi.org/project/pan-os-python/). On the project page, you will find links to download the package files directly. You can choose between different file formats, such as "tar.gz" or "whl" files, depending on your requirements and Python version.
By following these steps, you can easily download the PAN-OS Python package from PyPI and start interacting with Palo Alto Networks devices using the provided SDK.
Rimmed Sheet Pan: Know Its Exact Measurements
You may want to see also
Explore related products
$47.49 $79.99
$37.53 $65.99

Using the PAN-OS XML API labs
The PAN-OS SDK for Python (pan-os-python) is a package that enables interaction with Palo Alto Networks devices, including physical and virtualized Next-generation Firewalls and Panorama. The SDK is object-oriented and designed to mimic the traditional interaction with the device through a GUI or CLI/API.
To get started with the PAN-OS XML API, you can refer to the official documentation provided by Palo Alto Networks. The documentation includes examples and explanations to help you understand how to use the API effectively. It covers various topics, such as building a configuration tree, executing operational commands, and handling XML formatting.
One important aspect of using the PAN-OS XML API is the ability to pull configuration information from the firewall to populate a PanDevice configuration tree. This technique offers advantages such as tracking the device's current state and preventing unnecessary commits by checking if a configuration change already exists on the firewall.
Additionally, when working with the API, you might encounter situations where the auto-formatting performed by pan-os-python does not work as expected. In such cases, you can SSH into your PAN-OS appliance and enable debugging to understand how PAN-OS is formatting the command. By examining the debug CLI output, you can identify the XML structure and make the necessary adjustments for operational commands.
Furthermore, it's worth noting that everything in pan-os-python is a PanObject. These PanObjects serve as building blocks for creating configurations. There are numerous methods available to construct the configuration tree and interact with the live device. You can refer to the PanObject API reference for a comprehensive understanding of all the available methods and their functionalities.
The Heat of Auto Tranny Pans: How Hot is Too Hot?
You may want to see also
Explore related products
$71.99 $80.98
$41.31 $59.95

Creating a tree structure using the classes in each module
To install PAN-OS Python, you can refer to the official documentation. It is a package to help interact with Palo Alto Networks devices, including physical and virtualized Next-generation Firewalls and Panorama.
Now, to create a tree structure using the classes in each module, we need to understand the basic structure of a tree. A tree data structure in Python consists of a root node, leaf nodes, and internal nodes. Each node is connected to its child node through a reference called an edge. The root node is the topmost node and is always the first node created. We can access each element of the tree, starting from the root node. The parent node of any node is the node that references the current node. Child nodes are the nodes that the parent node points to using references.
Python
From panos import firewall
From panos import network
Class Node:
Def __init__(self, data):
Self.data = data
Self.left = None
Self.right = None
Create the root node
Root = Node("Root")
Create child nodes
Node1 = Node("Child 1")
Node2 = Node("Child 2")
Connect the child nodes to the root node
Root.left = node1
Root.right = node2
Add more child nodes to the tree structure as needed
Node1.left = Node("Grandchild 1")
Node1.right = Node("Grandchild 2")
Node2.left = Node("Grandchild 3")
Node2.right = Node("Grandchild 4")
In the above example, we first import the necessary modules, `firewall` and `network`, from the `panos` package. Then, we define a `Node` class with an `__init__` method that initializes the node's data and sets the left and right child references to `None`. We create the root node by instantiating the `Node` class and passing the data "Root". Next, we create child nodes, `node1` and `node2`, and connect them to the root node by assigning them to its left and right references, respectively. Finally, we can continue adding more child nodes to the tree structure as needed.
This is just a basic example of creating a tree structure using classes in each module. The specific implementation may vary depending on the requirements and complexity of your project.
Baking in a Jelly Roll Pan: Tips and Tricks
You may want to see also
Explore related products
$39.99 $49.99

Interacting with Palo Alto Networks devices
The PAN-OS SDK for Python (pan-os-python) is a package that helps interact with Palo Alto Networks devices, including physical and virtualized Next-generation Firewalls and Panorama. The package is object-oriented and mimics the traditional interaction with the device via the GUI or CLI/API.
To get started with the API, follow these steps:
- Linux: Python is usually already installed.
- Mac OSX and Linux: Download pan-python-x.x.x.tar.gz and uncompress the file.
- Windows: Press WinKey+R, type 'cmd' in the Run dialog, and press Enter.
- Mac OSX: Navigate to Applications -> Utilities -> Terminal.
- Linux: Open a terminal program, most distributions have one.
- Navigate to pan-python in the terminal: Use the 'cd' command to navigate to the "bin" directory in the new directory you uncompressed earlier. For example: "cd c:\Users\
\Downloads\pan-python-x.x.x\bin". - Generate an API key: When connecting to the PAN-OS API, an API key is required for authentication. Generate an API key for the default admin user or any specific administrator. Record the outputted API key, as it will be used in all subsequent API calls.
- Make API calls: The API offers various capabilities, such as pulling statistical data, modifying configurations, and retrieving logs, reports, and pcaps. Pass the API key, an action type, and a command or xpath to the firewall to specify what data to retrieve or action to perform. For example, to get interface statistics, use the command: "python panxapi.py -h 10.1.1.5 -K
-x -o " "".ethernet1/1
For configuration tasks, it is necessary to create a tree structure using the classes in each module. The hierarchy of nodes must follow the model in the Configuration Tree. Additionally, the pan-os-python package allows you to track the current state of the device and check if a configuration change is already on the firewall to prevent unnecessary commits.
How to Restore a Discolored Triply Pan?
You may want to see also
Frequently asked questions
The PAN-OS SDK for Python (pan-os-python) is a package to help interact with Palo Alto Networks devices (including physical and virtualized Next-generation Firewalls and Panorama).
Pan-python is available on GitHub at https://github.com/kevinsteves/pan-python, as a package on PyPi (Python Package Index), or can be installed using pip on Python 2.7 or 3.x.
The command is: "pip install --user pan-python".
The panxapi.py command line program from pan-python will be used in the PAN-OS XML API labs to perform API requests.
If the auto-formatting is not working, SSH to your PAN-OS appliance and enable debugging to see how PAN-OS is formatting the command.











































