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.

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

Uploaded CPython 3.12+Windows x86-64

pyxpg-0.0.7-cp312-abi3-musllinux_1_2_x86_64.whl (11.0 MB view details)

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

pyxpg-0.0.7-cp312-abi3-musllinux_1_2_aarch64.whl (10.7 MB view details)

Uploaded CPython 3.12+musllinux: musl 1.2+ ARM64

pyxpg-0.0.7-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.7-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.7-cp312-abi3-macosx_11_0_arm64.whl (9.3 MB view details)

Uploaded CPython 3.12+macOS 11.0+ ARM64

pyxpg-0.0.7-cp311-cp311-win_amd64.whl (7.9 MB view details)

Uploaded CPython 3.11Windows x86-64

pyxpg-0.0.7-cp311-cp311-musllinux_1_2_x86_64.whl (11.0 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

pyxpg-0.0.7-cp311-cp311-musllinux_1_2_aarch64.whl (10.7 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

pyxpg-0.0.7-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.7-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.7-cp311-cp311-macosx_11_0_arm64.whl (9.3 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pyxpg-0.0.7-cp310-cp310-win_amd64.whl (7.9 MB view details)

Uploaded CPython 3.10Windows x86-64

pyxpg-0.0.7-cp310-cp310-musllinux_1_2_x86_64.whl (11.0 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

pyxpg-0.0.7-cp310-cp310-musllinux_1_2_aarch64.whl (10.7 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

pyxpg-0.0.7-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.7-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.7-cp310-cp310-macosx_11_0_arm64.whl (9.3 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

pyxpg-0.0.7-cp39-cp39-win_amd64.whl (7.9 MB view details)

Uploaded CPython 3.9Windows x86-64

pyxpg-0.0.7-cp39-cp39-musllinux_1_2_x86_64.whl (11.0 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

pyxpg-0.0.7-cp39-cp39-musllinux_1_2_aarch64.whl (10.7 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ ARM64

pyxpg-0.0.7-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.7-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.7-cp39-cp39-macosx_11_0_arm64.whl (9.3 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

pyxpg-0.0.7-cp38-cp38-win_amd64.whl (7.9 MB view details)

Uploaded CPython 3.8Windows x86-64

pyxpg-0.0.7-cp38-cp38-musllinux_1_2_x86_64.whl (11.0 MB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ x86-64

pyxpg-0.0.7-cp38-cp38-musllinux_1_2_aarch64.whl (10.7 MB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ ARM64

pyxpg-0.0.7-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.7-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.7.tar.gz.

File metadata

  • Download URL: pyxpg-0.0.7.tar.gz
  • Upload date:
  • Size: 53.6 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.7.tar.gz
Algorithm Hash digest
SHA256 431486bfcfeed7ff344b5429bddd5e095ea95fa62d54f68489d1a0ab7f09667e
MD5 2a24df615d5dea5a136a2e54ffb13860
BLAKE2b-256 2df37ae1714188c178e324ce90feaa48e57a6ba9feddf81bcdbb5e30f0477168

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: pyxpg-0.0.7-cp312-abi3-win_amd64.whl
  • Upload date:
  • Size: 7.9 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.7-cp312-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 210eb64b31cf31963486df075f6027eca9126891da3455b4642d7b572328c38f
MD5 d3b43222d7d3ec738ec785eb2f75f347
BLAKE2b-256 e05bc8070fcae5e78f1319006052dbd208c991f1450104a809671c507ab94535

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxpg-0.0.7-cp312-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 965be758607c141c75e4b04bc140061b56858fd709708d689cad0189802faa1b
MD5 63cd7daeb9e398faab3f5a3229237139
BLAKE2b-256 b8dc4649f8297b8f748a91caf9aeaebbe3649f87db7f71b2f0203903814214f7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxpg-0.0.7-cp312-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 4b45d409677372450bfa48819de1c2d1f7cc0772ba9b1e6ac1dd8a5f9251571c
MD5 6fb753d73845777e4026a5f43e9faffd
BLAKE2b-256 69dde82762da55389b3f008354f481a3c731e4bfcbca8fe608a3c1afb78ab212

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxpg-0.0.7-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9130360e69254f1581de5e6a5d2613d225162f94ed6341d5b884d4ea50dab4c4
MD5 e221f6b9e9d73daacea907a11f6c1e79
BLAKE2b-256 97bd16ec65e2e7e51cec0af676840b4944033a5360d522b4deff4be89d64ced9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxpg-0.0.7-cp312-abi3-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ee6bc288124321b6da8bb8d73bb24137f8f0e18fff8672aa729a0390892985b5
MD5 373f7aba93b55aea3f6f4804f019976c
BLAKE2b-256 b87ff18a5aa77dae492fd9e78e8d159b7aa93eacb4b92a0acf1aab7626f02483

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxpg-0.0.7-cp312-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 96bc53ccbf8e790e163c88111788c0df187c20fe408fff12a10382bfe970a21a
MD5 e363f50878404c7087b9ae1c3070b24c
BLAKE2b-256 8d7e93329a0877b391d1b927a3dcf57a5a5f919a3a06c9dec3733cfacef2980b

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: pyxpg-0.0.7-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 7.9 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.7-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 37cb16116dc947d04fda0e4b180604ca69b13cb5699a31465abeaa12446d96b4
MD5 fa8f0154158ce0d26b2f3a8ca50242a2
BLAKE2b-256 acc8a105f75a24608c1a7a58fb5c091eef79fc167e3d1d289aa142cc4342a5df

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxpg-0.0.7-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d5e6d0bee4cd413967b661646188be2b1a4892c2ba49c51b5365bfd1e8abf719
MD5 5e58b5b9d3bb0be2598022db058d53d7
BLAKE2b-256 86a9a649e8b6b27b39188b6e2814e9f1daad1dc91399b03d031e67232fc2efc8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxpg-0.0.7-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 fb1c6dd9c278af2937c1767dfb9f0fdc549e88ef94cb462e64a22870624babb0
MD5 7af8c1240baf0814f7c363f5ff6e7e37
BLAKE2b-256 f63333db6c30b90d806265f96b964a2449167bd5acd59e5afea8e863a8404869

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxpg-0.0.7-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 babb20f55507270a1c3654b217fe7f336ab0e58a602bb1847bb895c0e65f9e51
MD5 479efbbb55c9c45e77fac772368525ea
BLAKE2b-256 9d260c277b59a386cc8610808a9a528c6c584dc3932055dae085d6e549563131

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxpg-0.0.7-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 6d679d5d6348d910021fad50cda498637249cbb3577f1e1a0cf11a8a092b7448
MD5 c73af3727c61f3de24589c991a2faaf6
BLAKE2b-256 49e40d966325bab3d8105bbe2f9ea42baf939bf0785011225c8668af34e3656a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxpg-0.0.7-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 98062c4ce265828ec67799e2901dcff186e0b1f78b9dff68c94a4ca72861c74a
MD5 7f5dc1d82f0aa72c7c5072f1decde81c
BLAKE2b-256 75618c0b58a30082a161347851c428e7e658a62aca65c915e4bcf016593fd15d

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: pyxpg-0.0.7-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 7.9 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.7-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 86e5d79db2c4070abd5fc75dc97427227a3a926eebea72d5a79380ccc779a140
MD5 c826b1f5b86375505d18d62e821c3091
BLAKE2b-256 d9c75022faf7356a2805c99c23c9bec718cf6a6a9970c850c3907e8df7f4bb46

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxpg-0.0.7-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 933a4e7ffc6244a4fec20e73603b99dcf0d7476f6476f2e510c97f0b934b30de
MD5 2801f0aabcb6bcf43a78221fb0c4f96f
BLAKE2b-256 b4f59c84ca456da328f5696a8d01f9795e4e1978df9af5303e9a5fcf3add7074

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxpg-0.0.7-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 e6a6bee4957e5913578f8dbf19ebebb12f96bf316e78fc8137a4cfd17ffb8c5f
MD5 e6f9e47bdf21b49251e0dffe7d68611b
BLAKE2b-256 7500d61f4f618e25845a0a6b73504f349584be478468ca27ad3d6a2694bc8bdb

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxpg-0.0.7-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c4789c71d59cf27091614c11830b84160392bde21bc8bfc12e38a4deb9574853
MD5 bba72fac52fb343176a1a89f1b77ed7c
BLAKE2b-256 32e7acb33dd223732c25939a88186055f4a89b731c3241cb6448497df8683627

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxpg-0.0.7-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ea76b9483bcb199749fe1c2d10613c2fee49e5749cd429405371fd2bde71f10d
MD5 a52df2019e60d394fab40526f2bd032b
BLAKE2b-256 7e48f06838c33c76a961e0582b8ef9c595227c56aede4e61082ad9f7b129dba6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxpg-0.0.7-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b198fb16956953cd161d216bd651c794a29156eea51166c0f4f3491b0f7da998
MD5 bc538d7d851fde7aef225aa9cdebb77c
BLAKE2b-256 b13e7c63261052325b9c419405876c25b94c1dd13c80fc5988c58d77bb3e19fa

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: pyxpg-0.0.7-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 7.9 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.7-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 1047b51b62ed905920ede7cd7001f30173965b0f199e943c015bd5ac01978b91
MD5 64c3e6ae4fa58904f44cd895ad43c022
BLAKE2b-256 0520d994ee65cb09e2e1a84676d0790fb92d0c9d465af410e3b4d2900e07fe08

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxpg-0.0.7-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d8694bed5e3c93e58845a36862ea544ed1f71d372187745d1d864548436f5ab3
MD5 5fe90e20bc4353774fda9ea1a368d16a
BLAKE2b-256 df7cf57ea8bda2460fb78ac2003c277b5eafb4bfb43ec72b4c5b3226d97c05cb

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxpg-0.0.7-cp39-cp39-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 43c1bd301008444a55b790f3c77af8040bfaed78f2c9b7d588baaaacc854bb36
MD5 814445a2e562c060397f1e98633b95fe
BLAKE2b-256 124131a56d1ede98ce660db79b472cbb7047f59b810baafe205c1f976d9f0602

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxpg-0.0.7-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1c1affbe984a4332526fc91bc52594a98f48406ece30c2be1cf9f49cb3eff0fc
MD5 b440b3ee757f089ea00ff69cef895e67
BLAKE2b-256 3992f53cbfcafc22cee2cf3e9f98068f5103fed80685b2ac765e16be2c71b276

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxpg-0.0.7-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 abd59c64a6f0a5819276115031002704eef5b6e03206dba9d235b97268c93808
MD5 b8b4b9cf418f0afe2832fc60de7bdd0c
BLAKE2b-256 3cf67988c7f29b3e3e524649ebf2fe41ccb245dd16ae982d363471a7594c53a6

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for pyxpg-0.0.7-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 16e00e35b452d0604ad884b34ea5a7372cf7a442f32249718b548dc9441fa303
MD5 6a79f5842135416fab2f1d68639cff5d
BLAKE2b-256 a94fdf54c6ee9f9fb382df559c2966b43f0608edd40d1483088bb7551f5c2379

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: pyxpg-0.0.7-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 7.9 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.7-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 e1b536f9a8679134f15c786be908a6b940794234b3106c2188daeb6adc7b255b
MD5 112b19abbb1f37b63e630c0e6f051cc5
BLAKE2b-256 d2232b4cce4b51fdab6e7536adb0b92d5aab4f6c649c364716e0388a8c71c49f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxpg-0.0.7-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c67ee5947158d352e7c921e0ed30cecae5e51ef7cce269dac37a990f299346c4
MD5 4ae01187090f6fbc80e8bc4163a5ef80
BLAKE2b-256 f31fa7b721c511045d84f715f329b7e0e00c359917f1267b51020ac9deeb4b41

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxpg-0.0.7-cp38-cp38-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 245b61e951b0030a274efdd892388089d4e46e0d7ca204a27e7de8b3048f7a65
MD5 a534c5349366a0f9a67267c1698db478
BLAKE2b-256 3e926df6fe3404db569c73737aba021a450f45bed06ccd590ea04aab502eabec

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxpg-0.0.7-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1f48a91b68276970bd2c0a3a9d02acbfdc7249c23876ad1b1abf4917aa70e664
MD5 3d65cea0b873786d7502085d2f2174dd
BLAKE2b-256 c387f18de5f61ec4993e7b32c7191b8c381844653434d46bdbf4a56744fe4dfe

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyxpg-0.0.7-cp38-cp38-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 13c43238149e784af9219f1424359903a9a9e4214df6fc1bef5c83b848f20cbc
MD5 715fe352c22020fa6e6253116e7f757e
BLAKE2b-256 d7ac1c02b6215fd1deab612210bf64b73c271673912ea56a07e0ccd42f7f787c

See more details on using hashes here.

Provenance

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