pycrashreport
Pure python3 for parsing Apple's crash reports
What it is and what it does
pycrashreport is a command-line tool that transforms Apple crash reports (.ips files) from iOS and macOS into a cleaner, more readable format. It extracts the essential debugging information—exception type, exception subtype, CPU registers, and stack frames—while stripping away the verbose metadata like thread listings and loaded image tables that clutter the original reports. The tool is built on typer for CLI handling and supports both user-mode and kernel-mode crashes; other crash types are parsed for basic metadata only.
The package is intended for developers and QA engineers who need to quickly understand what went wrong in a crash without wading through Apple's default verbose output. It runs as a standalone command-line utility and is actively maintained with support for modern Python versions (3.9 through 3.14).
Use it for:
- Quickly review iOS app crashes from TestFlight or App Store Connect without opening Xcode
- Automate crash report triage in CI/CD pipelines by parsing .ips files to extract key failure data
- Archive and search crash reports in a normalized, human-readable format for post-mortem analysis
- Extract register state and stack frames from macOS kernel panics for debugging system-level issues
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Parses Apple crash reports (iOS, macOS) into a readable format, extracting exception type, registers, and stack frames while filtering out noise like thread listings and loaded images.
Yes, if you regularly work with Apple crash reports and want a lightweight, GPL-compatible tool to parse them. The low install friction, active maintenance, and lack of known vulnerabilities make it safe to adopt. The copyleft license is a blocker only if you need to embed it in proprietary closed-source software.
Install
pycrashreport on PyPI
pip
pip install pycrashreportuv
uv add pycrashreportpoetry
poetry add pycrashreportInstalling pycrashreport
Before you install
Low install friction with a single lightweight dependency (typer). Actively maintained as of 2026-03-30 with recent commits; marked Production/Stable.
License in practice
GPLv3+ copyleft license requires that any modifications or derivative works be released under the same license. Suitable for internal tools and open-source projects; unsuitable for proprietary closed-source software.
Quickstart
pip install pycrashreport
pycrashreport /path/to/crash.ips
Requires Python 3.9 or later; designed as a command-line tool via typer, not a library API.
Verify before relying
- Whether the package supports parsing symbolicated crash reports or only non-symbolicated ones
- Performance characteristics on large or complex crash reports
- Whether kernel mode crash parsing includes full register and frame detail or only basic metadata
Package facts
| License | GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> Everyone is permitted to copy and distribute verbatim copies of this license… (full text in the JSON record) (copyleft) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — typer |
| Maintenance | actively maintained — 137 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 317,802/month — #7,658 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pycrashreport-2.0.0-py3-none-any.whl
Keywords: ios, cli, macos, parser, crash
Tags
More Utilities packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
charset-normalizerDetects and normalizes text encoding from…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
PygmentsPygments is a syntax highlighter that colorizes…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
la-panicParses iPhone crash reports (IPS files) to…
copyleft · top 15,000 on PyPI
mozcrashExtracts and formats stack traces from minidump…
copyleft · top 15,000 on PyPI
esp-coredumpRetrieves and analyzes core dumps from ESP32…
permissive · top 5,000 on PyPI
pystackPyStack inspects the stack frames of a running…
permissive · top 15,000 on PyPI
pykdebugparserParses Darwin kdebug trace events from iOS and…
permissive · top 15,000 on PyPI
dlinfoProvides Python access to libc's dlinfo…
permissive · top 5,000 on PyPI
ipsw-parserParses and extracts data from iOS IPSW firmware…
copyleft · top 15,000 on PyPI
opack2opack2 parses the opack binary format, a…
copyleft · top 15,000 on PyPI
crashtestCrashtest provides utilities to catch, inspect,…
permissive · top 1,000 on PyPI
pyimg4PyIMG4 parses Apple's Image4 format through a…
permissive · top 15,000 on PyPI