Wat is het PXD-bestandsformaat?
.pxd is een bestandsformaat voor ontwikkelaars dat oorspronkelijk werd geassocieerd met de programmeertaal Pyrex en nu het standaard declaratieformaat is voor Cython, de actief onderhouden opvolger. .pxd-bestanden slaan module-declaraties op - typedefinities, functiesignaturen en interfaces voor externe C-bibliotheken - die gedeeld kunnen worden tussen Cython-modules. Net als een C-header wordt een .pxd toegevoegd aan de build, zodat andere modules toegang hebben tot de gedeclareerde typen en functies. Cython slaat de implementatiecode op in .pyx-bestanden.
Pyrex stelde ontwikkelaars in staat om Python-extensiemodules te maken met een C-achtige syntaxis. Cython, in 2007 afgesplitst van Pyrex, ondersteunt zowel C- als Python-syntaxis en is tegenwoordig het actief onderhouden project. Zowel de Pyrex- als de Cython-syntaxis lijkt sterk op die van Python in plaats van C, wat de overstap voor Python-ontwikkelaars toegankelijk maakt. Applicaties die modules in C en Python combineren zijn efficiënter qua prestaties, ten koste van enige codecomplexiteit en extra compilatiestappen. Een .pxd-declaratiebestand wordt in een andere Cython-bron binnengehaald met het trefwoord cimport - in tegenstelling tot standaard Python-modules, die import gebruiken.
Beveiliging & veiligheid
RISICO: LOWEen .pxd is broncode in platte tekst - niet op zichzelf uitvoerbaar en veilig om te openen in een editor. De gebruikelijke voorzichtigheid bij broncode is van toepassing: het bouwen van een project met niet-vertrouwde .pyx/.pxd-bestanden voert de Cython-compiler en een C-compiler uit op die code, wat willekeurige bouwlogica kan uitvoeren - compileer alleen code die u vertrouwt. Het lezen van een .pxd is onschadelijk.
Formaatdetails
in een notendop- Pixadex icon library (Mac) - De stopgezette Mac-app Pixadex sloeg icooncollecties op in .pxd-bestanden - niet gerelateerd aan Cython.
- Pyxis / PixelView / ProxyDesigner data - Verschillende niche-tools (een Pyxis moleculaire viewer, ProxyDesigner) gebruikten .pxd voor hun eigen binaire project- of databestanden.
Programma's die PXD-bestanden openen
Technische details
diepe specificaties| Bestandstype | Platte tekst Cython-declaratie bronbestand |
| MIME-type | text/x-cython (ook geaccepteerd als text/plain) |
| Karaktercodering | UTF-8 of ASCII; voor mensen leesbare brontekst zonder binaire header |
| Bestandssignatuur | Geen - herkend aan de extensie en Cython-specifieke trefwoorden zoals cdef, ctypedef en cimport |
| Gekoppeld formaat | Meestal gekoppeld aan een .pyx-implementatiebestand met dezelfde naam (bijv. mymodule.pxd naast mymodule.pyx) |
| Importmechanisme | Gebruikt door andere Cython-modules via het trefwoord cimport, niet het standaard Python import-statement |
| Inhoudsbeperkingen | Alleen declaraties: cdef-typen en functies, ctypedef, struct/union/enum, extern C/C++ blokken; geen functie-implementaties of uitvoerbare instructies toegestaan |
| Rol bij compilatie | Alleen tijdens de build; wordt niet gecompileerd naar een afzonderlijk binair bestand - declaraties worden door de Cython-compiler ingevoegd in de gebruikende .pyx-bestanden |
| C-analoog | Functioneel equivalent van een C .h headerbestand voor Cython-modules |
| Toolchain | Verwerkt door de Cython-compiler; integreert met setuptools, pip, scikit-build en CMake-bouwsystemen |
| Platformondersteuning | Platformonafhankelijk: Windows, macOS, Linux - elk besturingssysteem met een C-compiler en CPython of PyPy |
| Typische bestandsgrootte | Enkele honderden bytes tot tientallen KB, afhankelijk van het aantal gedeclareerde symbolen |
| Taalversie | Volgt de Cython-taalversie van de gebruikte toolchain (momenteel Cython 3.x) |
| Uitgebracht | Pyrex (early 2000s); adopted and extended by Cython (forked 2007) |
| Laatste versie | Tracks the current Cython release (Cython 3.x) |
| Open standaard | Ja · royaltyvrij |
| Specificatie | cython.readthedocs.io |
PXD conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over PXD-bestanden.