Skip to main content

No project description provided

Project description

README

This repository contains a wrapper around Panorama/PaloAlto API.

Documentation

Documentation can be found here It is automatically generated using pdoc

Why the need for this library ?

For simple resource retrieval, the existing API is enough, but the libraries available are not practical for it. Especially, we don't have much information on the data' schema.

The official python SDK of PaloAltoNetworks itself relies on a third party wrapper for their API.

This library provides clients (JSON/XML APIs) with a more popular approach when wrapping the API, making it easier to use for developers. It also provides types' wrappers using pydantic library to simplify their usage or utility functions to re-structure the data we receive. This provides the usual benefits of types like:

  • IDE completion: IDE will be able to provide you with completion as you type your code
  • Consistancy: a value that might be missing will always be defined either as None or as an empty list
  • Correctness: using mypy, you will be able to catch errors before they go to production.

NOTE: The json API is very limited and is, in fact, a mere translation of the xml using the same process as xmltodict library. Also, it is quite slow. For big read operations, it is better to retrieve big portions of the configuration at once and work completely locally.

Current State of the library

This library was developed over months by adding features when they were needed. It was tested against 9.x to 11.x paloalto and panorama devices.

There are a few caveats though:

  • Not everything is done now
  • The main focus is put on the XML API (there is no real reason to use the json API with this library)
  • The distinction between paloalto and panorama is not clearly defined everywhere. NOTE: we are trying to make the distinction transparent.
  • It currently focus on data retrieval more than insertion/update/deletion.
  • Methods should be re-arranged and re-grouped to simplify the usage of the library.
  • This does not support async/await currently.

Contributions are welcome:

  • Completing / Correcting types is more than welcome
  • Bug fixes are also very welcome
  • We would also like people opinions on how we can improve the library:
    • How should we organize the client classes and methods
    • How the creation/update/deletion should be taken care Don't hesitate to open an issue/discussion on this topic.

TODO

Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pa_api_sdk-0.1.10.tar.gz (45.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pa_api_sdk-0.1.10-py3-none-any.whl (67.3 kB view details)

Uploaded Python 3

File details

Details for the file pa_api_sdk-0.1.10.tar.gz.

File metadata

  • Download URL: pa_api_sdk-0.1.10.tar.gz
  • Upload date:
  • Size: 45.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.23

File hashes

Hashes for pa_api_sdk-0.1.10.tar.gz
Algorithm Hash digest
SHA256 65f9b703b20f8bb5fb8ba198fbb70f4a6aa6284cbbd6d5d5fda163386e9041ab
MD5 8a4aa62e761a9bc4269eaf258d31ec02
BLAKE2b-256 e9fdf26b11fd6f686f5beb5afff500d64e87e60dc9e31c7da800ee3ea8b3b32f

See more details on using hashes here.

File details

Details for the file pa_api_sdk-0.1.10-py3-none-any.whl.

File metadata

  • Download URL: pa_api_sdk-0.1.10-py3-none-any.whl
  • Upload date:
  • Size: 67.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.23

File hashes

Hashes for pa_api_sdk-0.1.10-py3-none-any.whl
Algorithm Hash digest
SHA256 ab20b1b8b7cc9b6c6793c49fa0f5a47cfb752369bb53a1a0a6d20c159024d0d9
MD5 b51f66cf1e60b5d06cdcf31c86ba8ef2
BLAKE2b-256 76bb09ccf7dca3f3a14d7ef98081a85fb6a0075ded87b8c8a4a0c226b0b32607

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page