Skip to main content

Pygame effects for 2D video game and arcade game

Project description

Pygame Shaders Library

*New Version 1.0.11

pip install PygameShader==1.0.11

Pygame Shader Project

PygameShader is a wrapper around the Pygame library, written in Python and Cython, designed to add advanced visual effects to multimedia applications, including 2D games, arcade games, and real-time image processing for video and camera feeds.

This library extends Pygame by enabling developers to apply shaders to sprite textures, surfaces, and the entire game display, significantly enhancing the visual experience with minimal performance overhead.

Internal Documentation

PygameShader does not include internal Sphinx documentation by default. However, you can access comprehensive documentation in English, French, and Spanish on the project's GitHub page. Detailed documentation can be found within the sphinx directory of the repository.

The HTML versions of the documentation are located in the following folders:

  • French: Sphinx/_build/html/fr
  • Spanish: Sphinx/_build/html/es
  • English (default): Sphinx/_build/html

Supported Image Formats

PygameShader supports multiple image formats, including BMP, GIF (non-animated), JPEG, and PNG. However, Pygame may not always be built with support for all formats. At a minimum, BMP is always available.

To check if additional image formats are supported, run:

import pygame
print(pygame.image.get_extended())  

If it returns True, then PNG, JPG, and GIF formats are also supported.

Performance & Optimization

Pygame Shader is optimized for real-time rendering at 60 FPS, particularly for games running at medium resolutions (1024x768). However, performance may vary depending on the complexity of the shader. Certain effects, like median filtering and predator vision, require multiple shaders to create composite effects, making them more computationally demanding. While most shaders will maintain smooth performance at medium resolutions, higher resolutions may impact frame rates—experimenting with different settings is recommended.

If you are using shaders primarily for sprite texturing and special effects, performance should remain extremely fast due to Cython-based optimizations. To maintain a high frame rate, it is advisable to keep sprite texture sizes within reasonable limits, such as 200x200 pixels, to avoid unnecessary processing overhead.

Features

  • Shader Effects: Enhance your game's visual appeal with advanced shading techniques.
  • Real-time Rendering: Apply effects to the entire game display at high frame rates.
  • Optimized for Speed: Efficient Cython implementation ensures smooth performance.
  • Sprite & Surface Customization: Modify textures and surfaces dynamically.

Pygame Shader provides powerful tools to improve the overall look and feel of your game, whether by enhancing sprite textures or applying full-screen visual effects.

License

The project is released under the GNU General Public License Version 3 (GPLv3).


GPU Shaders with CUPY & CUDA

Some scripts have been ported to the GPU using CUPY and CUDA raw kernels, allowing them to run on NVIDIA graphics cards with a compute capability of 3.0 or higher. Note that these shaders are compatible only with NVIDIA chipsets.

Requirements

To use the GPU shaders, you must have:

  • The CUPY library installed on your system.
  • The CUDA Toolkit installed. Supported versions include: v10.2, v11.0, v11.1, v11.2, v11.3, v11.4, v11.5, and v11.6.

For full installation instructions, please refer to the CUPY installation guide.

Experimental Status and Performance Considerations

The GPU shaders are still experimental. Their performance is constrained by PCI Express bandwidth due to the volume of data transferred from the CPU to the GPU, especially during real-time rendering.

For an example of real-time rendering of a pygame.Surface, check out the GPU_demo_ripple.py script in the Demo folder.

Comparison with GLSL

You may wonder how these shaders compare to GLSL (GL Shading Language). While GLSL undeniably outperforms CUPY and CUDA in raw graphics performance, CUDA leverages its highly parallelized architecture to accelerate algorithms originally designed for CPU architectures (in Python and Cython).

Shading Language vs. CUDA

  • GLSL (Shading Language): Primarily used for graphics rendering.
  • CUDA: Allows you to run compute shaders without relying on a graphics API and without being tied to a specific language. CUDA programs are compiled into PTX, NVIDIA's equivalent of x86 assembly for the GPU.

For further insights, check out this excellent post on GPU programming.

Usage in Python

To import the GPU shaders in your Python code, use:

