pymdm Documentation

A cross-platform Python utility package for MDM deployment scripts, built for MacAdmins Python and Jamf Pro workflows. Windows/Intune support included for mixed-platform fleets.

Features

Core
  • CommandRunner — Subprocess execution with credential sanitization and check=False mode

  • MdmLogger — Structured logging with file output and rotation

  • SystemInfo — Serial number, console user, hostname across platforms

  • WebhookSender — Webhook delivery with optional custom headers

MDM Parameters
  • ParamParser — Jamf Pro script parameters 4-11

  • IntuneParamProvider — Env var and argv parsing for Intune

  • Dialog — swiftDialog integration (macOS)

macOS Helpers
  • DarwinDefaults — Read, write, delete defaults plist values

  • DarwinServiceManagerlaunchctl is_loaded, bootout, bootstrap

Windows Helpers
  • Win32Registry — Read, write, delete registry values via winreg

  • Win32ServiceManagersc.exe is_running, start, stop, delete

Requirements

  • Python 3.12+

  • uv package manager (recommended)

  • macOS with MacAdmins Python for Jamf Pro scripts

  • Windows with Python 3.12+ for Intune scripts