Модуль Python для двоичного plist

Есть ли какой-либо проект/модуль Python, работающий над создателем двоичного plist? Мне нужен один для реализации REST, который я делаю. Я бы хотел, чтобы сервер отправил HTTP REsponse, содержащий двоичный plist вместо json, например. Сервер - это Apache с установленными mod_python и django. Учитывая добавление формата bplist наряду с json в качестве выходных форматов, просто чтобы упростить синтаксический анализ на iPhone, а также сократить передачу данных.

Я подумываю написать свои собственные, но внесение вклада в существующий проект будет предпочтительным.

Спасибо заранее.

Ответ 1

Я боялся, что мне, возможно, придется изучить SWIG, реализовать это самостоятельно или переключиться на другой язык для этого проекта хобби, который включает в себя синтаксический анализ бинарных plists, но после быстрого pip search plist я нашел biplist.

Ответ 2

Как насчет plistlib в дистрибутиве Python по умолчанию? Он доступен для всех платформ с Python 2.6; перед Python 2.6 он был включен в версию Mac, но я думаю, вы можете просто захватить источник из Python 2.6 и сделать его обратно, если вам действительно нужно поддерживать более старые версии Python.

Обновление: Извините, я только что понял, что вам нужно поддерживать формат бинарного plist. В этом случае используйте libplist, который поддерживает как двоичный, так и XML-формат. Он написан на С++, но они предоставляют файл определения интерфейса SWIG, с помощью которого SWIG может легко создать для него модуль Python. Ubuntu/Debian также включает пакет под названием python-plist, который содержит предварительно скомпилированные двоичные файлы.