Что такое формат файла PXD?
pxd - это формат разработчика, изначально связанный с языком программирования Pyrex, а теперь - стандартный формат объявлений для Cython, его активно поддерживаемого преемника. Файлы .pxd хранят объявления модулей - определения типов, сигнатуры функций и внешние интерфейсы библиотек C, - которые могут быть использованы в разных модулях Cython. Как и заголовочный файл C, .pxd добавляется в сборку, чтобы другие модули могли использовать объявленные типы и функции. Реализация кода хранится в файлах .pyx.
Pyrex позволял разработчикам создавать расширения Python на языке, похожем на C. Cython, ответвившийся от Pyrex в 2007 году, поддерживает как синтаксис C, так и Python и остается активно поддерживаемым проектом сегодня. Синтаксис Pyrex и Cython очень похож на Python, а не на C, что делает его освоение доступным для разработчиков Python. Приложения, использующие модули на C и Python, работают быстрее, но требуют больше усилий на написание кода и дополнительных шагов компиляции. Файл объявления .pxd подключается к другому исходному коду Cython с помощью ключевого слова cimport - в отличие от стандартных модулей Python, которые используют import.
Безопасность и защита
РИСК: LOWФайл .pxd - это обычный текстовый исходный код - он не является исполняемым сам по себе и при открытии в редакторе представляет низкий риск. Применяются обычные меры предосторожности для исходного кода: сборка проекта, включающего ненадёжные файлы .pyx/.pxd, запускает компилятор Cython и компилятор C на этом коде, который может выполнять произвольную логику сборки - компилируйте только код, которому доверяете. Чтение .pxd безвредно.
Детали формата
в двух словах- Библиотека иконок Pixadex (Mac) - Завершённое приложение Mac Pixadex хранило коллекции иконок в файлах .pxd - не связано с Cython.
- Данные Pyxis / PixelView / ProxyDesigner - Различные нишевые инструменты (просмотрщик молекул Pyxis, ProxyDesigner) использовали .pxd для своих собственных бинарных файлов проектов/данных.
Программы, открывающие файлы PXD
Технические подробности
глубокая спецификация| Тип файла | Текстовый исходный файл объявлений Cython |
| Кодировка символов | UTF-8 или ASCII; читаемый человеком исходный текст без двоичного заголовка |
| Магический байт | Отсутствует - определяется расширением и ключевыми словами, специфичными для Cython, такими как cdef, ctypedef и cimport |
| Парный формат | Обычно парный к одноимённому файлу реализации .pyx (например, mymodule.pxd рядом с mymodule.pyx) |
| Механизм импорта | Используется другими модулями Cython через ключевое слово cimport, а не стандартным оператором импорта Python |
| Ограничения по содержимому | Только объявления: типы и функции cdef, ctypedef, struct/union/enum, блоки extern C/C++; реализации функций или исполняемые операторы не допускаются |
| Роль при компиляции | Только во время сборки; не компилируется в отдельный бинарный файл - объявления встраиваются компилятором Cython в потребляющие файлы .pyx |
| C-аналог | Функциональный аналог заголовочного файла C .h для модулей Cython |
| Инструментарий | Обрабатывается компилятором Cython; интегрируется с setuptools, pip, scikit-build и системами сборки CMake |
| Поддержка платформ | Кроссплатформенная: Windows, macOS, Linux - любая ОС с компилятором C и CPython или PyPy |
| Типичный размер файла | Несколько сотен байт до десятков КБ, в зависимости от количества объявленных символов |
| Версионирование языка | Следует версии языка Cython используемого инструментария (в данный момент Cython 3.x) |
| Выпущен | Pyrex (early 2000s); adopted and extended by Cython (forked 2007) |
| Последняя версия | Tracks the current Cython release (Cython 3.x) |
| Открыть стандартное | Да · без роялти |
| Спецификация | cython.readthedocs.io |
Конвертации PXD
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах PXD.