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 wayland-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.

Setup

Ambra is deep in development and Python wheels are not yet available. Currently ambra does not depend explicitly on pyxpg in its pyproject.toml to avoid downloading wheels from Pypi when installed.

The recommended way to install Ambra is to clone the repository and install from source both pyxpg and ambra to ensure the latest version of both is in use.

Example setup:

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 and ambra in editable mode. After the setup you can run the example scripts in ambra/examples/ to test the installation.

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.0.6.tar.gz (52.9 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.0.6-cp312-abi3-win_amd64.whl (8.0 MB view details)

Uploaded CPython 3.12+Windows x86-64

pyxpg-0.0.6-cp312-abi3-musllinux_1_2_x86_64.whl (11.1 MB view details)

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

pyxpg-0.0.6-cp312-abi3-musllinux_1_2_aarch64.whl (10.8 MB view details)

Uploaded CPython 3.12+musllinux: musl 1.2+ ARM64

pyxpg-0.0.6-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (10.4 MB view details)

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

pyxpg-0.0.6-cp312-abi3-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (10.0 MB view details)

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

pyxpg-0.0.6-cp312-abi3-macosx_11_0_arm64.whl (9.4 MB view details)

Uploaded CPython 3.12+macOS 11.0+ ARM64

pyxpg-0.0.6-cp311-cp311-win_amd64.whl (8.0 MB view details)

Uploaded CPython 3.11Windows x86-64

pyxpg-0.0.6-cp311-cp311-musllinux_1_2_x86_64.whl (11.1 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

pyxpg-0.0.6-cp311-cp311-musllinux_1_2_aarch64.whl (10.8 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

pyxpg-0.0.6-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (10.4 MB view details)

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

pyxpg-0.0.6-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (10.0 MB view details)

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

pyxpg-0.0.6-cp311-cp311-macosx_11_0_arm64.whl (9.4 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pyxpg-0.0.6-cp310-cp310-win_amd64.whl (8.0 MB view details)

Uploaded CPython 3.10Windows x86-64

pyxpg-0.0.6-cp310-cp310-musllinux_1_2_x86_64.whl (11.1 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

pyxpg-0.0.6-cp310-cp310-musllinux_1_2_aarch64.whl (10.8 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

pyxpg-0.0.6-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (10.4 MB view details)

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

pyxpg-0.0.6-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (10.0 MB view details)

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

pyxpg-0.0.6-cp310-cp310-macosx_11_0_arm64.whl (9.4 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

pyxpg-0.0.6-cp39-cp39-win_amd64.whl (8.0 MB view details)

Uploaded CPython 3.9Windows x86-64

pyxpg-0.0.6-cp39-cp39-musllinux_1_2_x86_64.whl (11.1 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

pyxpg-0.0.6-cp39-cp39-musllinux_1_2_aarch64.whl (10.8 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ ARM64

pyxpg-0.0.6-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (10.4 MB view details)

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

pyxpg-0.0.6-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (10.0 MB view details)

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

pyxpg-0.0.6-cp39-cp39-macosx_11_0_arm64.whl (9.4 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

pyxpg-0.0.6-cp38-cp38-win_amd64.whl (8.0 MB view details)

Uploaded CPython 3.8Windows x86-64

pyxpg-0.0.6-cp38-cp38-musllinux_1_2_x86_64.whl (11.1 MB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ x86-64

pyxpg-0.0.6-cp38-cp38-musllinux_1_2_aarch64.whl (10.8 MB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ ARM64

pyxpg-0.0.6-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (10.4 MB view details)

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

pyxpg-0.0.6-cp38-cp38-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (10.0 MB view details)

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

File details

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

File metadata

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

File hashes

Hashes for pyxpg-0.0.6.tar.gz
Algorithm Hash digest
SHA256 549278b6ce8b308ecb0d1a9029dbbbd1d858a1c9841caca08a91da60159d3b77
MD5 c23f9e54fb9db44e88c361b91ec41f70
BLAKE2b-256 ca2e6b6aacba78b7aeb6d02ed53107969b4c1173efa127fb9dcbe1f63314db8f

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxpg-0.0.6.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.0.6-cp312-abi3-win_amd64.whl.

File metadata

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

File hashes

Hashes for pyxpg-0.0.6-cp312-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 2a1033abf2c6e4147257945c64ef1bda6da87bd3e12dd48a20596c38fd4e82f6
MD5 cb4c931365d6570658e477efee1a5b92
BLAKE2b-256 1d72443725e42566a007f03944f0a2a3bad77e36711e1dad5cc2fa4c79025508

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxpg-0.0.6-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.0.6-cp312-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pyxpg-0.0.6-cp312-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 fee9357b39119feedc882757dbb857775cb40d57aad53b9f6c66820194edad23
MD5 db5463063555b899b1d58c32a00fd0b6
BLAKE2b-256 68acbe8209254587fd335924f1a605051f1de49766bfa021796a0ae009d61362

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxpg-0.0.6-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.0.6-cp312-abi3-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pyxpg-0.0.6-cp312-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 58696ce7486c0987ebbaaa0efaa44a0511229851b48450a92bef6796aa306b19
MD5 1087baf6974c892fe9e89d905fdb5a64
BLAKE2b-256 230a0bec328e3f01ff1d3dff243709e6ba7c7f8bbbbd4502ee89f569af36707c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxpg-0.0.6-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.0.6-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyxpg-0.0.6-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 73eb6c9b315465bf21793c162298210af17858acc30317b81aa7b59d4cfe6bfb
MD5 eb09f22681fdd46b4ab070b5fecd594b
BLAKE2b-256 93fadc9ee7b0b31c81ef6ed5447559461932bfbb1887bc12e537475bf915bc97

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxpg-0.0.6-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.0.6-cp312-abi3-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyxpg-0.0.6-cp312-abi3-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 7907b8322fde8fa29af9f51974a95d4004f1ba7e831f968795bb708b1ddd8023
MD5 87950a2e428a4c8e33a5d02bdc850991
BLAKE2b-256 69122d21ce60bd2cac0afc4c0984479cc99abf254f65e98cc7067816506b1089

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxpg-0.0.6-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.0.6-cp312-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyxpg-0.0.6-cp312-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5a1585eab58b301e0a019b5b3343e0eb7e67b01f873d73729f4b800316da8c88
MD5 7abade34fd956c112545c0768c6dc184
BLAKE2b-256 a0a084d3b94610870818a4522415ca7fe764deae5abbbf65f4514780ef632e6d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxpg-0.0.6-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.0.6-cp311-cp311-win_amd64.whl.

File metadata

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

File hashes

Hashes for pyxpg-0.0.6-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d069b25803f2f3f5b9e423b5a949fdb00aa72fc5be021846041e2bf42780ae73
MD5 c4f449f857d63c9e63bda2f0e4b0676b
BLAKE2b-256 9cd11e78e4e50f865dc7c20813a34b719eb36c1ff472f44aadf05e21474598b4

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxpg-0.0.6-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.0.6-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pyxpg-0.0.6-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 8bb1a310f3acff30dd2bab0e5d67bc17dcb475282f61eac9a12bc6b45f4cd266
MD5 831f87b484e0553b3379c4f148b0ddee
BLAKE2b-256 8bf69869378f0573c3babc09be25897c0228d349f0e00cf0a84d55a9d1426562

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxpg-0.0.6-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.0.6-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pyxpg-0.0.6-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 8191f8dedb7fe730348d901d1abbb62392d7adea7a27f643ca20a1ccdeb993c6
MD5 62d57a64e788cb56d2311f0edeac6d4f
BLAKE2b-256 3b852db07dfc54a9fbbf1acdb5187a1448c55fd2780ca2bde04f17a00fcf902d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxpg-0.0.6-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.0.6-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyxpg-0.0.6-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 357a10593c2f0e5f7cc269f25e99c7e03daec25913ee96462a281a07ba00b5f6
MD5 f4365e3100c37f49a338ab1709e5329f
BLAKE2b-256 b219020a3126f26e5cc65c9605b343a2740d2b75cb38857b4db4986175596eb0

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxpg-0.0.6-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.0.6-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyxpg-0.0.6-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ccd4ec248323392ea02ad93377037287a944a08b0d3f72030fd04869e439995b
MD5 af7a0e0ed3697791cbc17f8c08f3a9f8
BLAKE2b-256 f67dc6396067016b36e92b695291e7945d9a48f291f7fdfdb4adef1444f9bbd1

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxpg-0.0.6-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.0.6-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyxpg-0.0.6-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d6fe753dbf690e7d49413e356222d642a3d5c8276c3731848169361dc9ba8da9
MD5 f99729f8893ac05577a800d48823bf0f
BLAKE2b-256 10daf88547cd27afcacaacdf0da81a789877dc0188c13276a78f6b0ee8cb8448

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxpg-0.0.6-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.0.6-cp310-cp310-win_amd64.whl.

File metadata

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

File hashes

Hashes for pyxpg-0.0.6-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 7a7aec068d21eafc4c0e111d7364f9f340278995736e3bf66daa3dda229ab083
MD5 f32c484c7502546359391eb857285d14
BLAKE2b-256 78e46eb479224866fa6951ef3cc9d5ef6e50a8d4a6269e3ba90603335e9b7d5a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxpg-0.0.6-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.0.6-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pyxpg-0.0.6-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 170d746616e807c9758804ff2d30c5368ae495c8412b33d38c0f0222cf830fed
MD5 2b80f748bcdc721a88978d6443ff600f
BLAKE2b-256 e3b29cdcb73d8cbdb033d82467046e8b03ebd92e54364ce8b7a6f4dbed9469e2

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxpg-0.0.6-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.0.6-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pyxpg-0.0.6-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 688af6bd2b435a57325de35ac19cb6e39e84e1be3bd925df3cef3e08ed1ce32b
MD5 03607fb1a688c97694f5433426f2d810
BLAKE2b-256 a57318d57b6defa314addba2cf58892d56db4d3e910665316f97906f88c3c9d8

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxpg-0.0.6-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.0.6-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyxpg-0.0.6-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a5915a9c57fea4b37efbd22ec77e22a525877d18e016aab9c332c79ef533a58d
MD5 e05c2ecf0abf458bf70a1254c4937e4b
BLAKE2b-256 12c8af10b17a67f0b7bd18e1586de81a8ac3862688dd0daa90a58587e1df1362

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxpg-0.0.6-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.0.6-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyxpg-0.0.6-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 03396bc123360749db0f68fac0b2d812274361bbf029bfe8f12c6ab2a545c439
MD5 ebd2a96e5940283616168895985c7bc2
BLAKE2b-256 9e16b10573158a503894f907fe274c3dc3147db8fe2c3bd76e3c62b10acec444

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxpg-0.0.6-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.0.6-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyxpg-0.0.6-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 35922370f4e5f4570943ac80f1e259f1e84d29fee183561de824789934ecf882
MD5 c411129d228c033e4eba11dbb6e115f9
BLAKE2b-256 3af5102ac18cab60ecb6d8853d4c5519b2cb2af2bd158923633f96a300843e82

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxpg-0.0.6-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.0.6-cp39-cp39-win_amd64.whl.

File metadata

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

File hashes

Hashes for pyxpg-0.0.6-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 620e9f9201cddf237025bd66b18879b8f2f972d83da9548c475a8309f7af6960
MD5 5e551ed462d1b29ab59e441eea1b7252
BLAKE2b-256 381eca3c202689968d2c84195c67759df51f9139a02a1aa733ecd5f335dad8db

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxpg-0.0.6-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.0.6-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pyxpg-0.0.6-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3986b628ccde1354ffd629383d18efdf363b0e333647d6e000a6810fd78f4e91
MD5 512c38202eb8a884fa7f23e3764a51e4
BLAKE2b-256 ed0f560ec5ad475d88fe6048db0d5b285fcf671d4a2f5ba7955843e6fec83e41

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxpg-0.0.6-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.0.6-cp39-cp39-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pyxpg-0.0.6-cp39-cp39-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 6275d0b5ecc10f6bdcd8f6ec28e2f7ac2621bc9cf37ed896e50e2b0a77b1a6c1
MD5 b772fb8a66c91b3ab241a115638e6985
BLAKE2b-256 266e61ea1a0471a765e694592a70ca748cec443d8c2dfa7c95000378948f0d53

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxpg-0.0.6-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.0.6-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyxpg-0.0.6-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c0a05ba7c7e4eb5461d9551001599697a46521a13c6d3eeb4de854f6e5c26250
MD5 97c4f842515b1ee0362b411ea7986ea5
BLAKE2b-256 249d66a3665181928a1f8cb1d4bceeb5f37a508246f2a94fd682c9b00b67123a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxpg-0.0.6-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.0.6-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyxpg-0.0.6-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 1ade99527a1626859257662a827cc0b0f22e2058b7e6753acf2c398dce383b2f
MD5 290abace3e5efdc511efeaf2eb5f6be9
BLAKE2b-256 77cce7637a3b2bc5f11bf5bd5d7e37384da51ae9ec2dbda39def1dbf1811529e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxpg-0.0.6-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.0.6-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyxpg-0.0.6-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ce98af802757a3b6924747780f473ecddac3115e8f48492b99fdae624de620ce
MD5 9590e1e4843eaee18cac59cac9785c0d
BLAKE2b-256 b76e1b5a6d23dda9b7ce5e1e0d0a9579631ee3e93769072231e96a08adcf2bc8

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxpg-0.0.6-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.0.6-cp38-cp38-win_amd64.whl.

File metadata

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

File hashes

Hashes for pyxpg-0.0.6-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 dd07210e40e43b12d42d92b6ce8229080979ce131b2f59fe18f670f90a6f6f0f
MD5 59ffd1e99801b07efa6d9a2031dc46e2
BLAKE2b-256 8f3b056e5a90ec04da9b3669d319bbd1b5c918ed63044277584f40ced92f32a8

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxpg-0.0.6-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.0.6-cp38-cp38-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pyxpg-0.0.6-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c357eff1a000e796d656cc64e45a1d021fdf2057414d5104095bc9753209372b
MD5 fa1920fb9c2f2216b04cb07d7c562f53
BLAKE2b-256 acfb657008be7298dfabcdec6370789b39652b4fb90acc9f124824b26a4a4f8b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxpg-0.0.6-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.0.6-cp38-cp38-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pyxpg-0.0.6-cp38-cp38-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 a68b35cd6cb14b9af0d38ff10a958925ca391b68b740c2b385187c83d7364542
MD5 c3597840524b22f7fd50df7adb9c02a1
BLAKE2b-256 8991b472dd096aa969f55df17674e77418931073553120e5c5c71eabecf2171f

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxpg-0.0.6-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.0.6-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyxpg-0.0.6-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3d4aab800b73b22e2bde32a031ad610ffc95e9e762e90120fcae31429efa3d0c
MD5 0b40f91402d07104240aa8e437101d38
BLAKE2b-256 af25f3a89087e6cdee2ccc181191f0d02ce0d20958a821bd5110146a04f7c3cc

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxpg-0.0.6-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.0.6-cp38-cp38-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyxpg-0.0.6-cp38-cp38-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 b8344f806e292f7fa90c00fdac77be43df7d3074e81bf91e6353c91063f36659
MD5 b7035af8d22eef8192fe48f0728970b4
BLAKE2b-256 e829eee9c286b82571d7c13a686fcede8873c992750191bad760e733b3d55055

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyxpg-0.0.6-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