A python library and CLI for turning patch reports into something other than a spreadsheet you'll never open again. Read the full project documentation on our project homepage.
An exported PDF report for "AnyOrg". See Customization in the project docs for more.
$ python3 -m pip install patcherctlFull library and CLI references plus assembled recipes live in the Guides section of the docs. The two quick examples below cover the common case of fetching Jamf's patch-management view and exporting reports.
import asyncio
from patcher import PatcherClient
async def main():
async with PatcherClient(
client_id="...",
client_secret="...",
server="https://yourorg.jamfcloud.com",
) as patcher:
titles = await patcher.fetch_patches()
await patcher.export(titles, output_dir="./reports", formats={"pdf"})
asyncio.run(main())$ patcherctl \
--client-id="..." \
--client-secret="..." \
--url="https://yourorg.jamfcloud.com" \
export --path="./reports" --format=pdfPatcher's API is a community catalog of macOS app patching metadata stitched from Installomator, Homebrew Cask, AutoPkg (and more) into a single queryable surface.
API is public, no authentication is required. See project docs for curl and PatcherClient examples.
Note
On a corporate network that filters new or uncategorized domains, the catalog API may be blocked by a web gateway. See Catalog API Blocked by Web Filtering to confirm and resolve it.
Contributions to Patcher are welcome! We have set up templates for submitting issues, feature requests, and feedback. Please be sure to utilize these templates when contributing to the project.