--- id: macholib version: "1.16.4" license: MIT license_treatment: permissive maintenance: aging --- # macholib — Mach-O header analysis and editing License: permissive · Maintenance: aging · Downloads: 2.7M/mo ## What it is and what it does macholib is a pure-Python library for reading and modifying Mach-O headers, the binary executable format used by macOS. Despite targeting a platform-specific format, it is written to be platform and endian independent, making it portable across systems. The library is commonly used as a dependency analysis tool to understand which dynamic libraries a macOS binary depends on, and to rewrite dylib load commands so they use relative paths like @executable_path instead of absolute paths. The package is typically integrated into macOS build and packaging workflows, particularly in tools that need to analyze or relocate binaries. It provides both a programmatic API for working with Mach-O structures and command-line utilities (accessed via `python -m macholib`) for common tasks like dumping binary information, finding dependencies, and creating standalone application bundles. Use it for: - Analyze dependencies of macOS binaries to understand which dylibs they load at runtime. - Rewrite dylib references in Mach-O headers to use relative paths for relocatable application bundles. - Inspect and debug Mach-O headers and load commands in binary files during macOS development. - Automate binary relocation tasks in build pipelines that package Python applications for macOS. - Parse and validate Mach-O structures in custom macOS tooling or security analysis workflows. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Analyzes and edits Mach-O headers, the executable format used by macOS, and rewrites dylib references to be @executable_path relative. Yes, if you are doing macOS binary analysis or packaging. The low install friction, permissive MIT license, and lack of known vulnerabilities make it a safe choice. However, the aging maintenance status (265 days since last release) means you should verify that recent macOS SDK features are supported if you need to work with newly compiled binaries. ## Install pip install macholib uv add macholib poetry add macholib ## Installing macholib Before you install: Low install friction with a single pure-Python dependency (altgraph). Maintenance status is aging—last release 265 days ago—but the repository remains active with recent commits and no archived status. License in practice: MIT license permits commercial and private use with minimal restrictions, making it safe to include in most projects. Quickstart: pip install macholib from macholib.MachO import MachO m = MachO('/path/to/binary') for header in m.headers: print(header) Requires a Mach-O binary file to analyze; intended for macOS development workflows. Verify before relying: - Whether the package is actively maintained or in maintenance-only mode given the aging status and 265-day release gap. - Real-world performance characteristics when processing large or complex binaries. ## Package facts - License: MIT (permissive) - Python support: unspecified - Install friction: low - Maintenance: aging - Downloads: 2.7M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags mach-o header analysis, dylib dependency analysis, macos executable parsing, mach-o binary editing, dyld reference rewriting, macos binary tools, executable format inspection, macos-native, binary-analysis, build-tools [View on SkillFed](https://skillfed.io/packages/macholib) · [View on PyPI](https://pypi.org/project/macholib/)