Che cos'è il formato di file PXD?
.pxd è un formato di file per sviluppatori originariamente associato al linguaggio di programmazione Pyrex e ora formato di dichiarazione standard per Cython, il suo successore attivamente mantenuto. I file .pxd memorizzano dichiarazioni di modulo - definizioni di tipo, firme di funzioni e interfacce di librerie C esterne - che possono essere condivise tra i moduli Cython. Proprio come un header C, un .pxd viene aggiunto alla build in modo che altri moduli possano accedere ai tipi e alle funzioni dichiarate. Cython memorizza il codice di implementazione nei file .pyx.
Pyrex permetteva agli sviluppatori di creare moduli di estensione Python usando una sintassi simile al C. Cython, derivato da Pyrex nel 2007, supporta sia la sintassi C che quella Python e rimane oggi il progetto mantenuto attivamente. Sia la sintassi di Pyrex che quella di Cython somigliano molto a quella di Python piuttosto che al C, rendendo l'adozione accessibile per gli sviluppatori Python. Le applicazioni che mescolano moduli scritti in C e Python sono più efficienti in termini di prestazioni, al costo di una certa complessità del codice e di passaggi di compilazione aggiuntivi. Un file di dichiarazione .pxd viene inserito in un altro sorgente Cython usando la parola chiave cimport - a differenza dei moduli Python standard, che usano import.
Sicurezza e incolumità
RISCHIO: LOWUn .pxd è codice sorgente in testo semplice - non è eseguibile da solo e presenta un basso rischio se aperto in un editor. Si applica la consueta cautela per il codice sorgente: compilare un progetto che include file .pyx/.pxd non attendibili esegue il compilatore Cython e un compilatore C su quel codice, il che può eseguire logica di build arbitraria - compila solo codice di cui ti fidi. La lettura di un .pxd è innocua.
Dettagli del formato
in sintesi- Libreria di icone Pixadex (Mac) - L'app per Mac Pixadex, ormai fuori produzione, memorizzava collezioni di icone in file .pxd - non correlati a Cython.
- Dati Pyxis / PixelView / ProxyDesigner - Vari strumenti di nicchia (un visualizzatore molecolare Pyxis, ProxyDesigner) usavano .pxd per i propri file di progetto/dati binari.
Programmi che aprono file PXD
Dettagli tecnici
specifiche approfondite| Tipo di file | File sorgente di dichiarazione Cython in testo semplice |
| Tipo MIME | text/x-cython (accettato anche come text/plain) |
| Codifica dei caratteri | UTF-8 o ASCII; testo sorgente leggibile dall'uomo senza header binario |
| Firma del file | Nessuna - riconosciuto dall'estensione e dalle parole chiave specifiche di Cython come cdef, ctypedef e cimport |
| Formato associato | In genere associato a un file di implementazione .pyx con lo stesso nome (es. mymodule.pxd insieme a mymodule.pyx) |
| Meccanismo di importazione | Consumato da altri moduli Cython tramite la parola chiave cimport, non tramite l'istruzione import standard di Python |
| Restrizioni sui contenuti | Solo dichiarazioni: tipi e funzioni cdef, ctypedef, struct/union/enum, blocchi extern C/C++; non sono consentite implementazioni di funzioni o istruzioni eseguibili |
| Ruolo nella compilazione | Solo in fase di build; non viene compilato in un binario separato - le dichiarazioni vengono inserite direttamente nei file .pyx consumatori dal compilatore Cython |
| Analogo in C | Equivalente funzionale di un file header .h di C per i moduli Cython |
| Toolchain | Elaborato dal compilatore Cython; si integra con i sistemi di build setuptools, pip, scikit-build e CMake |
| Supporto piattaforma | Multipiattaforma: Windows, macOS, Linux - qualsiasi sistema operativo con un compilatore C e CPython o PyPy |
| Dimensione tipica del file | Da poche centinaia di byte a decine di KB, a seconda del numero di simboli dichiarati |
| Versionamento del linguaggio | Segue la versione del linguaggio Cython della toolchain di compilazione (attualmente Cython 3.x) |
| Rilasciato | Pyrex (early 2000s); adopted and extended by Cython (forked 2007) |
| Ultima versione | Tracks the current Cython release (Cython 3.x) |
| Standard aperto | Sì · royalty-free |
| Specifica | cython.readthedocs.io |
Conversioni PXD
Domande e risposte della community
chiesto dagli utentiAncora nessuna domanda - sii il primo a chiedere informazioni sui file PXD.