from PygameShader.shader_gpu import *

Demo

In the PygameShader Demo directory

(press ESC to quit the demo) Some demos may require you to move the mouse in order to generate the effects.

C:\>python demo_fire.py
C:\>python demo_transition.py
C:\>python demo_wave.py

if cupy and CUDA are installed correctly on your system you can run the GPU shaders

C:\>python gpu_chromatic.py
C:\>python gpu_zoom.py
C:\>python gpu_wave.py

Installation from pip

Check the link for newest version https://pypi.org/project/PygameShader/

  • Available python build 3.6, 3.7, 3.8, 3.9, 3.10, 3.11 and source build
  • Compatible WINDOWS and LINUX for platform x86, x86_64
pip install PygameShader 
  • Checking the installed version (Imported module is case sensitive)
>>>from PygameShader.shader import __VERSION__
>>>__VERSION__

Installation from source code

Download the source code and decompress the Tar or zip file

  • Linux
tar -xvf source-1.0.8.tar.gz
cd PygameShader-1.0.8
python3 setup.py bdist_wheel
cd dist 
pip3 install PygameShader-xxxxxx 
  • Windows

Decompress the archive and enter PygameShader directory

python setup.py bdist_wheel 
cd dist
pip install PygameShader-xxxxxx

Building Cython & C code

When do you need to compile the cython code ?

Each time you are modifying any of the pyx files such as shader.pyx, shader.pxd, init.pxd or any external C code if applicable

  1. open a terminal window
  2. Go in the main project directory where (shader.pyx & shader.pxd files are located)
  3. run : C:\>python setup_shader.py build_ext --inplace --force

If you have to compile the code with a specific python version, make sure to reference the right python version in (python38 setup_shader.py build_ext --inplace)

If the compilation fail, refers to the requirement section and make sure Cython and a C-compiler are correctly install on your system.

  • A compiler such visual studio, MSVC, CGYWIN setup correctly on your system.
    • a C compiler for windows (Visual Studio, MinGW etc) install on your system and linked to your Windows environment. Note that some adjustment might be needed once a compiler is install on your system, refer to external documentation or tutorial in order to setup this process.e.g :

https://devblogs.microsoft.com/python/unable-to-find-vcvarsall-bat/

Edit the file config.py and check the variable OPENMP. You can enable or disable multi-processing

# Build the cython code with mutli-processing (OPENMP) 
OPENMP : bool = True

Save the change and build the cython code with the following instruction:

C:\PygameShader\PygameShader\python setup_shader.py build_ext --inplace --force

If the project build successfully, the compilation will end up with the following lines

Generating code
Finished generating code

If you have any compilation error(s) refer to the section Building cython code, make sure your system has the following program & libraries installed. Check also that the code is not running in a different thread.

  • Python > 3.6
  • numpy >= 1.18
  • pygame >=2.4.0
  • cython >=3.0.2
  • setuptools~=54.1.1
  • cupy >=9.6.0
  • A C compiler for windows (Visual Studio, MinGW etc)

OPENMP for Linux and Windows

The pip packages (including LINUX architectures i686 and x86_64), are build by default with multiprocessing for the CPU's shader. If you need to build the package without multiprocessing, you can change the flag OPENMP
in the setup.py file such as :

To build the package without multiprocessing (OPENMP=False)

in the config.py file

# True enable the multiprocessing
OPENMP : bool = True
OPENMP_PROC : str = "-fopenmp" 

Then compile the code (e.g : Version 1.0.8, 64-bit python3.7)

C:\PygameShader\python setup.py bdist_wheel 
cd dist
pip install PygameShader-1.0.8-cp37-cp37m-win_amd64.whl

The same variable OPENMP exist also in the setup_config.py file when building the Cython code

  • Building PygameShader package will automatically check and compile the source code, you do not need to build manually the Cython code.

Credit

Yoann Berenguer

Dependencies :

Python > 3.6
numpy >= 1.18
pygame >=2.4.0
cython >=3.0.2
setuptools~=54.1.1
*cupy >=9.6.0  

