Qu'est-ce que le format de fichier PXD ?
.pxd est un format de fichier de développement initialement associé au langage de programmation Pyrex et désormais le format de déclaration standard pour Cython, son successeur activement maintenu. Les fichiers .pxd stockent des déclarations de modules - définitions de types, signatures de fonctions et interfaces de bibliothèques C externes - qui peuvent être partagées entre les modules Cython. Tout comme un en-tête C, un .pxd est ajouté à la construction afin que d'autres modules puissent accéder aux types et fonctions déclarés. Cython stocke le code d'implémentation dans des fichiers .pyx.
Pyrex permettait aux développeurs de créer des modules d'extension Python en utilisant une syntaxe proche du C. Cython, dérivé de Pyrex en 2007, prend en charge les syntaxes C et Python et reste le projet activement maintenu aujourd'hui. Les syntaxes de Pyrex et de Cython ressemblent étroitement à celle de Python plutôt qu'à celle du C, ce qui rend l'adoption accessible aux développeurs Python. Les applications qui mélangent des modules écrits en C et en Python sont plus performantes, au prix d'une certaine complexité de code et d'étapes de compilation supplémentaires. Un fichier de déclaration .pxd est intégré dans une autre source Cython à l'aide du mot-clé cimport - contrairement aux modules Python standard, qui utilisent import.
Sécurité et sûreté
RISQUE : LOWUn .pxd est un code source en texte brut - non exécutable en soi et présentant un faible risque à l'ouverture dans un éditeur. La prudence habituelle relative au code source s'applique : la construction d'un projet incluant des fichiers .pyx/.pxd non fiables exécute le compilateur Cython et un compilateur C sur ce code, ce qui peut exécuter une logique de construction arbitraire - ne compilez que du code en lequel vous avez confiance. La lecture d'un .pxd est inoffensive.
Détails du format
en bref- Bibliothèque d'icônes Pixadex (Mac) - L'application Mac abandonnée Pixadex stockait des collections d'icônes dans des fichiers .pxd - sans rapport avec Cython.
- Données Pyxis / PixelView / ProxyDesigner - Divers outils spécialisés (un visualiseur moléculaire Pyxis, ProxyDesigner) utilisaient .pxd pour leurs propres fichiers de projet ou de données binaires.
Programmes qui ouvrent les fichiers PXD
Détails techniques
spécifications approfondies| Type de fichier | Fichier source de déclaration Cython en texte brut |
| Type MIME | text/x-cython (également accepté comme text/plain) |
| Encodage des caractères | UTF-8 ou ASCII ; texte source lisible par l'homme sans en-tête binaire |
| Signature de fichier | Aucune - reconnu par l'extension et les mots-clés spécifiques à Cython tels que cdef, ctypedef et cimport |
| Format jumelé | Généralement jumelé avec un fichier d'implémentation .pyx de même nom (par exemple, mymodule.pxd aux côtés de mymodule.pyx) |
| Mécanisme d'importation | Consommé par d'autres modules Cython via le mot-clé cimport, et non par l'instruction import standard de Python |
| Restrictions de contenu | Déclarations uniquement : types et fonctions cdef, ctypedef, struct/union/enum, blocs extern C/C++ ; aucune implémentation de fonction ou instruction exécutable autorisée |
| Rôle de compilation | Au moment de la construction uniquement ; n'est pas compilé en un binaire séparé - les déclarations sont intégrées (inlined) dans les fichiers .pyx consommateurs par le compilateur Cython |
| Analogue C | Équivalent fonctionnel d'un fichier d'en-tête C .h pour les modules Cython |
| Chaîne d'outils | Traité par le compilateur Cython ; s'intègre aux systèmes de construction setuptools, pip, scikit-build et CMake |
| Prise en charge des plateformes | Multiplateforme : Windows, macOS, Linux - tout système d'exploitation avec un compilateur C et CPython ou PyPy |
| Taille de fichier typique | De quelques centaines d'octets à des dizaines de Ko, selon le nombre de symboles déclarés |
| Versionnage du langage | Suit la version du langage Cython de la chaîne d'outils de compilation (actuellement Cython 3.x) |
| Publié | Pyrex (early 2000s); adopted and extended by Cython (forked 2007) |
| Dernière version | Tracks the current Cython release (Cython 3.x) |
| Standard ouvert | Oui · libre de droits |
| Spécification | cython.readthedocs.io |
Conversions PXD
Q&R de la communauté
posées par les utilisateursPas encore de questions - soyez le premier à poser une question sur les fichiers PXD.