Skip to main content

Python wrapper for JSS API.

Project description


This project aims to offer simple, elegant, pythonic access to the Jamf Casper JSS API.

Jamf provides access to the JSS and most of its object types through a REST API. python-jss allows you interact with the API to create new objects, list or edit the existing ones, and to upload files to configured distribution points.

The level of coverage for convenience methods and properties is primarily centered on Computer management, and specifically, those aspects which factor into policy and package management.

Automating policy creation is streamlined; however, class MobileDeviceInvitations provides nothing beyond basic JSSObject methods and properties to the API. Those aspects which I use heavily in our organization, and in support of JSSImporter, tend to be more fleshed out, whereas aspects of the JSS API that I never use tend to be minimalistic. However, based on the code here, it should be easy for anyone wishing to do so to implement a new() method for those objects they’re interested in, and I would be happy to include them. Send me your pull requests!


The easiest method is to use pip to grab python-jss: $ pip install python-jss

However, if you use JSSImporter, its package installer uses easy_install since that is included on pre-10.10.5 OS X. You may want to use easy_install instead: $ easy_install -U python-jss.

If you don’t have pip, you should probably get it:

Alternately, download the source and copy the python-jss package wherever you normally install your packages.

Behind the scenes, python-jss requires the requests, pyasn1, and ndg-httpsclient packages. If you install using easy-install or pip, these dependencies are handled for you. Otherwise, you’ll have to acquire them yourself: easy_install -U pyasn1 ndg-httpsclient requests


python-jss on Linux has some extra dependencies if you need to be able to mount distribution points. - AFP distribution points require the fuse-afp package. - SMB distribution points require the cifs-utils package.

As I’m currently developing on Fedora, these requirements are specific to RedHat-based distros. Feel free to test and comment on Debian so I can update!


Please see the wiki for complete documentation.

Also, my blog has a series of posts about using python-jss, JSSImporter, and jss_helper, and solving unique problems using these tools.

Project details

Download files

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

Files for python-jss, version 1.5.0
Filename, size File type Python version Upload date Hashes
Filename, size python_jss-1.5.0-py2.7.egg (55.6 kB) File type Egg Python version 2.7 Upload date Hashes View
Filename, size python_jss-1.5.0-py2-none-any.whl (58.4 kB) File type Wheel Python version 2.7 Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page