Skip to main content

XPG python bindings

Project description

XPG

XPG is a library for writing native cross-platform real-time graphics applications and tools with minimal dependencies. It is based on Vulkan for performance and portability. It provides helpers to simplify application development but exposes Vulkan concepts, functions, and types directly to give full control to applications and allow access all functionality and extensions that Vulkan offers.

XPG is written in a very C-like like C++, it makes lightweight use of templates and destructors for a few simple data structures, and it uses operator overloading for bounds checks and vector math.

Features

  • Helpers for device initialization, (optionally) window management, and most of the Vulkan API.
  • ImGui integration based on the GLFW and Vulkan backends.
  • Shader compilation and reflection utilities based on Slang or glslang and SPIR-V tools.
  • First-class Python bindings for graphics, imgui and shader compilation and reflection for Python 3.8+.

Project structure

The project currently contains 3 main components:

  • XPG: C++ library. Source is in src/include/ and src/lib/. Example applications are in apps/ and shaders in apps/shaders/.
  • PyXPG: Python bindings for XPG using nanobind. Source of the bindings is in src/python/ and examples are in python/.
  • Ambra: Ambra is a pure-Python 3D viewer based on PyXPG. Source is in ambra/ and examples in ambra/examples/. Ambra is meant as a standalone tool and is one of the main motivations driving the design of both XPG and PyXPG.

Dependencies

All dependencies are included as git submodules for versioning and for self-contained builds and source distributions:

  • Vulkan SDK components (tracking the latest official release).
  • GLFW for cross-platform window creation and input collection.
  • ImGui and ImPlot for UI and dear_bindings for imgui Python binding generation.
  • glslang and slang for shader compilation and reflection.
  • GLM for vector and matrix math.
  • Nanobind for writing Python bindings.

On Linux, GLFW has a few build dependencies for X11 and Wayland support. The easiest way to install these is from your distribution package manager. See the Build section below for more details.

Build

Building the XPG library, Python bindings, and sample applications requires a C++20 compiler and cmake. The recommended way to build XPG applications is to build XPG as a static library, this will produce portable executables with no runtime dependencies other than the system standard libraries.

XPG can be built for any platform supported by the Vulkan SDK and GLFW. It's currently tested on x64 Windows, x64 and aarch64 Linux and aarch64 MacOS.

Building XPG does not require the Vulkan SDK to be installed. But, if available, XPG can enable and configure the validation layer at runtime.

CMake options

The CMake build can be configured with the following XPG-specific options:

  • XPG_BUILD_APPS: If set to ON build example XPG applications in ./app. Default: ON.
  • XPG_BUILD_PYTHON: If set to ON build the pyxpg Python module. Requires Python header files to be installed and discoverable by find_package. Default: ON.
  • XPG_BUILD_SLANG: If set to ON build slang and the pyxpg.slang Python module. Default: ON.
  • XPG_BUILD_GLSLANG_AND_SPIRV: If set to ON build glslang and spirv tools (experimental). Deafult: OFF.
  • XPG_MSVC_ANALYZE: If set to ON and compiling with MSVC, build with the /analyze flag set for additional checks (significantly increases compilation time). Default: OFF.
  • XPG_MOLTENVK_PATH: If specified, link statically with the MoltenVK library pointed to this path. Otherwise Vulkan is loaded dynamically at runtime by volk.

Most dependencies also use CMake and their variables can also be specified at configuration time. By default, XPG configures some of the dependencies to disable optional features and configure them for static linking.

Windows

A C++ compiler and cmake can be installed with the C/C++ development package from the Visual Studio installer. XPG compilation on Windows is tested with both MSVC and Clang. For building PyXPG Python must be installed system-wide along with development header files.

Linux

XPG is tested with both Clang and GCC on x64 and aarch64 Ubuntu 24.04. Other distributions are expected to work by installing the respective packages. XPG builds GLFW with support for X11, Wayland, or both, depending on which packages are found at CMake configuration time.

The following packages are required for building XPG with X11 support:

sudo apt install libx11-dev libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev

The following packages are required for building XPG with Wayland support:

sudo apt install libwayland-dev libxkbcommon-dev wayland-protocols

The following packages are required for building PyXPG:

sudo apt install libpython3-dev

PyXPG Python wheels for distribution are built on manylinux_2_28 and musllinux_1_2. See pyproject.toml for the list of build dependencies on those platforms.