(*) Used for GPU shader (not compulsory during installation). In order to use the GPU shaders you would need to have a NVIDIA graphic card, CUDA and CUPY install sucessfully on your platform.

License :

GNU GENERAL PUBLIC LICENSE Version 3

Copyright (c) 2019 Yoann Berenguer

Copyright (C) 2007 Free Software Foundation, Inc. https://fsf.org/ Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.

Testing:

>>> import PygameShader
>>> from PygameShader.tests.test_shader import run_testsuite
>>> run_testsuite()

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

pygameshader-1.0.11.tar.gz (5.9 MB view details)

Uploaded Source

Built Distributions

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

pygameshader-1.0.11-cp313-cp313-win_amd64.whl (10.9 MB view details)

Uploaded CPython 3.13Windows x86-64

pygameshader-1.0.11-cp313-cp313-win32.whl (10.5 MB view details)

Uploaded CPython 3.13Windows x86

pygameshader-1.0.11-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (23.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

pygameshader-1.0.11-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl (22.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ i686

pygameshader-1.0.11-cp313-cp313-macosx_10_13_x86_64.whl (5.4 MB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

pygameshader-1.0.11-cp312-cp312-win_amd64.whl (10.9 MB view details)

Uploaded CPython 3.12Windows x86-64

pygameshader-1.0.11-cp312-cp312-win32.whl (10.5 MB view details)

Uploaded CPython 3.12Windows x86

pygameshader-1.0.11-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (23.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

pygameshader-1.0.11-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl (22.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ i686

pygameshader-1.0.11-cp312-cp312-macosx_10_9_x86_64.whl (5.4 MB view details)

Uploaded CPython 3.12macOS 10.9+ x86-64

pygameshader-1.0.11-cp311-cp311-win_amd64.whl (11.0 MB view details)

Uploaded CPython 3.11Windows x86-64

pygameshader-1.0.11-cp311-cp311-win32.whl (10.6 MB view details)

Uploaded CPython 3.11Windows x86

pygameshader-1.0.11-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (23.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

pygameshader-1.0.11-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (23.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ i686

pygameshader-1.0.11-cp311-cp311-macosx_10_9_x86_64.whl (5.5 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

pygameshader-1.0.11-cp310-cp310-win_amd64.whl (10.9 MB view details)

Uploaded CPython 3.10Windows x86-64

pygameshader-1.0.11-cp310-cp310-win32.whl (10.6 MB view details)

Uploaded CPython 3.10Windows x86

pygameshader-1.0.11-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (22.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

pygameshader-1.0.11-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (22.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ i686

pygameshader-1.0.11-cp310-cp310-macosx_10_9_x86_64.whl (5.5 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

pygameshader-1.0.11-cp39-cp39-win_amd64.whl (10.9 MB view details)

Uploaded CPython 3.9Windows x86-64

pygameshader-1.0.11-cp39-cp39-win32.whl (10.6 MB view details)

Uploaded CPython 3.9Windows x86

pygameshader-1.0.11-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (22.6 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

pygameshader-1.0.11-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (22.0 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ i686

pygameshader-1.0.11-cp39-cp39-macosx_10_9_x86_64.whl (5.5 MB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

pygameshader-1.0.11-cp38-cp38-win_amd64.whl (10.9 MB view details)

Uploaded CPython 3.8Windows x86-64

pygameshader-1.0.11-cp38-cp38-win32.whl (10.6 MB view details)

Uploaded CPython 3.8Windows x86

pygameshader-1.0.11-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (23.0 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

pygameshader-1.0.11-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (22.4 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ i686

pygameshader-1.0.11-cp38-cp38-macosx_10_9_x86_64.whl (5.5 MB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

pygameshader-1.0.11-cp37-cp37m-win_amd64.whl (11.0 MB view details)

Uploaded CPython 3.7mWindows x86-64

pygameshader-1.0.11-cp37-cp37m-win32.whl (10.6 MB view details)

Uploaded CPython 3.7mWindows x86

pygameshader-1.0.11-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (21.6 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

pygameshader-1.0.11-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl (20.8 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ i686

pygameshader-1.0.11-cp37-cp37m-macosx_10_9_x86_64.whl (5.4 MB view details)

Uploaded CPython 3.7mmacOS 10.9+ x86-64

pygameshader-1.0.11-cp36-cp36m-win_amd64.whl (11.0 MB view details)

Uploaded CPython 3.6mWindows x86-64

pygameshader-1.0.11-cp36-cp36m-win32.whl (10.6 MB view details)

Uploaded CPython 3.6mWindows x86

pygameshader-1.0.11-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (21.6 MB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.17+ x86-64

pygameshader-1.0.11-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl (20.8 MB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.17+ i686

pygameshader-1.0.11-cp36-cp36m-macosx_10_6_intel.whl (8.1 MB view details)

Uploaded CPython 3.6mmacOS 10.6+ Intel (x86-64, i386)

File details

Details for the file pygameshader-1.0.11.tar.gz.

File metadata

  • Download URL: pygameshader-1.0.11.tar.gz
  • Upload date:
  • Size: 5.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.2

File hashes

Hashes for pygameshader-1.0.11.tar.gz
Algorithm Hash digest
SHA256 6e7e820ebef6f1aec7a3c1c45e7af9444855321fe20406a1b9d6f358a0c8e325
MD5 f5705fc38e0889433b3c4f61161ba52e
BLAKE2b-256 212f467665f23cd9681332edcc0c7cefe3225f6a4b3fd0d2bee0f02feb3bc8a2

See more details on using hashes here.

File details

Details for the file pygameshader-1.0.11-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for pygameshader-1.0.11-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 d4af6457229abf2bc123a482c40d1bc45f13ba99ecfd96c9046c2016edf7d2e4
MD5 d884b4eb16b3033a8dff84b6c4e13e5b
BLAKE2b-256 b9d5c1a40f8c8137c93791d2e082b053bdd92aa00b7208dedaa3fe7b97fa66d4

See more details on using hashes here.

File details

Details for the file pygameshader-1.0.11-cp313-cp313-win32.whl.

File metadata

  • Download URL: pygameshader-1.0.11-cp313-cp313-win32.whl
  • Upload date:
  • Size: 10.5 MB
  • Tags: CPython 3.13, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.2

File hashes

Hashes for pygameshader-1.0.11-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 4fa528bef783ca1a3edaabdfe2365f3d746cdb55cce91bba6fdd15e0ddf8a82f
MD5 033a2224607eed1de7ac67cfecb6b973
BLAKE2b-256 7e2119c124bddbf4c29a99c2bed25e6b4828a2d65bebd359003d5d19737bb5d1

See more details on using hashes here.

File details

Details for the file pygameshader-1.0.11-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pygameshader-1.0.11-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bdc22dee82c8f8665fbf790b1aeeda6b152ece655431e9060c9e7f76123f95a6
MD5 ddf2684c400a1b4e4077507bb3fcd486
BLAKE2b-256 27e759c181682863ccc01a7d389a7bb20c8e5e856639d26bd997573e39aa4751

See more details on using hashes here.

File details

Details for the file pygameshader-1.0.11-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pygameshader-1.0.11-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 29e2e33e0dd47074ea6d3a32af1e94dabf65b9af0583487b509945fa5e3fe513
MD5 11b4208e186b2032eae6d70deb75c121
BLAKE2b-256 1d1b9a3cc3eba3388308d877189ad4204238b792ea7de2aa23a872a90ef6ab9c

See more details on using hashes here.

File details

Details for the file pygameshader-1.0.11-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for pygameshader-1.0.11-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 7639b09f565afd14c9442cb2812a1c8a94e91a9a1340fe7016562c71cc35beed
MD5 779324af2e91fcf788b40424b4ccc551
BLAKE2b-256 2479810cd2a5ddca0298806f277bf4c26e102d9b1b18472aa41e5e0ad8118071

See more details on using hashes here.

File details

Details for the file pygameshader-1.0.11-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for pygameshader-1.0.11-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 6f6ba7b6d7e6f20222fd90a8a6f23680cba4f326dcbfd0e558d42c8fc3744f95
MD5 74b3f002f1f0a2c598f7c4f1d88a77a0
BLAKE2b-256 03890a6af77ad34731d4dec54d901c33283017b11bc002cd53625cad1d5cd8f0

See more details on using hashes here.

File details

Details for the file pygameshader-1.0.11-cp312-cp312-win32.whl.

File metadata

  • Download URL: pygameshader-1.0.11-cp312-cp312-win32.whl
  • Upload date:
  • Size: 10.5 MB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.2

File hashes

Hashes for pygameshader-1.0.11-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 a4af906d3a9b42a0f0d85013e72ee4013d1532385bfa1078bdd9d019fc63c6fb
MD5 548197b2745834daf7cd3c7d7d9e0451
BLAKE2b-256 41542dbaaa0a4c331bafb4862f29c65adc3f34f1b1b8aa7247670e207df1c2cf

See more details on using hashes here.

File details

Details for the file pygameshader-1.0.11-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pygameshader-1.0.11-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 26a96a11e4125095f7e8fa9a11d438589a387c50d8161e4a1b72b9f54c6dd8af
MD5 da9361419d9b6342beacae07842a5e91
BLAKE2b-256 034be89fbb90937e9290ad298e206724353a1cb438208ec479d8e15a8574779e

See more details on using hashes here.

File details

Details for the file pygameshader-1.0.11-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pygameshader-1.0.11-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 e3ef981b37ef7f460feb8d4a1e54a26847bb7f2e23c36b998f2cb010fda80562
MD5 2f94c3eaba712267c815260a02d94469
BLAKE2b-256 6ac9bda4b569aaf167650b8e9197b1a9fbba69e8fca3f6188fe59e00f92e2447

See more details on using hashes here.

File details

Details for the file pygameshader-1.0.11-cp312-cp312-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pygameshader-1.0.11-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 3ec100478a8b3ad32e0cdb3a1224c2687d79ded7c0b6c166b765dd822b04a0c3
MD5 7e327a6e74850ab5b4bdf4f5f67d8028
BLAKE2b-256 5a6e2eb802d0f214ed38a40536310fe546affce23b48cd653f6a5b8f1fa1c240

See more details on using hashes here.

File details

Details for the file pygameshader-1.0.11-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for pygameshader-1.0.11-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 9e015defa6915000640832a0f47268383640db08e2a5e20527c14dbdf365eb5c
MD5 b1c8c5312cdcbd567f09fc113b4f4340
BLAKE2b-256 1480752f519d085c4793dbb18d95f8a5c0801a8ec65875f20173b0292e65780e

See more details on using hashes here.

File details

Details for the file pygameshader-1.0.11-cp311-cp311-win32.whl.

File metadata

  • Download URL: pygameshader-1.0.11-cp311-cp311-win32.whl
  • Upload date:
  • Size: 10.6 MB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.2

File hashes

Hashes for pygameshader-1.0.11-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 d5c84e639057a6c5e319f3df21d4e33477b677e72359729ffd82651083bca338
MD5 efc0632670bb49bf6bcfe42c0168df20
BLAKE2b-256 c73420232ed2c510e577caf48d65facda709d87fd3639e9bb65867692a52d8b1

See more details on using hashes here.

File details

Details for the file pygameshader-1.0.11-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pygameshader-1.0.11-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7775c2237244b127da1490baf887fec0b0d850f92cd555df324df1f6f9f2f4e5
MD5 3690ee451a91a1ebe936fc93298fa496
BLAKE2b-256 b618aac457cc0d25c5fc035f22776e74eaf1e598bf8efc7dab834e3afd65b923

See more details on using hashes here.

File details

Details for the file pygameshader-1.0.11-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pygameshader-1.0.11-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 33397a1f17c41bc98726be5b9f99591a888ce9a58896adeb796193a3c5ff573e
MD5 3236946cd6f44c39b5d25954282659bc
BLAKE2b-256 9697ba4dd78f167e7b6f10a067b56a2d12ce7847a815ac7e82caa7146a6bfe73

See more details on using hashes here.

File details

Details for the file pygameshader-1.0.11-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pygameshader-1.0.11-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 01622e77cbc1fabd9a0a004699a8ed05b6ae31b4264ab5fc2ac9d5b7b7c2c3d4
MD5 35d6a7b6b587254c3b4e549dcf2f9cac
BLAKE2b-256 e9845805304d2a2a8c4c797216da25147286e3b779c8d43df06dac5b1da7fc96

See more details on using hashes here.

File details

Details for the file pygameshader-1.0.11-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for pygameshader-1.0.11-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 feb9170eb7e53276affd03f2bf9525b63b92ec8b6cbad09e8558245db643ea58
MD5 00865551c05924b09cf8c50ea8d2559b
BLAKE2b-256 b358fa88e80506bf5a91def731972b543f1f0cd0decc4a752e8c207eeeba177f

See more details on using hashes here.

File details

Details for the file pygameshader-1.0.11-cp310-cp310-win32.whl.

File metadata

  • Download URL: pygameshader-1.0.11-cp310-cp310-win32.whl
  • Upload date:
  • Size: 10.6 MB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.2

File hashes

Hashes for pygameshader-1.0.11-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 f110a5bedfdd15517b4f31207470d672483321f5bdce7501723acff9c2301f3b
MD5 283fca822b20a6632f94c85b9f25238e
BLAKE2b-256 a4be9eaf4351a7a96ecc31ecc3cf176fa46ddb7ec592cfd22a7aebd7ad16d6e2

See more details on using hashes here.

File details

Details for the file pygameshader-1.0.11-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pygameshader-1.0.11-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bcae2301706424cd62ee0d572c17547eaf47b5066e79e2291a06ff52b3a87616
MD5 32cf6a62eda49fbab1e785e41dfdeda3
BLAKE2b-256 4b4ca9e3f7e777529f4b7002e0b8faec710fcb65eda8cae56e2653a0be9ff78b

See more details on using hashes here.

File details

Details for the file pygameshader-1.0.11-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pygameshader-1.0.11-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 fe427f6c34c63ef46a80ecf75b373343b312f53504cec3c1cbe433cdc8f13db6
MD5 0e2ac8ad893379c614e690e4752a0fb7
BLAKE2b-256 6961893b37936c23322a39f7fe2be2cf13cfc42b18b80f55a2c889b0d340b493

See more details on using hashes here.

File details

Details for the file pygameshader-1.0.11-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pygameshader-1.0.11-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 aa123549c61245a2107ad2b240c413e653522f0d82c280673dacdad3b8bff888
MD5 594ed83ec02e54852f5e79f5543ecf26
BLAKE2b-256 cbd104b48b4ab33e7474222ca36c2bc341b6b7934acb9f472e44403f6b00a193

See more details on using hashes here.

File details

Details for the file pygameshader-1.0.11-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for pygameshader-1.0.11-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 ded72501f20fb14f62f828e93ec14d7b2c11a7599b55e004342812831fbd3d32
MD5 1ba1cf5590ae4179999ab4e1a6bc94ef
BLAKE2b-256 731ce560a75882572fac37df6d33e68373c2e3bffb4ea19d78464460f7849cda

See more details on using hashes here.

File details

Details for the file pygameshader-1.0.11-cp39-cp39-win32.whl.

File metadata

  • Download URL: pygameshader-1.0.11-cp39-cp39-win32.whl
  • Upload date:
  • Size: 10.6 MB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.2

File hashes

Hashes for pygameshader-1.0.11-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 8b202af824eaea0f7eacb5272b418750d0d7aee11686d2642660a1cfdf696450
MD5 559295bc7969f5e9109bbfe95589e1d5
BLAKE2b-256 be160752830e5d9aec8ae0d8dbc8cb9cc92dbb7a92fd2883b1fd1bbfe68b025b

See more details on using hashes here.

File details

Details for the file pygameshader-1.0.11-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pygameshader-1.0.11-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b3de45d4641f5074fc5a22e8ce65dd899f4644acc6b3767bef845dd2a9e570a7
MD5 0355714e6a7f6b30b62d578a415b05dd
BLAKE2b-256 119c2af2865bed9a04061b0f4d569406156a049a228e7c18defce46a3ec4de67

See more details on using hashes here.

File details

Details for the file pygameshader-1.0.11-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pygameshader-1.0.11-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 9fc04d640e10190c1f96d9bf5fa9453454e07eb27a50ab7060d974fba8e0c0c1
MD5 566525e9afcca56e96c6d100d0f7d85b
BLAKE2b-256 f9f7a38e074291812f3e804219f52b7326ea7fb2d1e1aad3ce538327a53fba3f

See more details on using hashes here.

File details

Details for the file pygameshader-1.0.11-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pygameshader-1.0.11-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 9ef5460c92f3ef25305c2e887e4d7817d49f172b1d1f8a3396fab91afdd8c75f
MD5 0dc6064dc6c45c3f4733ce1f4b28aeea
BLAKE2b-256 92634ee5e2dbae816c79a3f4212d7745e4da42c2fdbc409d0171a1ca01074e20

See more details on using hashes here.

File details

Details for the file pygameshader-1.0.11-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for pygameshader-1.0.11-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 a41c86b59707e40629d68a91ad6885aa0519eae8dd3f7ed826b0fac9fc2c3cb8
MD5 e8ba55e56bcf29323131d3f66c8e6f62
BLAKE2b-256 0c9d686b6ffeeff0796cdc6e1fa8ed18ad00f26932ae2a5ecd1314fb4fbc8c4c

See more details on using hashes here.

File details

Details for the file pygameshader-1.0.11-cp38-cp38-win32.whl.

File metadata

  • Download URL: pygameshader-1.0.11-cp38-cp38-win32.whl
  • Upload date:
  • Size: 10.6 MB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.2

File hashes

Hashes for pygameshader-1.0.11-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 439101618f7206fe79cb10262d81e25fa3e649d467d2e1e91ecaeffa3c7ed422
MD5 31c0fe0b8e68a4da9a2f1037c1da0baa
BLAKE2b-256 2771d34dc9740910cb9ca4ea9f2a0f82ff4c720162a1185d741a4ec2e5e7c73e

See more details on using hashes here.

File details

Details for the file pygameshader-1.0.11-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pygameshader-1.0.11-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0888b96b747081963c2120c45dd8b0c276dc796302f1a122b1cdc4a7d4049fc5
MD5 35caeab5d397d756e04e4ea297b5c46b
BLAKE2b-256 ed8ebe90569341e3a3c8b342ddb6653606d36feedb4a1cdc242f4e0c7a268f36

See more details on using hashes here.

File details

Details for the file pygameshader-1.0.11-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pygameshader-1.0.11-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 6e88f67dc87be174e63e06b5f90a8545f16d33ecf47591b14319b4ea5ff61c72
MD5 4731b15c2330437c16373a533fb785f8
BLAKE2b-256 d1267fa5efe2819187e9dd7ab3393f310f2ad428cd9889cd3fef73a2dac549fa

See more details on using hashes here.

File details

Details for the file pygameshader-1.0.11-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pygameshader-1.0.11-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c0ee9383bd32d1ba79263f47234ec075c83042cddd79cfe22da61b3437069473
MD5 5792b3542827d7b6b988e85e4f98c68f
BLAKE2b-256 eae402400cbcf820c5aa89c9e1e4ba30a70a452ed0224c6e185bc15ee146e86a

See more details on using hashes here.

File details

Details for the file pygameshader-1.0.11-cp37-cp37m-win_amd64.whl.

File metadata

File hashes

Hashes for pygameshader-1.0.11-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 09fd9f7cdadfd90ce0c86ce583958eeb21c2d180aa209874685467ac442a73d1
MD5 b8bcba158ffc328f1138a17c60b8d329
BLAKE2b-256 9a9fbea8e942605408d7002a0e7c691846b2a058c22cb72f8d2f3fb5a8a855c3

See more details on using hashes here.

File details

Details for the file pygameshader-1.0.11-cp37-cp37m-win32.whl.

File metadata

  • Download URL: pygameshader-1.0.11-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 10.6 MB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.2

File hashes

Hashes for pygameshader-1.0.11-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 fe7f6ffeb56bc4f32fbe021a794f43210360a85a62fb6137a3491a5fabc7d224
MD5 74daa0efeb6b4836dcd6070f7ddc7ff3
BLAKE2b-256 01f44c8648d00402d9901a617a2e7b6fa2f2f3a274d069c1d7f39eca36a84ef7

See more details on using hashes here.

File details

Details for the file pygameshader-1.0.11-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pygameshader-1.0.11-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 88652909d502c330e8381e27eaeee831b9d7706e13d22c95260bdbdaba870919
MD5 215b649a78e3286d104da3f52cad45df
BLAKE2b-256 048f10534cc424582b04cfc180c9804ffa371797662cd235d1702afb515c0e9b

See more details on using hashes here.

File details

Details for the file pygameshader-1.0.11-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pygameshader-1.0.11-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 5bbc57f375b08d4df696d00b49176894816ae37baf250e561ea6042a57b8b65b
MD5 da12102d6a8e26bd28068184ba99968c
BLAKE2b-256 b499ed49ba42db3926ad059adf8b2ee402a6a69f6804ac68ecf596bcebd7d4d7

See more details on using hashes here.

File details

Details for the file pygameshader-1.0.11-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pygameshader-1.0.11-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 77586f1d898226b8fc83cd8acc782e1774d9cc3e408518d22d2444f3a79c4653
MD5 12eef3e5cd02474a681cb6beedd3553f
BLAKE2b-256 681d141330ce7506973d4b7e328d53c29a7872e1f2f650cf804d9b5ba952ec15

See more details on using hashes here.

File details

Details for the file pygameshader-1.0.11-cp36-cp36m-win_amd64.whl.

File metadata

File hashes

Hashes for pygameshader-1.0.11-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 0a26425fdd0e122d7767721db19afcb5d5d27aae86747d4018e567864b31c45b
MD5 eb4aec37a9511b1554cc766462efaa4c
BLAKE2b-256 f6e339dfdc6a9dca7512aaf9e4328d822401105ed655c8b524432d4f3e4631a4

See more details on using hashes here.

File details

Details for the file pygameshader-1.0.11-cp36-cp36m-win32.whl.

File metadata

  • Download URL: pygameshader-1.0.11-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 10.6 MB
  • Tags: CPython 3.6m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.2

File hashes

Hashes for pygameshader-1.0.11-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 d606364b8653d631c3cd6660e6e84c0dbc99f44293eb97febb3da61623a5afea
MD5 68aa5f031d6a4ae39943b721fe06985d
BLAKE2b-256 96ee3a2f277eb0a52d4a5c58110ddcb49166db17f5624b08bec1e6ba508cf853

See more details on using hashes here.

File details

Details for the file pygameshader-1.0.11-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pygameshader-1.0.11-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4e858fb57871a1f930dc71cebdd2eab77ed888a0d744ec545e17848df60a7b9d
MD5 cdaef97973435ad62a4591680f14206e
BLAKE2b-256 cf044bfddb10f9e4abf1f5e71fdb102f4927205be6abbfe03e5dc6032cbaff92

See more details on using hashes here.

File details

Details for the file pygameshader-1.0.11-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pygameshader-1.0.11-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 78078e5f1e7ec4d3247d7ac2ac1474451abb4919b1a3edcfc1ad6ac2b2c5bc91
MD5 653f5d7952ed67c77543bd0d1a7ffe65
BLAKE2b-256 780692885251a0fff11e97327513b4035cabe6910b7ee813e5fa3dbea25dadbd

See more details on using hashes here.

File details

Details for the file pygameshader-1.0.11-cp36-cp36m-macosx_10_6_intel.whl.

File metadata

File hashes

Hashes for pygameshader-1.0.11-cp36-cp36m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 5136bb6e43297d00eb1df907099fc398fc11982cfbaf9ce376abebf9ec9f76a3
MD5 1a231d59ed7ef7215c3a741aa96c84dc
BLAKE2b-256 d6692e3ecf818fa61e8dd36a11c2873c8ce40bd482bc8137574fc03ccf4fc329

See more details on using hashes here.

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