Skip to main content

NSKeyedUnArchiver

Unserializes any binary|text|file|memory plist data and returns a usable Python dict.

Plist files are very common in Apple platforms (macOS, iOS etc). Plist files are used to store data much like XML and JSON files, but can be pure text or binary (convertible with plutil command). Some Plist files were generated by Apple NSKeyedArchiver and contain a serialized version of objects stored in an intricate and complex schema of nested objects. NSKeyedUnArchiver converts it back to an hierarchical form as a Python dict.

Uses only Python 3.8 plistlib, no other dependencies.

Automatically converts well known data types to Python-equivalent data types:

  • NSArray ➔ list
  • NSMutableDictionary, NSDictionary ➔ dict
  • NSMutableString, NSString ➔ unwrap the string
  • NSMutableData, NSData ➔ unwrap the data
  • NSDate ➔ datetime

Check pypi for packages.

See package name for your system package manager at Repology.

License is LGPL 3.

Sample usage

import NSKeyedUnArchiver

file='/path/to/file.plist'
my_dict=NSKeyedUnArchiver.unserializeNSKeyedArchiver(file)


data=b'bplist00\xd4\x01\.........'
my_dict=NSKeyedUnArchiver.unserializeNSKeyedArchiver(data)


data='<plist version="1.0">......'
my_dict=NSKeyedUnArchiver.unserializeNSKeyedArchiver(data)


file=PurePath('/path/to/file.plist')
my_dict=NSKeyedUnArchiver.unserializeNSKeyedArchiver(file)

Metadata

Release files for NSKeyedUnArchiver 1.5.2

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

Source distribution (sdist)

Source distribution for NSKeyedUnArchiver 1.5.2
File Size Uploaded
nskeyedunarchiver-1.5.2.tar.gz 15.8 kB Details

Built distribution (wheel)

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

Total release size: 31.8 kB

Release files / nskeyedunarchiver-1.5.2.tar.gz

Download URL nskeyedunarchiver-1.5.2.tar.gz
Size 15.8 kB
Tags Source
SHA-256 checksum
How to use checksums
d9a2d5d48ea9e2c78d31bfbfc4a97c02794192f3b4548342d727d54bdd20beba
BLAKE2b-256 checksum
How to use checksums
50688e48609f2c3554917d3c305e5ec9ba8f3d1ddcadba221d52c1f63b713ded
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.10

Release files / nskeyedunarchiver-1.5.2-py3-none-any.whl

Download URL nskeyedunarchiver-1.5.2-py3-none-any.whl
Size 15.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0e52044d137e01e15ab2b18a8f76ed14b2c3555da61190f4679e52892a37cfa0
BLAKE2b-256 checksum
How to use checksums
c8c95d3c2d9a308310118dca63a0b763d09a12006a6f5d762dbe5e385aeaa318
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.10

Release history Release notifications | RSS feed

This release

1.5.2 This release

2 release files

1.5.1

2 release files

1.5

2 release files

1.4

2 release files

1.3

2 release files

1.2

2 release files

1.1

2 release files

1.0

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