Registry / crm-productivity / pyobjc-framework-automator

pyobjc-framework-automator

JSON →
library12.2pypypiunverified

The `pyobjc-framework-automator` library provides Python wrappers for the macOS Automator framework, enabling Python applications to develop Automator actions and run workflows. It is part of the larger PyObjC bridge, which allows Python scripts to use and extend Objective-C class libraries, notably Apple's Cocoa. The current version is 12.1, released on 2025-11-14. PyObjC maintains an active development pace with several major and minor releases per year, often tied to macOS SDK updates and Python version support changes.

pip install pyobjc-framework-automator
INSTALL
IMPORT
SIG · PYOBJC-FRAMEWORK-A
P
pyobjc-framework-automator
crm-productivitypythonv12.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.

AMWorkflow
✓ from Automator import AMWorkflow
Classes within the Automator framework are imported from the `Automator` package.
AMWorkflowController
✓ from Automator import AMWorkflowController
Classes within the Automator framework are imported from the `Automator` package.

This quickstart demonstrates how to import the `Automator` framework and access its core classes. Running full Automator workflows or developing actions typically requires a complete macOS application context, often built with `py2app`, or a carefully configured console application. This example focuses on verifying framework access.

import Automator from Foundation import NSURL, NSArray # Foundation is often used with PyObjC frameworks # This example confirms that core Automator classes are accessible. # Actual execution of Automator workflows or creating complex actions # typically involves a full macOS application context (e.g., via py2app) # and specific workflow files. print(f"PyObjC Automator framework version: {Automator.__version__}") try: # Check for the presence of key Automator classes if hasattr(Automator, 'AMWorkflow'): print(f"Automator.AMWorkflow class found: {Automator.AMWorkflow}") if hasattr(Automator, 'AMWorkflowController'): print(f"Automator.AMWorkflowController class found: {Automator.AMWorkflowController}") # Example: Trying to get system-wide Automator actions (conceptual) # Note: Requires a running Cocoa event loop in a real application # or careful setup for console tools. # For a simple check, we just confirm the class exists. # AMAction.allActionsWithSearchFor_("PDF") # Requires a real app context. print("PyObjC Automator framework classes successfully accessed.") except Exception as e: print(f"An error occurred: {e}") print("Ensure you are running on macOS and the pyobjc-framework-automator is installed.")
Debug
Known issues
breakingPyObjC 12.0 dropped support for Python 3.9. Projects targeting older Python versions must use an earlier PyObjC version.
fix
Upgrade to Python 3.10 or newer, or pin `pyobjc-framework-automator<12.0`.
affects: >=12.0
breakingPyObjC 11.0 dropped support for Python 3.8. Projects targeting Python 3.8 must use an earlier PyObjC version.
fix
Upgrade to Python 3.9 or newer (for PyObjC < 12.0), or pin `pyobjc-framework-automator<11.0`.
affects: >=11.0
breakingPyObjC 11.1 introduced alignment with `clang`'s Automatic Reference Counting (ARC) documentation for initializer methods. This change means methods in the 'init' family now correctly steal a reference to `self` and return a new reference, which may alter memory management behavior in existing code that relies on previous PyObjC reference counting for `init` methods.
fix
Review code that interacts with Objective-C `init` methods for potential changes in object lifecycle and reference counts.
affects: >=11.1
breakingThe "IMServicePlugIn" framework bindings were removed in PyObjC 10.0 because the framework was deprecated in macOS 10.13 and completely removed in macOS 14. Code relying on these bindings will no longer function.
fix
Remove dependencies on the "IMServicePlugIn" framework. There is no direct replacement for this deprecated Apple framework.
affects: >=10.0
gotchaThere was a temporary breaking change in PyObjC 10.3 where calling `__init__` on subclasses of Objective-C classes was broken if the user also implemented `__new__`. While this was partially reverted in 10.3.1 to support `__init__` when a user-implemented `__new__` exists, users relying on PyObjC's provided `__new__` still cannot use `__init__`.
fix
Carefully manage `__init__` and `__new__` in Objective-C subclasses. If you rely on PyObjC's `__new__`, avoid implementing `__init__`. If implementing your own `__new__`, ensure `__init__` is correctly called, but be aware of limitations.
affects: >=10.3, <11.0
gotchaAs of PyObjC 12.1, Key-Value Observing (KVO) usage is automatically disabled for subclasses of `NSProxy` defined in Python. If your application relies on KVO with Python subclasses of `NSProxy`, this change will affect its behavior.
fix
If KVO is required for Python subclasses of `NSProxy`, consider alternative implementation strategies or explicit KVO management outside of the automatic behavior.
affects: >=12.1
Upgrade
Version history
12.2latest on PyPI · released May 30, 2026
Audit
Dependencies
pyobjc-corerequiredCore component for all PyObjC framework bindings.
pythonrequiredRequires Python 3.10 or newer.
Agent activity
39 hits · last 30 days
node
36
OpenAI (training)
1
Resources
pyobjc-framework-automator — pip install pyobjc-framework-automator · libregistry