¿Qué es el formato de archivo PXD?
.pxd es un formato de archivo de desarrollador asociado originalmente con el lenguaje de programación Pyrex y ahora es el formato de declaración estándar para Cython, su sucesor mantenido activamente. Los archivos .pxd almacenan declaraciones de módulos (definiciones de tipos, firmas de funciones e interfaces de bibliotecas C externas) que se pueden compartir entre módulos de Cython. Al igual que un encabezado de C, un .pxd se añade a la compilación para que otros módulos puedan acceder a los tipos y funciones declarados. Cython almacena el código de implementación en archivos .pyx.
Pyrex permitía a los desarrolladores crear módulos de extensión de Python utilizando una sintaxis similar a C. Cython, derivado de Pyrex en 2007, admite tanto la sintaxis de C como la de Python y sigue siendo el proyecto mantenido activamente en la actualidad. Tanto la sintaxis de Pyrex como la de Cython se asemejan mucho a la de Python en lugar de a la de C, lo que hace que su adopción sea accesible para los desarrolladores de Python. Las aplicaciones que mezclan módulos escritos en C y Python son más eficientes en cuanto a rendimiento, a costa de cierta complejidad de código y pasos de compilación adicionales. Un archivo de declaración .pxd se incorpora a otra fuente de Cython utilizando la palabra clave cimport, a diferencia de los módulos estándar de Python, que utilizan import.
Seguridad y protección
RIESGO: LOWUn .pxd es código fuente en texto plano: no es ejecutable por sí mismo y el riesgo de abrirlo en un editor es bajo. Se aplica la precaución habitual con el código fuente: compilar un proyecto que incluya archivos .pyx/.pxd no confiables ejecuta el compilador de Cython y un compilador de C sobre ese código, lo que puede ejecutar lógica de compilación arbitraria; solo compile código en el que confíe. Leer un .pxd es inofensivo.
Detalles del formato
en pocas palabras- Biblioteca de iconos Pixadex (Mac) - La aplicación de Mac descontinuada Pixadex almacenaba colecciones de iconos en archivos .pxd, sin relación con Cython.
- Datos de Pyxis / PixelView / ProxyDesigner - Varias herramientas de nicho (un visor molecular Pyxis, ProxyDesigner) utilizaban .pxd para sus propios archivos binarios de proyecto o datos.
Programas que abren archivos PXD
Detalles técnicos
especificación profunda| Tipo de archivo | Archivo fuente de declaración de Cython en texto plano |
| Tipo MIME | text/x-cython (también aceptado como text/plain) |
| Codificación de caracteres | UTF-8 o ASCII; texto fuente legible por humanos sin encabezado binario |
| Firma de archivo | Ninguna: se reconoce por la extensión y las palabras clave específicas de Cython como «cdef», «ctypedef» y «cimport» |
| Formato emparejado | Normalmente emparejado con un archivo de implementación .pyx del mismo nombre (por ejemplo, mymodule.pxd junto a mymodule.pyx) |
| Mecanismo de importación | Consumido por otros módulos de Cython a través de la palabra clave «cimport», no por la sentencia «import» estándar de Python |
| Restricciones de contenido | Solo declaraciones: tipos y funciones «cdef», «ctypedef», «struct»/«union»/«enum», bloques «extern» C/C++; no se permiten implementaciones de funciones ni sentencias ejecutables |
| Rol en la compilación | Solo en tiempo de compilación; no se compila en un binario separado: las declaraciones se insertan en línea en los archivos .pyx que las consumen mediante el compilador de Cython |
| Análogo en C | Equivalente funcional de un archivo de encabezado .h de C para módulos de Cython |
| Cadena de herramientas | Procesado por el compilador de Cython; se integra con los sistemas de compilación setuptools, pip, scikit-build y CMake |
| Soporte de plataforma | Multiplataforma: Windows, macOS, Linux; cualquier SO con un compilador de C y CPython o PyPy |
| Tamaño de archivo típico | Desde unos pocos cientos de bytes hasta decenas de KB, dependiendo del número de símbolos declarados |
| Versionado del lenguaje | Sigue la versión del lenguaje Cython de la cadena de herramientas de compilación (actualmente Cython 3.x) |
| Lanzado | Pyrex (early 2000s); adopted and extended by Cython (forked 2007) |
| Última versión | Tracks the current Cython release (Cython 3.x) |
| Estándar abierto | Sí · libre de regalías |
| Especificación | cython.readthedocs.io |
Conversiones de PXD
Preguntas y respuestas de la comunidad
preguntado por usuariosAún no hay preguntas; sea el primero en preguntar sobre los archivos PXD.