Python API ========== The ``vulkan_columnar`` Python package wraps the C ABI shared library with Pythonic classes via ctypes. No C++ compiler is required at runtime — only the prebuilt shared library and a Vulkan driver. Installation ------------ .. code-block:: bash pip install vulkan-columnar Quick Start ----------- .. code-block:: python from vulkan_columnar import VcContext, U32, F64 with VcContext() as ctx: col = ctx.create_column(U32, [10, 20, 30, 40, 50]) # Filter mask = col > 25 filtered = col.filter(mask) # [30, 40, 50] # Cast f64_col = col.cast(F64) # [10.0, 20.0, ...] # Sort unsorted = ctx.create_column(U32, [5, 3, 1, 4, 2]) sorted_col = unsorted.sort() # [1, 2, 3, 4, 5] # Arithmetic added = col + 10 # [20, 30, 40, 50, 60] doubled = col * 2 # [20, 40, 60, 80, 100] # Read back result = filtered.read() # numpy array [30 40 50] VcContext --------- .. autoclass:: vulkan_columnar.VcContext :members: VcColumn -------- .. autoclass:: vulkan_columnar.VcColumn :members: Dtype Constants --------------- .. autodata:: vulkan_columnar.U8 .. autodata:: vulkan_columnar.U16 .. autodata:: vulkan_columnar.U32 .. autodata:: vulkan_columnar.U64 .. autodata:: vulkan_columnar.I8 .. autodata:: vulkan_columnar.I16 .. autodata:: vulkan_columnar.I32 .. autodata:: vulkan_columnar.I64 .. autodata:: vulkan_columnar.F32 .. autodata:: vulkan_columnar.F64 .. autodata:: vulkan_columnar.STRING .. autodata:: vulkan_columnar.LIST .. autodata:: vulkan_columnar.STRUCT