MacOS

On MacOS XPG is tested using Clang on aarch64 MacOS 14. Intel MacOS should also work but is not regularly tested.

MoltenVK is required for Vulkan support. By default, MoltenVK is expected to be installed by the Vulkan SDK and dynamically loaded at runtime by volk. Alternatively, MoltenVK can be linked statically to simplify distribution of binaries by specifying the XPG_MOLTENVK_PATH CMake option.

Example build commands

Full build

cmake -B build/
cmake --build build/

Minimal build (no apps, no Python bindings, and no slang)

cmake -B build/ -DXPG_BUILD_APPS=OFF -DXPG_BUILD_PYTHON=OFF -DXPG_BUILD_SLANG=OFF
cmake --build build/

Editable Python build

For development of PyXPG it can be convenient to setup an editable build that will check for changes and recompile the bindings whenever the pyxpg module is imported.

This can be achieved with the following command:

pip install scikit-build-core
pip install -C cmake.build-type=Debug -C editable.rebuild=true  --no-build-isolation -ve .

See the scikit-build-core documentation for more details on build configuration.

Ambra

Ambra is a pure-Python library based on PyXPG for creating 3D visualization and GUI tools. Ambra aims to be a tool that can be quickly installed in most environments and can bring any data from any source to the screen in as few lines of code as possible.

The main motivation for writing Ambra in Python is to minimize the effort and time required for setup and customizations. Compared to other 3D tools, Ambra is designed to allow full customization and configuration for the application needs. You can start using Ambra with some of the default primitives, UIs and controls, but as your application grows, you are encouraged to customize any big or small part of the library. For example, you can add your own primitives, shaders, render passes, data streaming systems, etc..

Even though Python isn't the fastest language, Ambra tries to provide fast primitives that limit the overhead of the interpreter. This includes supporting modern GPU features like asynchronous streaming, GPU driven rendering, and bindless resources.

Ambra has minimal dependencies and should be easy to integrate into any Python 3.8+ environment alongside other packages.

Quickstart

The easiest way to install Ambra is from prebuilt wheels on Pypi:

pip install ambra

After the setup you can run the example scripts in ambra/examples/ to test the installation and learn more about the library.

Build

Ambra is still in development and changing rapidly, to get the latest version and for development, it is recommended to build from source both pyxpg and ambra:

git clone --recursive https://github.com/ramenguy99/xpg.git
cd xpg
pip install scikit-build-core
pip install -C cmake.build-type=Debug -C editable.rebuild=true  --no-build-isolation -ve .
cd ambra
pip install -e .

