Registry / communication / pyobjc-framework-servicemanagement

pyobjc-framework-servicemanagement

JSON →
library12.2pypypiunverified

pyobjc-framework-servicemanagement provides Python wrappers for Apple's ServiceManagement framework on macOS. This framework offers a secure and object-oriented interface for interacting with `launchd`, primarily used for managing privileged helper tools. The library is actively maintained, with version 12.1 being the current release, and follows a regular release cadence with updates aligning to new macOS SDKs and Python versions.

pip install pyobjc-framework-servicemanagement
INSTALL
IMPORT
SIG · PYOBJC-FRAMEWORK-S
P
pyobjc-framework-servicemanagement
communicationpythonv12.2
Install
—
Import
—
Disk
—
Pass rate
0/ 10
Env Coverage0 / 10
glibc
3.9–3.13
musl
3.9–3.13
Install & Compatibility
Where this runs
tested against v? · pip install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.10–3.920 runs
build_error
glibc
py 3.10–3.920 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

ServiceManagement
✓ import ServiceManagement
The ServiceManagement framework and its symbols are typically imported directly under the `ServiceManagement` namespace.

This quickstart demonstrates how to import the `ServiceManagement` framework and access a common constant. Full utilization of the `ServiceManagement` APIs requires extensive macOS-specific configurations, including setting up privileged helper tools, managing entitlements, and code signing, which are beyond a simple quickstart example.

import ServiceManagement import objc # Example: Accessing a constant from the ServiceManagement framework # Note: Actual use of ServiceManagement APIs (e.g., SMJobSubmit, SMJobBless) # requires significant macOS-specific setup, including helper executables, # entitlements, and proper code signing. This snippet only demonstrates # basic framework import and constant access. try: # Attempt to access a known constant right_name = ServiceManagement.kSMRightBlessPrivilegedHelper print(f"ServiceManagement constant kSMRightBlessPrivilegedHelper: {right_name}") # Check for a typical function to ensure framework is loaded if hasattr(ServiceManagement, 'SMJobCopyDictionary'): print("ServiceManagement framework appears to be loaded and has SMJobCopyDictionary.") except objc.nosuchmodule_error: print("ServiceManagement framework not found or not importable. This library is macOS-only.") except Exception as e: print(f"An error occurred: {e}")
Debug
Known issues
breakingPyObjC 12.0 dropped support for Python 3.9. Projects requiring Python 3.9 must use PyObjC 11.1 or older.
fix
Upgrade to PyObjC 12.1 (which fixed metadata issues for 3.9 users but still officially drops support) or pin PyObjC to <12 for Python 3.9 environments. Consider upgrading Python to 3.10+.
affects: >=12.0
breakingPyObjC 11.0 dropped support for Python 3.8. Projects requiring Python 3.8 must use PyObjC 10.3 or older.
fix
Upgrade Python to 3.9+ or pin PyObjC to <11 for Python 3.8 environments.
affects: >=11.0
breakingPyObjC 12.0 was temporarily yanked from PyPI due to incorrect `python_requires` metadata, erroneously claiming support for Python 3.9. Users attempting to install PyObjC 12.0 on Python 3.9 would encounter build errors.
fix
Upgrade to PyObjC 12.1, which corrected the metadata issue. Python 3.9 is still not officially supported by PyObjC 12.x.
affects: 12.0
breakingThe behavior of `__init__` for Python subclasses that also implement `__new__` was changed in PyObjC 10.3, leading to unexpected breakage for some projects. This change was partially reverted in 10.3.1 to reintroduce the ability to use `__init__` when a user implements `__new__`.
fix
Ensure you are using PyObjC 10.3.1 or later if your code relies on Python subclasses implementing both `__new__` and `__init__`.
affects: 10.3
gotchaPyObjC is a macOS-specific library and will not function on other operating systems like Linux or Windows.
fix
Ensure the development and deployment environment is macOS. For cross-platform development, consider alternative libraries.
affects: All versions
gotchaPyObjC 11.1 aligned the behavior of 'init' family methods (initializers) with Objective-C's Automatic Reference Counting (ARC) semantics. These methods now correctly 'steal' a reference to `self` and return a new retained object, which might affect custom memory management or complex instantiation patterns.
fix
Review custom Python wrappers for Objective-C objects that override `init` methods to ensure they correctly handle reference counting based on ARC semantics.
affects: >=11.1
Upgrade
Version history
12.2latest on PyPI · released May 30, 2026
Audit
Dependencies
pyobjc-corerequiredProvides the core bridge between Python and Objective-C, essential for all PyObjC framework wrappers.
pyobjcoptionalA meta-package that installs pyobjc-core and all available framework wrappers. While not a direct dependency of individual framework packages, it's often installed to get the full suite.
Agent activity
12 hits · last 30 days
node
10
Amazon
1
OpenAI (training)
1
Resources
pyobjc-framework-servicemanagement — pip install pyobjc-framework-servicemanagement · libregistry