Skip to main content

PyJamfPro

PyPI - Python Version PyPI MIT

PyJamfPro is a basic Python wrapper for synchronous communication with the Jamf Pro (and/or Classic) API. The goal is to simplify the process of communicating with the Jamf Pro device management server API by handling authentication and decoding, allowing you to focus on using the data, not retrieving it.

PyJamfPro is not endorsed, sponsored, or affilitated with Jamf in any way.


Usage

Begin by installing the PyJamfPro module, using pip.

pip install pyjamfpro

In your code, simply import the PyJamfPro module and instantiate a new client object. The constructor requires three arguments:

  1. base_url - the base URL of your Jamf Pro server
  2. client_id
  3. client_secret
  • Note: PyJamfPro uses Client Credentials with your Jamf Pro server. You will need to ensure an API Client has been created with the correct permissions for the actions you would like to perform with the API.
from pyjamfpro import jamfpro

client = jamfpro.Client('https://example.jamfserver.com', 'client_id', 'client_secret')

Once you have a client, you can start making synchronous calls to the API.

# returns list of all mobile devices, using the Classic API
devices = client.classic_mobile_devices()

# returns a dictionary of inventory data for the mobile device with ID 1234,
# using the Classic API
device = client.classic_mobile_device_for_id(1234)

# returns a list of all computers, using the Jamf Pro API
computers = client.pro_computers()

Refer to the endpoints.py file for other built-in methods. Additionally, you can use the make_api_request method to access any Jamf API endpoint. Full support for GET, POST, PUT, and DELETE are included.

Contributing

If you have a feature or idea you would like to see added to PyJamPro, please create an issue explaining your idea.

Likewise, if you come across a bug, please create an issue explaining the bug with as much detail as possible.

The Jamf Pro API provides access to a lot of information and, unfortunately, we don't have time to research and implement every endpoint. Please feel free to open a pull request with any additional endpoints you create. We would love to have as many of the core endpoints covered as possible.

License

PyJamPro is released under an MIT license. See LICENSE for more information.

Metadata

Release files for pyjamfpro 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for pyjamfpro 0.2.1
File Interpreter ABI Platform
pyjamfpro-0.2.1-py3-none-any.whl Python 3 none any Details

Release files / pyjamfpro-0.2.1-py3-none-any.whl

Download URL pyjamfpro-0.2.1-py3-none-any.whl
Size 8.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c6f1038f11e3ddd2e888cc1dae732aa1fa0992e1dbe70a1a437e8a7f52b1b55c
BLAKE2b-256 checksum
How to use checksums
92bf9adb866ebb22d48d09d7b0ecca08f8e02124fcf4a3cf52e2f2c13d3d27e5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.0 CPython/3.11.0

Release history Release notifications | RSS feed

This release

0.2.1 This release

1 release file

0.2.0

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page