This will install pyxpg in debug and editable mode (automatically recompiling after changes) and ambra in editable mode.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyxpg-0.3.0.tar.gz (55.5 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pyxpg-0.3.0-cp312-abi3-win_amd64.whl (11.6 MB view details)

Uploaded CPython 3.12+Windows x86-64

pyxpg-0.3.0-cp312-abi3-musllinux_1_2_x86_64.whl (15.2 MB view details)

Uploaded CPython 3.12+musllinux: musl 1.2+ x86-64

pyxpg-0.3.0-cp312-abi3-musllinux_1_2_aarch64.whl (14.8 MB view details)

Uploaded CPython 3.12+musllinux: musl 1.2+ ARM64

pyxpg-0.3.0-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (14.6 MB view details)

Uploaded CPython 3.12+manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pyxpg-0.3.0-cp312-abi3-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (14.0 MB view details)

Uploaded CPython 3.12+manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

pyxpg-0.3.0-cp312-abi3-macosx_11_0_arm64.whl (12.8 MB view details)

Uploaded CPython 3.12+macOS 11.0+ ARM64

pyxpg-0.3.0-cp311-cp311-win_amd64.whl (11.6 MB view details)

Uploaded CPython 3.11Windows x86-64

pyxpg-0.3.0-cp311-cp311-musllinux_1_2_x86_64.whl (15.2 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

pyxpg-0.3.0-cp311-cp311-musllinux_1_2_aarch64.whl (14.8 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

pyxpg-0.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (14.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pyxpg-0.3.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (14.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

pyxpg-0.3.0-cp311-cp311-macosx_11_0_arm64.whl (12.8 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pyxpg-0.3.0-cp310-cp310-win_amd64.whl (11.6 MB view details)

Uploaded CPython 3.10Windows x86-64

pyxpg-0.3.0-cp310-cp310-musllinux_1_2_x86_64.whl (15.2 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

pyxpg-0.3.0-cp310-cp310-musllinux_1_2_aarch64.whl (14.8 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

pyxpg-0.3.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (14.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pyxpg-0.3.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (14.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

pyxpg-0.3.0-cp310-cp310-macosx_11_0_arm64.whl (12.8 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

pyxpg-0.3.0-cp39-cp39-win_amd64.whl (11.6 MB view details)

Uploaded CPython 3.9Windows x86-64

pyxpg-0.3.0-cp39-cp39-musllinux_1_2_x86_64.whl (15.2 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

pyxpg-0.3.0-cp39-cp39-musllinux_1_2_aarch64.whl (14.8 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ ARM64

pyxpg-0.3.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (14.6 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pyxpg-0.3.0-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (14.0 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

pyxpg-0.3.0-cp39-cp39-macosx_11_0_arm64.whl (12.8 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

pyxpg-0.3.0-cp38-cp38-win_amd64.whl (11.6 MB view details)

Uploaded CPython 3.8Windows x86-64

pyxpg-0.3.0-cp38-cp38-musllinux_1_2_x86_64.whl (15.2 MB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ x86-64

pyxpg-0.3.0-cp38-cp38-musllinux_1_2_aarch64.whl (14.8 MB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ ARM64

pyxpg-0.3.0-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (14.6 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pyxpg-0.3.0-cp38-cp38-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (14.0 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

File details

Details for the file pyxpg-0.3.0.tar.gz.

File metadata

  • Download URL: pyxpg-0.3.0.tar.gz
  • Upload date:
  • Size: 55.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pyxpg-0.3.0.tar.gz
Algorithm Hash digest
SHA256 78010096a451ca55095cc554361895ed49dc023a429fc2167b620fb99dfe943b
MD5 065e28cf6b139ba40637a77b5838be6b
BLAKE2b-256 fb008eba7f8c80a9c832ea8f8f39ba7337eb9e944e921dfc8ec538ae47be0c1e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxpg-0.3.0.tar.gz:

Publisher: pypi.yml on ramenguy99/xpg

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxpg-0.3.0-cp312-abi3-win_amd64.whl.

File metadata

  • Download URL: pyxpg-0.3.0-cp312-abi3-win_amd64.whl
  • Upload date:
  • Size: 11.6 MB
  • Tags: CPython 3.12+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pyxpg-0.3.0-cp312-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 00cddae7a1a572d9afa3aa7cefc66fde0d10c99437833d2e5d68b47eb5445e9f
MD5 eb7dd6fa39cfd359d659c6f86a2efc7d
BLAKE2b-256 2cce64597218fb37ea87f80e8252676068d13d33be87245fe81ba2cf2c5b18bd

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxpg-0.3.0-cp312-abi3-win_amd64.whl:

Publisher: pypi.yml on ramenguy99/xpg

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxpg-0.3.0-cp312-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pyxpg-0.3.0-cp312-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0fe368558cfb91f270c1acb7ca1e6765491c1315bb3cb5790a71be233c3defe7
MD5 9433b25fe2954d1bbe333471637ee4d6
BLAKE2b-256 1cd369c6cc077dab2653bf19f598057986202d50d79be90c633bead667b4d912

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxpg-0.3.0-cp312-abi3-musllinux_1_2_x86_64.whl:

Publisher: pypi.yml on ramenguy99/xpg

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxpg-0.3.0-cp312-abi3-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pyxpg-0.3.0-cp312-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 98518a156d620dc5826b33a93029a6bb6d95c475295c30a2419a7d49edcbcb2d
MD5 2223a955c679db8d631c90c9dd134021
BLAKE2b-256 c7612ee6d5eaf668902650772842c917eab07657c93ed75d2782de0fb30fc084

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxpg-0.3.0-cp312-abi3-musllinux_1_2_aarch64.whl:

Publisher: pypi.yml on ramenguy99/xpg

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxpg-0.3.0-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyxpg-0.3.0-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 dbc5100584f4c64650690017c3a32218835248c51b0dff06456425823394f128
MD5 34b0a4570f229b8ee7256427d833916a
BLAKE2b-256 05321c489ddfce527d89cb03eefad1fbaadfa5417b29b9a833c2323fa744260d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxpg-0.3.0-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: pypi.yml on ramenguy99/xpg

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxpg-0.3.0-cp312-abi3-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyxpg-0.3.0-cp312-abi3-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 2582cc41040fda0ca2973f0c10696f81e1b24f36d65686154a72ada0f1c119e9
MD5 1a5841da5bd13e93bfcfbb90729e8513
BLAKE2b-256 b66cce5a2b70a2c92e0eea86442069f538c2c2875675dc9b649e62bf389ae148

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxpg-0.3.0-cp312-abi3-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:

Publisher: pypi.yml on ramenguy99/xpg

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxpg-0.3.0-cp312-abi3-macosx_11_0_arm64.whl.

File metadata

  • Download URL: pyxpg-0.3.0-cp312-abi3-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 12.8 MB
  • Tags: CPython 3.12+, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pyxpg-0.3.0-cp312-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4e0fe13e085d3697fbfb30e667418e498e1817ae20bb6154e5889cc95133c4b1
MD5 d6fa922cf76f9924826ef4653f10f166
BLAKE2b-256 c3938c7b4a53a2ce779ccb361ecfab06a5ca8c4c082995534f5402ba7b249b90

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxpg-0.3.0-cp312-abi3-macosx_11_0_arm64.whl:

Publisher: pypi.yml on ramenguy99/xpg

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxpg-0.3.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: pyxpg-0.3.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 11.6 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pyxpg-0.3.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 9e16c2455419a83b93658ff52f1ff378753b2a8ab1380dcc9426aff19323929e
MD5 b725b4c09dde0b60623d3e1531fefa13
BLAKE2b-256 aacf81864925f90efad8bc81165e4680afc50d05e340d26421cb5783baa88256

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxpg-0.3.0-cp311-cp311-win_amd64.whl:

Publisher: pypi.yml on ramenguy99/xpg

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxpg-0.3.0-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pyxpg-0.3.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7a49c2e260d8a6be62c1007d939d5104a999c0b49b79ac51ebe24423c5806dde
MD5 9155e6ec5ce249d18311aedf52033a6e
BLAKE2b-256 f042c2c88fe9a467d73a2774977658aa72f1995c3158fc512cf75c6b37de42fd

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxpg-0.3.0-cp311-cp311-musllinux_1_2_x86_64.whl:

Publisher: pypi.yml on ramenguy99/xpg

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxpg-0.3.0-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pyxpg-0.3.0-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 cb799b197c9a41f0f2052048c577ac01e90c9f53b8179a967a4e1ae27439970a
MD5 bf96d712dc9b417774c4bad4ce86a4b1
BLAKE2b-256 ab4a51c2ba72cfd9f0056ff96b216693ad8f6adf15571c75a8948f364efb678b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxpg-0.3.0-cp311-cp311-musllinux_1_2_aarch64.whl:

Publisher: pypi.yml on ramenguy99/xpg

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxpg-0.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyxpg-0.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 cd1f7db26bb12dfef6eda090584dd45c959a85b7a1abe1dd95848bb6280c9a6a
MD5 c65a314608346773092cb37df7fadf08
BLAKE2b-256 78fc602c949b7c4df5582908e83d32467fc8efdac8e02b27b3c2e1f436242132

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxpg-0.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: pypi.yml on ramenguy99/xpg

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxpg-0.3.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyxpg-0.3.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 11e28f7465492b6c9ffb9ad01a6073ff881985aca1f8fb93d7618ae5953575c9
MD5 f13fdf34f14fef6346455f2f1ac44be3
BLAKE2b-256 e539b29675549b63f93446988806518846daa60a04c45a4880dd8f7dd8d305f0

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxpg-0.3.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:

Publisher: pypi.yml on ramenguy99/xpg

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxpg-0.3.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyxpg-0.3.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fb10cd7f7bd09eb1f50a36c869a126c2ed1fc9fb5ce7e667d7d1a99ac565fd13
MD5 cd33e57b90244555f4c2c4a33a001d76
BLAKE2b-256 0b054ad1d56f2e0a9b9d5c362a8a9eb5c4ebe12a8122f555b6011edc3128e06c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxpg-0.3.0-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: pypi.yml on ramenguy99/xpg

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxpg-0.3.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: pyxpg-0.3.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 11.6 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pyxpg-0.3.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 49157c6ebb7c8d932e541350b25f4392bcfc26da47e10d86bfa33d6db986d5c8
MD5 aac55196e4d6d227d89cbedd83e1f895
BLAKE2b-256 d64dec416444c3a4ef16c4b5a462629aac6da618bc376b5440647695225871f3

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxpg-0.3.0-cp310-cp310-win_amd64.whl:

Publisher: pypi.yml on ramenguy99/xpg

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxpg-0.3.0-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pyxpg-0.3.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e0b05e527ce7bc169d89dece4add96cc773f7b5a94e570bf2b64a92bb712f8ef
MD5 689c83eb95f8b795c4493fff0fed1a34
BLAKE2b-256 01f62aba4664113205943665a0265233e63f8d0627cc1fd39108a43c0f616ca0

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxpg-0.3.0-cp310-cp310-musllinux_1_2_x86_64.whl:

Publisher: pypi.yml on ramenguy99/xpg

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxpg-0.3.0-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pyxpg-0.3.0-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 04c1fc271ceac4c498729033b33903ceef1f649e38d9b45324816100f9b0db71
MD5 62e59b4b7272d91147d5580aee401c1b
BLAKE2b-256 694ffc0b521726d3c97accc84852df9f72aeeb3a390ab9558c8cab87d3299139

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxpg-0.3.0-cp310-cp310-musllinux_1_2_aarch64.whl:

Publisher: pypi.yml on ramenguy99/xpg

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxpg-0.3.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyxpg-0.3.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8825ec10e0918e75730c2e604d72cd7dacac6f1e065634eb331f4428a8499b7d
MD5 c864b503f7350911b6edb6d874e7bf9c
BLAKE2b-256 0a1c788abb0a0618652196d9be64b500b30ee90345466a75e5112c912b5f8ef4

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxpg-0.3.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: pypi.yml on ramenguy99/xpg

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxpg-0.3.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyxpg-0.3.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f4b66c8d0f1fa5150cd63e562c5ce44e9c2c36ae26fa33e07b9ab0b22e3c3d19
MD5 3b9a110cdc7f3e94e2a3359073c6f985
BLAKE2b-256 69590368c913ea8cd2c8c169b2b8cc4c1dedac7ba1401ba2a1b918b7cebc9697

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxpg-0.3.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:

Publisher: pypi.yml on ramenguy99/xpg

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxpg-0.3.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyxpg-0.3.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d891538592bf98b1156f8ea5026d9c3757a1aba4745eb4961d57264bf5841c14
MD5 7596fc437188c0bb40fe472cad76de95
BLAKE2b-256 2fd1372e2ae874f11a598b38f3fc4e3a33f274096455df296fe158da2df1767e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxpg-0.3.0-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: pypi.yml on ramenguy99/xpg

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxpg-0.3.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: pyxpg-0.3.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 11.6 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pyxpg-0.3.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 002b8531e186802d51be446797ef8d76f54f6b0c4573f07ca5f6560931a125c6
MD5 9ce588ac8b1e2a3076eddb6e5a4a6acf
BLAKE2b-256 b1f7adcd916ac050dded97fd7cd7a3ed699c684c7c6187f70f2ea0e3fd175289

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxpg-0.3.0-cp39-cp39-win_amd64.whl:

Publisher: pypi.yml on ramenguy99/xpg

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxpg-0.3.0-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

  • Download URL: pyxpg-0.3.0-cp39-cp39-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 15.2 MB
  • Tags: CPython 3.9, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pyxpg-0.3.0-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2fae93dbc3c5e1718d9235a9c1acf3d13c1b0107001fbf6e5059bc5d197ef495
MD5 0c526027ce6ecf233064f2d0e0a46b40
BLAKE2b-256 2e9f942fe63a64dc65f51660f668c1ad86d6c4474f87c9ceecdcaeb07d8acd58

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxpg-0.3.0-cp39-cp39-musllinux_1_2_x86_64.whl:

Publisher: pypi.yml on ramenguy99/xpg

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxpg-0.3.0-cp39-cp39-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pyxpg-0.3.0-cp39-cp39-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 f7e005730c4c8c09452d62c0b9c4957a3de0600878f99328ae38e97ab7e5c1ea
MD5 7199a6c00116234bd30dd56746f376b9
BLAKE2b-256 effc6f627685739662a225f00a60960f8d94b9ab25265698993d532bbabf5556

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxpg-0.3.0-cp39-cp39-musllinux_1_2_aarch64.whl:

Publisher: pypi.yml on ramenguy99/xpg

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxpg-0.3.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyxpg-0.3.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 aa3a508ed11af323706311b8c76cbb3e6ac8eef7aa39f5aa0a238059f27b64b3
MD5 ea30fa18b5fb40bbabca003c1b5e9536
BLAKE2b-256 c4a048c4cde309919310dd29c4efe8aac67c153f72f1c06197834574c0e83c9e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxpg-0.3.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: pypi.yml on ramenguy99/xpg

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxpg-0.3.0-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyxpg-0.3.0-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f3641eb8cca6d84576366b1336aa642795a3bf0023750755184891995ed96f11
MD5 07021ebcc8c1b762695876c40a39f247
BLAKE2b-256 ca60be090617c1076f755d3d64edeaa916cf8c0e1da634a5ae870b066275bbb3

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxpg-0.3.0-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:

Publisher: pypi.yml on ramenguy99/xpg

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxpg-0.3.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

  • Download URL: pyxpg-0.3.0-cp39-cp39-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 12.8 MB
  • Tags: CPython 3.9, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pyxpg-0.3.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 536c8a3d3721978333a5684a1cec8766ac2e92dd60707e4407a6c0e7ba679d48
MD5 2fd11048907fb53f52f53a672a9f434a
BLAKE2b-256 0633eefdbdad3264b4a090dc2707aad22fc8e223e7fd1d6ccae304863da73beb

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxpg-0.3.0-cp39-cp39-macosx_11_0_arm64.whl:

Publisher: pypi.yml on ramenguy99/xpg

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxpg-0.3.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: pyxpg-0.3.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 11.6 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pyxpg-0.3.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 960689803eaf37d30877c5ac9ee4910a05c7f25f51227f0d7e897c192025fa8b
MD5 783cfbe80f38b907b8bd173abad46f72
BLAKE2b-256 3942526daabd02bfb8acfe1aee10356cbea38b4970f2e088d2232a93742b9494

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxpg-0.3.0-cp38-cp38-win_amd64.whl:

Publisher: pypi.yml on ramenguy99/xpg

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxpg-0.3.0-cp38-cp38-musllinux_1_2_x86_64.whl.

File metadata

  • Download URL: pyxpg-0.3.0-cp38-cp38-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 15.2 MB
  • Tags: CPython 3.8, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pyxpg-0.3.0-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 af04c23368029239a7c69f56ec07f82436c5a788fd3509bee3bfaa6e2a28a172
MD5 200c76cf9b2eb016f55d665132d5ca88
BLAKE2b-256 5f5ca7660cb7a21b86c8f785f13abd1ee083c02884ddfae1124239787dfd5b26

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxpg-0.3.0-cp38-cp38-musllinux_1_2_x86_64.whl:

Publisher: pypi.yml on ramenguy99/xpg

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxpg-0.3.0-cp38-cp38-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pyxpg-0.3.0-cp38-cp38-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 b5a589a34a25fe0897a536d0210e33479f252f9768b8adcccf1196bf7cf79c78
MD5 90b6d112cef289f05f0db0f92e5f8bba
BLAKE2b-256 4c512699187a8ed35b33258e03d878f43a842dbcceab9fb4c2b8d49cf5b8a83d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxpg-0.3.0-cp38-cp38-musllinux_1_2_aarch64.whl:

Publisher: pypi.yml on ramenguy99/xpg

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxpg-0.3.0-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyxpg-0.3.0-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 cb815ad31e1488ba21d5d25e87a712a59d87a8f2ba83314f107561b4ef5ba1e0
MD5 0d7033fb58357280ea46e69f5f10283c
BLAKE2b-256 d06668e9261636a2cab1543b4caf4e11b45f71dfb2f2b2583b8e20cfe36447f2

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxpg-0.3.0-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: pypi.yml on ramenguy99/xpg

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyxpg-0.3.0-cp38-cp38-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyxpg-0.3.0-cp38-cp38-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 2731db7af18f870a7acbcb1e1b6b981df39835b551bd74375c70c9b64eaa3ba1
MD5 2243e79aebc900812bcf6921d4330c27
BLAKE2b-256 8aa80a4e2de18baad19ef008fd47fd3ceaaac4bc77798bb40ebefa84c980c03f

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxpg-0.3.0-cp38-cp38-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:

Publisher: pypi.yml on ramenguy99/xpg

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page