skillfed

pyobjc-framework-LaunchServices

Wrappers for the framework LaunchServices on macOS

pyobjc-framework-launchservices v12.2.2 659.0K downloads/30d#5,466 on PyPI803
Permissive license MIT Active released

What it is and what it does

pyobjc-framework-launchservices is a wrapper around Apple's LaunchServices framework, part of the larger PyObjC project that bridges Python and Objective-C on macOS. It allows Python code to interact with system-level services for launching applications, querying file type associations, and discovering available services—functionality normally accessible only through Objective-C or command-line tools.

The package depends on pyobjc-core (the bridge itself) and pyobjc-framework-CoreServices (a related framework wrapper). It is actively maintained, supports Python 3.10 through 3.15, and carries no known security vulnerabilities. Installation is straightforward via pip, and the MIT license imposes no restrictions on use.

Use it for:

  • Query which applications can open a given file type or URL scheme on macOS.
  • Launch applications programmatically from Python with full LaunchServices integration.
  • Discover available system services and their capabilities without shelling out to command-line tools.
  • Build macOS-native automation or system administration tools that need deep framework access.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Provides Python bindings to the macOS LaunchServices framework, enabling programmatic control over application launching, file type associations, and system service discovery on macOS.

Yes, if you are developing on macOS and need programmatic access to LaunchServices. The package is actively maintained, has no security issues, installs cleanly, and carries a permissive license. It is only useful on macOS; do not install on other platforms.

Install

pyobjc-framework-launchservices on PyPI

pip

pip install pyobjc-framework-launchservices

uv

uv add pyobjc-framework-launchservices

poetry

poetry add pyobjc-framework-launchservices

Installing pyobjc-framework-LaunchServices

Before you install

Low friction installation as a pure-Python wheel. Actively maintained with a release 3 days old and recent commits; the repository shows 803 stars and is not archived.

License in practice

MIT license permits unrestricted use, modification, and distribution with minimal restrictions, making it suitable for both open-source and proprietary projects.

Quickstart

pip install pyobjc-framework-launchservices

from LaunchServices import LSCopyApplicationURLsForURL
# Query LaunchServices for application information

Requires macOS; will not function on Windows or Linux. Requires Python 3.10 or later.

Verify before relying

  • Specific LaunchServices APIs exposed and their stability across macOS versions.
  • Performance characteristics when querying large numbers of applications or file associations.
  • Compatibility with macOS versions older than the current release cycle.

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 2 — pyobjc-core, pyobjc-framework-CoreServices
Maintenance actively maintained — 3 days since the last release
Last repo commit
First released
Downloads 658,976/month — #5,466 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: pyobjc_framework_launchservices-12.2.2-py2.py3-none-any.whl

Keywords: PyObjC, LaunchServices

Development Status :: 5 - Production/StableEnvironment :: ConsoleEnvironment :: MacOS X :: CocoaIntended Audience :: DevelopersNatural Language :: EnglishOperating System :: MacOS :: MacOS XProgramming Language :: Objective CProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.15Programming Language :: Python :: Free Threading :: 3 - StableProgramming Language :: Python :: Implementation :: CPythonTopic :: Software Development :: Libraries :: Python ModulesTopic :: Software Development :: User Interfaces

Tags

macos launchservices pythonlaunch applications from pythonfile type associations macospyobjc framework bindingsmacos system services python
macos-nativeobjc-bridge

More Python Modules packages

idna

Converts domain names between Unicode and…

permissive · top 100 on PyPI

setuptools

Setuptools is a Python build backend and…

permissive · top 100 on PyPI

PyYAML

PyYAML parses and emits YAML 1.1 data format,…

permissive · top 100 on PyPI

pydantic

Pydantic validates Python data structures…

permissive · top 100 on PyPI

annotated-types

Provides reusable metadata objects for use with…

permissive · top 100 on PyPI

typing-inspection

Provides runtime tools to inspect and…

permissive · top 100 on PyPI

pyobjc-framework-SearchKit

Provides Python bindings for macOS's SearchKit…

permissive · top 15,000 on PyPI

pyobjc-framework-SystemExtensions

Provides Python bindings to macOS's…

permissive · top 15,000 on PyPI

pyobjc-framework-Social

Provides Python bindings to macOS's Social…

permissive · top 15,000 on PyPI

pyobjc-framework-DictionaryServices

Provides Python bindings to macOS's…

permissive · top 15,000 on PyPI

pyobjc-framework-OpenDirectory

Provides Python bindings to macOS's…

permissive · top 15,000 on PyPI

pyobjc-framework-CoreServices

Provides Python bindings to macOS's…

permissive · top 15,000 on PyPI

pyobjc-framework-OSAKit

Provides Python bindings to macOS's OSAKit…

permissive · top 15,000 on PyPI

pyobjc-framework-ThreadNetwork

Provides Python bindings to Apple's…

permissive · top 15,000 on PyPI

pyobjc-framework-libxpc

Provides Python bindings to the macOS XPC…

permissive · top 15,000 on PyPI

pyobjc-framework-SafariServices

Provides Python bindings to macOS's…

permissive · top 15,000 on PyPI