pyobjc-framework-InputMethodKit
Wrappers for the framework InputMethodKit on macOS
What it is and what it does
This package wraps Apple's InputMethodKit framework for use in Python, allowing developers to build custom input methods on macOS. It is part of the PyObjC project and provides direct access to the native framework's APIs through Python bindings. The wrapper does not include its own documentation; users must refer to Apple's InputMethodKit documentation combined with PyObjC's general translation guidance to understand how to use the framework.
The package is macOS-only and requires Python 3.10 or later. It depends on pyobjc-core and pyobjc-framework-Cocoa, which handle the underlying Objective-C bridge. Installation is straightforward on supported macOS versions via pre-built wheels, though it will not work on Linux or Windows systems.
Use it for:
- Building custom input methods for non-Latin scripts or specialized keyboard layouts on macOS
- Creating accessibility-focused text input solutions that integrate with macOS system input handling
- Developing IME (Input Method Editor) applications for languages not well-supported by default macOS input
- Integrating Python-based text processing logic into macOS input method pipelines
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides Python bindings to macOS's InputMethodKit framework, enabling development of custom input methods for text input on macOS 10.5 or later.
Yes, if you are developing input methods on macOS and need Python bindings to InputMethodKit. The package is actively maintained, has no known vulnerabilities, uses a permissive MIT license, and supports current Python versions. Install friction is moderate due to platform specificity, but pre-built wheels mitigate compilation overhead. Not applicable for non-macOS development.
Install
pyobjc-framework-inputmethodkit on PyPI
pip
pip install pyobjc-framework-inputmethodkituv
uv add pyobjc-framework-inputmethodkitpoetry
poetry add pyobjc-framework-inputmethodkitInstalling pyobjc-framework-InputMethodKit
Before you install
Medium install friction due to platform specificity and compiled wheels. Actively maintained with a recent release (3 days old) and solid repository activity. Requires macOS and specific Python versions (3.10+); wheels are provided for CPython 3.10 through 3.15.
License in practice
MIT license permits commercial and private use with minimal restrictions, making this suitable for proprietary input method development.
Quickstart
pip install pyobjc-framework-inputmethodkit
import InputMethodKit
# Access InputMethodKit framework classes via PyObjC bindings
Requires macOS 10.5 or later and Python 3.10+; will not install or function on non-macOS systems.
Verify before relying
- Specific InputMethodKit classes and methods exposed by this wrapper version
- Whether this package includes example input method implementations or only raw framework bindings
- Performance characteristics or known limitations when bridging Python to Objective-C input method callbacks
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 2 — pyobjc-core, pyobjc-framework-Cocoa |
| Maintenance | actively maintained — 3 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 626,367/month — #5,689 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pyobjc_framework_inputmethodkit-12.2.2-cp310-cp310-macosx_10_9_universal2.whl; pyobjc_framework_inputmethodkit-12.2.2-cp311-cp311-macosx_10_9_universal2.whl; pyobjc_framework_inputmethodkit-12.2.2-cp312-cp312-macosx_10_13_universal2.whl; pyobjc_framework_inputmethodkit-12.2.2-cp313-cp313-macosx_10_13_universal2.whl; pyobjc_framework_inputmethodkit-12.2.2-cp313-cp313t-macosx_10_13_universal2.whl; pyobjc_framework_inputmethodkit-12.2.2-cp314-cp314-macosx_10_15_universal2.whl; pyobjc_framework_inputmethodkit-12.2.2-cp314-cp314t-macosx_10_15_universal2.whl; pyobjc_framework_inputmethodkit-12.2.2-cp315-cp315-macosx_10_15_universal2.whl; pyobjc_framework_inputmethodkit-12.2.2-cp315-cp315t-macosx_10_15_universal2.whl
Keywords: PyObjC, InputMethodKit
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
pyobjc-framework-CallKitProvides Python bindings for Apple's CallKit…
permissive · top 15,000 on PyPI
pyobjc-framework-LatentSemanticMappingProvides Python bindings to macOS's…
permissive · top 15,000 on PyPI
pyobjc-framework-PencilKitProvides Python bindings to Apple's PencilKit…
permissive · top 15,000 on PyPI
pyobjc-framework-ClassKitProvides Python bindings to Apple's ClassKit…
permissive · top 15,000 on PyPI
pyobjc-framework-SafariServicesProvides Python bindings to macOS's…
permissive · top 15,000 on PyPI
pyobjc-framework-ContactsProvides Python bindings to macOS's Contacts…
permissive · top 15,000 on PyPI
pyobjc-framework-ScreenSaverProvides Python bindings to macOS's ScreenSaver…
permissive · top 15,000 on PyPI
pyobjc-framework-CoreAudioProvides Python bindings to macOS's CoreAudio…
permissive · top 15,000 on PyPI
pyobjc-framework-PushKitProvides Python bindings to Apple's PushKit…
permissive · top 15,000 on PyPI
pyobjc-framework-CoreTextProvides Python bindings to macOS's CoreText…
permissive · top 5,000 on PyPI