Vulkan Object Python Package
Parsing the vk.xml in Vulkan is easy, processing it is hard!
It is very easy for people to mess up trying to process the vk.xml file, so we created VulkanObject
VulkanObject is just a python dataclass that is defined in Vulkan-Headers/registry/vulkan_object.py. It uses the reg.py framework that the Vulkan Spec is generated with in order to populate the VulkanObject data structure.
This python package makes it super easy to get going.
pip install vulkan-object
and then it is as simple as
#!/usr/bin/env python3
from vulkan_object import get_vulkan_object
# This builds the VulkanObject that is populated and ready to be used
vk = get_vulkan_object()
print(f'There are now {len([x for x in vk.extensions.values()])} extensions in Vulkan')
print(f'Built with the {vk.headerVersion} headers')
longest_count = 0
for struct in vk.structs.values():
if len(struct.name) > longest_count:
longest_count = len(struct.name)
longest_struct = struct
print(f'Longest Struct name is {longest_struct.name} at {longest_count} characters')
Quick query from the terminal
Just run the following and you can quickly use vk in your terminal for some quick query
python -i -c "from vulkan_object import get_vulkan_object;vk = get_vulkan_object()"
Vulkan Video
Added in 1.4.342 release
By default, the video.xml file is not parsed, but can be turned on. (example: video_example.py)
vk = get_vulkan_object(video=True)
More example
example.py has more in depth ways to use this
What is this package/repo actually?
The Vulkan-Headers contain a bunch of scripts in the Vulkan-Headers/registry/ directory that repos can use to help generate code.
The main issue is the delivery mechanism for python projects. This package/repo just grabs the Vulkan-Headers scripts (not the C header files themselves!) and make it easier to integrate with projects.
Updating this repo
run python update.py /path/to/Vulkan-Headers and it will do everything to sync this package up with the new headers
Metadata
Release files for vulkan-object 1.4.365
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| vulkan_object-1.4.365.tar.gz | 419.0 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| vulkan_object-1.4.365-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 847.7 kB
Release files / vulkan_object-1.4.365.tar.gz
| Download URL | vulkan_object-1.4.365.tar.gz |
|---|---|
| Size | 419.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
949c2d1d4e35dd37f6ce46fb008330927efb91e8feddfea488559002183b4156
|
|
BLAKE2b-256 checksum How to use checksums |
8c98a318b0431bb3718e122edf12d062909ff36c2c44f86758f8c8c88538be26
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 3, 2026.
Transparency logRelease files / vulkan_object-1.4.365-py3-none-any.whl
| Download URL | vulkan_object-1.4.365-py3-none-any.whl |
|---|---|
| Size | 428.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c2c2e0f9176958a353cc93a159fec2f0af7178b943b67fb22aa5b2a84f03996b
|
|
BLAKE2b-256 checksum How to use checksums |
6786c994e9f80236ffadc24ef2a660dfb1e5e153d40de12db7601e463f25d768
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 3, 2026.
Transparency logSecurity for vulkan-object 1.4.365
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for vulkan_object-1.4.365.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 3, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.