Skip to main content

catplist

catplist is a small python utility to print apple plists (Information Property List) in a readable and comprehensible manner.

Rationale

While plistutil exists to convert plists from binary to xml and vice versa plists are usually still hard to read for humans or parse from the command line with tools like grep. catplist aims to make this task easier. It's main focus is to print a human-readable and parsable representation of the plist. Additionally, plists often contain binary data, or some strange nested key value structures originating from NSArchiver or NSKeyedArchiver serialization. catplist aims to deliver a good readable representation by unwrapping those structures.

Try it on some Metadata out of your iPhone Photo library like *.albummetadata, *.memorymetadata, *.facemetadata, *.foldermetadata or just regular *.plist files.

For editing and more accurate/original representation of plists or search for PlistBuddy, XCode, plutil.

Features

  • wildcard support
  • recurse into directories with option --recurse
  • reads binary and xml plists
  • NSKeyedArchiver: unpacks NSKeyedArchiver plists that just add an layer of indirectness into the key value store.
  • Nested plists: in some plists apple stores plist as a value. catplist unwraps those nested plists.
  • Interpretation of some of Binary Data stored within plists, usually consisting of:
    • UUID data
    • xz compressed data
    • binary plists

Usage

catplist myplist.plist
> catplist --help
Usage: catplist [OPTIONS] [FILE]...

  This is catplist: print plists for human reading and easy grepping.

Options:
  -R, --raw                       print raw plist contents, will not unpack
                                  nested data & plists
  -r, --recurse                   recurse into subdirs, reads all files ignores
                                  non plist files
  -f, --format [python|json|yaml]
                                  format output in ...
  --help                          Show this message and exit.


Install

Installation via PyPi:

pip install catplist

Known Bugs

  • valid plists with a date in year 0 will not be read since the underlying python datetime implementation is currently not allowing year 0 dates. See also Python Issue 41083

Metadata

Release files for catplist 0.0.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for catplist 0.0.6
File Size Uploaded
catplist-0.0.6.tar.gz 6.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for catplist 0.0.6
File Interpreter ABI Platform
catplist-0.0.6-py3-none-any.whl Python 3 none any Details

Total release size: 12.9 kB

Release files / catplist-0.0.6.tar.gz

Download URL catplist-0.0.6.tar.gz
Size 6.5 kB
Tags Source
SHA-256 checksum
How to use checksums
bd3c40fecf04f72557131d31ed0a0ae9fa4bd248c7c7214c2460db72ad80c4bc
BLAKE2b-256 checksum
How to use checksums
77dd13ddb46f40960a3a1cde698e92eed786a10e60d1ae5625ae57a69e0daaff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.16

Release files / catplist-0.0.6-py3-none-any.whl

Download URL catplist-0.0.6-py3-none-any.whl
Size 6.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3db4dc9a869bd6f9f5ca07debf37f08fc97718e661791503d706423878e34a2e
BLAKE2b-256 checksum
How to use checksums
0979045a118cf0f6ac17169005dc01a058c83f080edf98203e0ea4daa570dd33
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.16

Release history Release notifications | RSS feed

This release

0.0.6 This release

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page