Building BlocksΒΆ
Stable surface for extending Patcher. HTTP transport, analysis transforms, configuration and data persistence, PDF rendering.
AnalyzeCompose filters and trend criteria over a list of PatchTitle objects. The transform layer behind patcherctl analyze; reach for it when you want to slice patch data your own way.
ConfigManagerOwns Jamf credentials. Keychain-backed by default; pass in_memory_credentials for CI or non-macOS environments where the keychain isnβt writable.
DataManagerPatch report persistence. Reads and writes the pickle cache under ~/Library/Caches/Patcher/ that powers analyze and trend comparisons across snapshots.
HttpClientAsync httpx base every outbound client inherits from. Provides the per-instance semaphore and the httpx.RequestError β APIResponseError translation subclasses route through.
PdfReportfpdf2-backed renderer for branded patch reports. Handles font loading, logo placement, and per-page header/footer styling driven by UIConfig.
TokenManagerOAuth token lifecycle for the Jamf Pro API. Acquires, caches, and refreshes bearer tokens; JamfClient drives it for you in normal use.
PropertyListManagerRead/write helper for com.liquidzoo.patcher.plist. Wraps PlistBuddy and plutil so nested-dict edits round-trip cleanly through the binary plist format.