{"categories":[{"label":"Utilities","url":"https://skillfed.io/packages/category/utilities/6"}],"enrichment":{"capability":"Reads and writes Apple's binary plist format and NSKeyedArchiver archives, enabling serialization and deserialization of Cocoa objects in Python.","skillfed_tags":["serialization","macos-interop","binary-format"],"use_cases":["Extract data from macOS or iOS application archives or preference files for analysis or migration.","Deserialize Cocoa objects saved by native applications into Python for processing or conversion.","Build tools that need to read or modify NSKeyedArchiver-formatted data from Apple platforms.","Reverse-engineer or inspect binary plist data structures from macOS system files or app bundles.","Archive Python dictionaries and lists in a format compatible with Cocoa applications."],"what_it_does":"bpylist2 is a Python library for reading and writing Apple's binary plist format and NSKeyedArchiver archives\u2014a proprietary serialization format used by Cocoa applications on macOS and iOS. It handles both plain binary plists and the more complex NSKeyedArchiver format, which encodes Cocoa objects like NSString, NSNumber, NSDate, NSArray, and NSDictionary. The library also supports custom Cocoa classes through Python class registration, allowing you to map archived objects to your own Python dataclasses or custom classes with encode/decode methods.\n\nThe package has no external runtime dependencies and installs cleanly. It supports Python 3.7 through 3.11, bundling a copy of the Python 3.8 plistlib for older versions. Maintenance is aging\u2014the last release was over a year ago\u2014but the repository remains active and not archived, and there are no known security vulnerabilities.","worth_installing":"Yes, if you need to work with Apple's binary plist or NSKeyedArchiver formats. The package is lightweight, dependency-free, and permissively licensed. The aging maintenance is a minor concern\u2014it does not affect basic functionality for standard Cocoa classes, but verify compatibility if you rely on newer or less common archive features. No security vulnerabilities are known."},"id":"bpylist2","links":{"html":"https://skillfed.io/packages/bpylist2","md":"https://skillfed.io/packages/bpylist2.md","pypi":"https://pypi.org/project/bpylist2/"},"maintenance":{"status":"aging"},"meta":{"latest_release":"2023-09-11","license_spdx":null,"license_treatment":"permissive","name":"bpylist2","python_support":"supports_current","summary":"Parse and generate NSKeyedArchiver archives"},"popularity":{"monthly_downloads":344320,"position":7374,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"4.1.1"}
