Skip to main content

ModernGL: High performance rendering for Python 3

Project description

preview

ModernGL

ModernGL is a Python wrapper over OpenGL Core. ModernGL simplifies the creation of graphics applications like scientific simulations, games or user interfaces. Usually, acquiring in-depth knowledge of OpenGL requires a steep learning curve. In contrast, ModernGL is easy to learn and use. ModernGL is capable of rendering with high performance and quality, with less code written.

pip install moderngl

Extras

glcontext - Headless Context Creation

pip install moderngl[headless]

moderngl-window - Window Creation and Resource Loading

pip install moderngl-window

Features

  • GPU accelerated high quality graphics
  • Rendering modern OpenGL scenes with less headache
  • Simpler and faster than PyOpenGL
  • Can render without a window
  • 100% Pythonic

Sample usage

>>> import moderngl
>>> ctx = moderngl.get_context()
>>> buf = ctx.buffer(b"Hello World!")  # allocated on the GPU
>>> buf.read()
b'Hello World!'

For complete examples please visit the Examples.

Easy to use with Pillow

>>> img = Image.open("texture.jpg").convert("RGB")
>>> ctx.texture(img.size, 3, img.tobytes())
<Texture: 1>

Easy to use with Numpy

>>> ctx.buffer(np.array([0.0, 0.0, 1.0, 1.0], dtype="f4"))
<Buffer: 1>

Compared to PyOpenGL

With PyOpenGL, using the original OpenGL API, you have to write three lines to achieve a simple task like binding a VBO:

vbo1 = GL.glGenBuffers(1)
GL.glBindBuffer(GL.GL_ARRAY_BUFFER, vbo1)
GL.glBufferData(GL.GL_ARRAY_BUFFER, b"Hello World!", GL.GL_STATIC_DRAW)

vbo2 = GL.glGenBuffers(1)
GL.glBindBuffer(GL.GL_ARRAY_BUFFER, vbo2)
GL.glBufferData(GL.GL_ARRAY_BUFFER, None, GL.GL_DYNAMIC_DRAW)

With ModernGL you need just one simple line per VBO to achieve the same results:

vbo1 = ctx.buffer(b"Hello World!")
vbo2 = ctx.buffer(reserve=1024, dynamic=True)

Development

git clone git@github.com:moderngl/moderngl.git
cd moderngl
python -m pip install -e .

Using GLSL in ModernGL

GLSL (OpenGL Shading Language) is integral for shader programming using the ModernGL library. It allows developers to execute code on the GPU, enhancing graphics rendering performance. This concise introduction covers the core concepts necessary for starting with GLSL in ModernGL.

Data Types

GLSL offers standard data types similar to C, including int, float, double, and bool, as well as graphics-specific types like vectors (vec2, vec3, vec4) and matrices (mat2, mat3, mat4) for efficient graphics computations. Inputs and Outputs

  Attributes: Per-vertex data passed to the vertex shader. Commonly used for positions, normals, and texture coordinates.
  Varyings: Interpolated data passed from the vertex to the fragment shader, such as colors or texture coordinates.
  Output: Fragment shader's output, typically the color of the pixel (fragColor).

Uniforms

Uniforms are global variables declared in shaders, constant for all vertices or fragments for a single draw call. They're ideal for passing data from your application, like transformation matrices or material properties, to the shader. Shader Types

  Vertex Shader: Processes each vertex's attributes. It's the first stage in the shader pipeline, used for transformations and passing data to the fragment shader.
  Fragment Shader: Calculates the color of each pixel. It uses data interpolated from the vertex shader to apply textures, lighting, and color.
  Geometry Shader: Processes primitives (points, lines, triangles) formed by vertices from the vertex shader. It can add or remove vertices from the primitive.
  Tessellation Shaders: Control the tessellation of patches, allowing for smoother geometries at varying distances.
  Compute Shader: Handles general-purpose computing tasks not directly related to rendering images, like physics simulations or post-processing effects.

Example

glsl

// Vertex Shader
#version 330 core
in vec3 position;
uniform mat4 modelViewProjection;
void main() {
    gl_Position = modelViewProjection * vec4(position, 1.0);
}

// Fragment Shader
#version 330 core
out vec4 fragColor;
void main() {
    fragColor = vec4(1.0); // Set pixel color to white
}

This basic example demonstrates a vertex shader transforming vertex positions with a matrix and a fragment shader setting the color of each pixel to white.

Notes

ModernGL may be faster than other libraries providing direct OpenGL access. ModernGL is implemented in C++ and a single render call involving multiple OpenGL functions count as a single Python function call.

ModernGL require OpenGL 3.3. Compute Shaders require OpenGL 4.3. Some functionality relies on specific extensions.

ModernGL can be used anywhere where OpenGL is supported. ModernGL is also working in a headless environment.

ModernGL is responsible for calling the OpenGL API and providing a Pythonic user-friendly API instead. It is possible to integrate moderngl into any window libraries that support OpenGL. Consider moderngl-window which implements many of them, plus it also helps with resource loading.

ModernGL does not implement the full OpenGL feature set or extensions. You can interact with the ModernGL objects from OpenGL.

Citation

If you need to cite this repository in academic research:

@Online{Dombi2020,
  author = {Szabolcs Dombi},
  title = {ModernGL, high performance python bindings for OpenGL 3.3+},
  date = {2020-05-01},
  publisher = {GitHub},
  journal = {GitHub repository},
  howpublished = {\url{https://github.com/moderngl/moderngl}},
  commit = {<insert hash if needed>}
}

The commit hash can be found in the Releases.

Community

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

moderngl-5.12.0.tar.gz (193.2 kB view details)

Uploaded Source

Built Distributions

moderngl-5.12.0-cp313-cp313-win_amd64.whl (108.5 kB view details)

Uploaded CPython 3.13 Windows x86-64

moderngl-5.12.0-cp313-cp313-win32.whl (101.2 kB view details)

Uploaded CPython 3.13 Windows x86

moderngl-5.12.0-cp313-cp313-musllinux_1_2_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.13 musllinux: musl 1.2+ x86-64

moderngl-5.12.0-cp313-cp313-musllinux_1_2_i686.whl (1.3 MB view details)

Uploaded CPython 3.13 musllinux: musl 1.2+ i686

moderngl-5.12.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (296.2 kB view details)

Uploaded CPython 3.13 manylinux: glibc 2.17+ x86-64

moderngl-5.12.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (270.4 kB view details)

Uploaded CPython 3.13 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

moderngl-5.12.0-cp313-cp313-macosx_11_0_arm64.whl (109.4 kB view details)

Uploaded CPython 3.13 macOS 11.0+ ARM64

moderngl-5.12.0-cp313-cp313-macosx_10_13_x86_64.whl (112.1 kB view details)

Uploaded CPython 3.13 macOS 10.13+ x86-64

moderngl-5.12.0-cp312-cp312-win_amd64.whl (108.5 kB view details)

Uploaded CPython 3.12 Windows x86-64

moderngl-5.12.0-cp312-cp312-win32.whl (101.2 kB view details)

Uploaded CPython 3.12 Windows x86

moderngl-5.12.0-cp312-cp312-musllinux_1_2_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.12 musllinux: musl 1.2+ x86-64

moderngl-5.12.0-cp312-cp312-musllinux_1_2_i686.whl (1.3 MB view details)

Uploaded CPython 3.12 musllinux: musl 1.2+ i686

moderngl-5.12.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (296.4 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

moderngl-5.12.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (270.5 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

moderngl-5.12.0-cp312-cp312-macosx_11_0_arm64.whl (109.4 kB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

moderngl-5.12.0-cp312-cp312-macosx_10_13_x86_64.whl (112.1 kB view details)

Uploaded CPython 3.12 macOS 10.13+ x86-64

moderngl-5.12.0-cp311-cp311-win_amd64.whl (108.3 kB view details)

Uploaded CPython 3.11 Windows x86-64

moderngl-5.12.0-cp311-cp311-win32.whl (101.0 kB view details)

Uploaded CPython 3.11 Windows x86

moderngl-5.12.0-cp311-cp311-musllinux_1_2_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.2+ x86-64

moderngl-5.12.0-cp311-cp311-musllinux_1_2_i686.whl (1.3 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.2+ i686

moderngl-5.12.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (293.5 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

moderngl-5.12.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (267.3 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

moderngl-5.12.0-cp311-cp311-macosx_11_0_arm64.whl (109.2 kB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

moderngl-5.12.0-cp311-cp311-macosx_10_9_x86_64.whl (111.8 kB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

moderngl-5.12.0-cp310-cp310-win_amd64.whl (108.3 kB view details)

Uploaded CPython 3.10 Windows x86-64

moderngl-5.12.0-cp310-cp310-win32.whl (101.0 kB view details)

Uploaded CPython 3.10 Windows x86

moderngl-5.12.0-cp310-cp310-musllinux_1_2_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.2+ x86-64

moderngl-5.12.0-cp310-cp310-musllinux_1_2_i686.whl (1.3 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.2+ i686

moderngl-5.12.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (291.4 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

moderngl-5.12.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (265.4 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

moderngl-5.12.0-cp310-cp310-macosx_11_0_arm64.whl (109.2 kB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

moderngl-5.12.0-cp310-cp310-macosx_10_9_x86_64.whl (111.8 kB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

moderngl-5.12.0-cp39-cp39-win_amd64.whl (108.5 kB view details)

Uploaded CPython 3.9 Windows x86-64

moderngl-5.12.0-cp39-cp39-win32.whl (101.2 kB view details)

Uploaded CPython 3.9 Windows x86

moderngl-5.12.0-cp39-cp39-musllinux_1_2_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.2+ x86-64

moderngl-5.12.0-cp39-cp39-musllinux_1_2_i686.whl (1.3 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.2+ i686

moderngl-5.12.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (289.9 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

moderngl-5.12.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (264.3 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

moderngl-5.12.0-cp39-cp39-macosx_11_0_arm64.whl (109.2 kB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

moderngl-5.12.0-cp39-cp39-macosx_10_9_x86_64.whl (111.8 kB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

moderngl-5.12.0-cp38-cp38-win_amd64.whl (108.3 kB view details)

Uploaded CPython 3.8 Windows x86-64

moderngl-5.12.0-cp38-cp38-win32.whl (101.1 kB view details)

Uploaded CPython 3.8 Windows x86

moderngl-5.12.0-cp38-cp38-musllinux_1_2_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.8 musllinux: musl 1.2+ x86-64

moderngl-5.12.0-cp38-cp38-musllinux_1_2_i686.whl (1.3 MB view details)

Uploaded CPython 3.8 musllinux: musl 1.2+ i686

moderngl-5.12.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (294.1 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

moderngl-5.12.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (268.7 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

moderngl-5.12.0-cp38-cp38-macosx_11_0_arm64.whl (109.0 kB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

moderngl-5.12.0-cp38-cp38-macosx_10_9_x86_64.whl (111.6 kB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

File details

Details for the file moderngl-5.12.0.tar.gz.

File metadata

  • Download URL: moderngl-5.12.0.tar.gz
  • Upload date:
  • Size: 193.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.13.0

File hashes

Hashes for moderngl-5.12.0.tar.gz
Algorithm Hash digest
SHA256 52936a98ccb2f2e1d6e3cb18528b2919f6831e7e3f924e788b5873badce5129b
MD5 70293a6ef71485498d09707794b63321
BLAKE2b-256 da52540e2f8c45060bb2709f56eb5a44ae828dfcc97ccecb342c1a7deb467889

See more details on using hashes here.

File details

Details for the file moderngl-5.12.0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for moderngl-5.12.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 e34d1cd38f7998258f76a08bb5e87f351ec653b7ea1928b2711f8719c10cefd1
MD5 2f44417675db53248c8b9bed0dc7bd32
BLAKE2b-256 2c8b0a264732e0ee49fca109e98ec28f4d0c326ffc31466aa6e9668e8961aabb

See more details on using hashes here.

File details

Details for the file moderngl-5.12.0-cp313-cp313-win32.whl.

File metadata

  • Download URL: moderngl-5.12.0-cp313-cp313-win32.whl
  • Upload date:
  • Size: 101.2 kB
  • Tags: CPython 3.13, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.13.0

File hashes

Hashes for moderngl-5.12.0-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 caa432c12b138a6c9571719075c4d103bdc2504cd31aeda38a00ad10fcf268cb
MD5 a859258f46fc74dd64cd6803a12cf1ca
BLAKE2b-256 9f4ddc3ff763c125080e71b1095875f5dcc80949402019abc073bdfdbed1f4c2

See more details on using hashes here.

File details

Details for the file moderngl-5.12.0-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for moderngl-5.12.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d56827360c19e831e986243b5daaf6a51006f1ec0d5372084ad446308763d19f
MD5 2bcb8cc4e410ac43be72111f85e6bd80
BLAKE2b-256 b2ec6aff8fa267d9f80e4d32b7a606fdf9f0563103441a7dbaa4f53e272a4ada

See more details on using hashes here.

File details

Details for the file moderngl-5.12.0-cp313-cp313-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for moderngl-5.12.0-cp313-cp313-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 51971d65ec96a212a814350c8b324ae0754353e1b61826d1a06aa2d060df170e
MD5 53d2f7df25fd5f07faae1200ea8bbf95
BLAKE2b-256 2ea1bd72c788b16c2392d3e1ebb570e56d7f871eaa1854f57917c0f131acb365

See more details on using hashes here.

File details

Details for the file moderngl-5.12.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for moderngl-5.12.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 071042dd4846e58cbe204cf49341b62cd209fdcb6d48018feb5a61c66707fcb2
MD5 b13d5c086bf0a90012f722e10a261074
BLAKE2b-256 beaebda0b95878e2b36eac66f64d88c08e6c8ea759607f7d40e843a21c2f4f32

See more details on using hashes here.

File details

Details for the file moderngl-5.12.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for moderngl-5.12.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 91db8302ac7f5d7a82a967388677e1378ff078f1e16d05da37ce77f4633b93b1
MD5 0574a46da4adb7830369f8d50402706c
BLAKE2b-256 28bc93dc73251bcdb9c0f6f5c9a1d97ec2134672c307c68e6106948eab1f73d4

See more details on using hashes here.

File details

Details for the file moderngl-5.12.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for moderngl-5.12.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9b09d8d15b2eaab41c8646a664429ec86af225fa25096758497cd212489d2e1e
MD5 27badbd22521c8565ca4a8c7f547f445
BLAKE2b-256 a91f1d84bba5f42fb19ce240d08d5434fe8e2f34341e68bb9fa89336b6cbdcfc

See more details on using hashes here.

File details

Details for the file moderngl-5.12.0-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for moderngl-5.12.0-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 f6efb432f5164f871471d1da36e3a4be9dc3efd7a1e48d0ac6b751e556af5d02
MD5 965020f3c965158151738e04ffd7aaf4
BLAKE2b-256 3913cf493bdc3cb4f7a6b4fb357e683404dc8a97d19f53d501e4afdd679538e2

See more details on using hashes here.

File details

Details for the file moderngl-5.12.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for moderngl-5.12.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 8698a59ad03539a2982125b7998efc1c107ba31d5d03437b6fcd72cb2c226922
MD5 f79c59c05bb3e28cafe320d675fe398d
BLAKE2b-256 568535498b1821cf31c731b1882168db8924207ff3c06d8f0da53e1cc373a89d

See more details on using hashes here.

File details

Details for the file moderngl-5.12.0-cp312-cp312-win32.whl.

File metadata

  • Download URL: moderngl-5.12.0-cp312-cp312-win32.whl
  • Upload date:
  • Size: 101.2 kB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.13.0

File hashes

Hashes for moderngl-5.12.0-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 0a02fddd54dccee1ca6060bfed75a2e6a17dd3ee06920fac418506d8a8233849
MD5 6a0fdd89de0697ddf7705bc4c5886844
BLAKE2b-256 4fe80f3b3cd1be7b0a93f33dc613f76a42021d1393b4949c5b6a1ca2a01c6772

See more details on using hashes here.

File details

Details for the file moderngl-5.12.0-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for moderngl-5.12.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6fa667d560d842e778e2a5968305fb78f9781616a11b1b93acd2562f97262ccf
MD5 abec639c162c36d202d1bfd98b18585b
BLAKE2b-256 8c6f7b3587e7e3ae633b8c85038f035dfeb348ebf805de4beb01241c59c6b97c

See more details on using hashes here.

File details

Details for the file moderngl-5.12.0-cp312-cp312-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for moderngl-5.12.0-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 2f3d240e9bc5d83257378bae59f8f35638b89d22bb003cf674b88fd7932161ce
MD5 6f74ffeaa7d5f752383d8d92866d19de
BLAKE2b-256 17f4313dc301db936b231035b961e004f1914c2954bdcdf4985e24bff15e7ed5

See more details on using hashes here.

File details

Details for the file moderngl-5.12.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for moderngl-5.12.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b6c4972f3ddd10a3de6c30311da2c25bc493d023796e16c5d4e0f8bd6d5770be
MD5 5ef99b4d2ba5ad15092114f4c0aec89a
BLAKE2b-256 d796bcb5141eae24474d80b8157b0c3055d25fa75f9804d4abb4a514695bbba9

See more details on using hashes here.

File details

Details for the file moderngl-5.12.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for moderngl-5.12.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 a4d497ec6a3f6afa9ebd0be816d9bfe2fe20fec2105acfb88d956619c3ed8eb4
MD5 e9a16c102c6352470e5675c574e15777
BLAKE2b-256 b879a9998ddf6757f4f15888b0a106d80a64a8c8991a8ce5c14047830704b9e6

See more details on using hashes here.

File details

Details for the file moderngl-5.12.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for moderngl-5.12.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c5c2a5fe06c7021183d9274df798f25516409c8d55898c324dae8a0b2de10144
MD5 1c7f4faeab4ca5f48057084fd462a787
BLAKE2b-256 84b27229a89a40d33a95119a7c64c7ee36a6a6e376c57c39fb577ea513602f37

See more details on using hashes here.

File details

Details for the file moderngl-5.12.0-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for moderngl-5.12.0-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 2750547707c1ec3790dfbeb9c90fb808672ff13f61cac392c706ba09fda10db0
MD5 bd172681c56a6106b85a93ae5e41973b
BLAKE2b-256 3c6631161e81bc85ca3cdbb9d94f703f21575e4ae9a2919e9d1af98fc7fdb1ba

See more details on using hashes here.

File details

Details for the file moderngl-5.12.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for moderngl-5.12.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 0c210e8d52a60025f6586ca015c39feb1e57e6dc792c3ff44800f6493a541b1a
MD5 0394a15f9179aee007975bfffca4c446
BLAKE2b-256 7f085f615a4605d343cd5c1112d2b175270e6a5586008bc10a85b822c340cf86

See more details on using hashes here.

File details

Details for the file moderngl-5.12.0-cp311-cp311-win32.whl.

File metadata

  • Download URL: moderngl-5.12.0-cp311-cp311-win32.whl
  • Upload date:
  • Size: 101.0 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.13.0

File hashes

Hashes for moderngl-5.12.0-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 9fdb76f1fd890db67727c8cdee4db2ee6319068c7ce92be0308366f8745e28ab
MD5 60c361495edfb4ca978c5841dab546f7
BLAKE2b-256 6bdd74d300275fe4834e63b8d70450801f206d005f2047898d4eb2a30efc3913

See more details on using hashes here.

File details

Details for the file moderngl-5.12.0-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for moderngl-5.12.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 eaa3de9446c6febec4d5f888e6f1a4e9398bc5a5ea70b1570ea447213641d4a6
MD5 653f3fed75cb11ceca261fef0e232ef7
BLAKE2b-256 834211b0306e630d9a38b8bac20563b326f6d5fba4dfc45cc90b0666ed3e7141

See more details on using hashes here.

File details

Details for the file moderngl-5.12.0-cp311-cp311-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for moderngl-5.12.0-cp311-cp311-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 6f3bd2d534fc081cde30545b84ebca63aef847ba8bd533217b9a37f565614ade
MD5 d56d2f48f7fcf1ce4893a227c2caea14
BLAKE2b-256 610a87fb24f4cd2aa07150b84fbf400edf4d8a8f71784cbf064f1ed92b756fea

See more details on using hashes here.

File details

Details for the file moderngl-5.12.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for moderngl-5.12.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7fc0f8788bc84433d2124e9a4893adbe40f93c7d213abb8ad7b909540cb0161f
MD5 71b23f83ffa5fdd3fa973299ea9a373f
BLAKE2b-256 c2bbab371acacd2497bddb5f02b209e3bfae452b2be59d0cf8fa728a3b87de1f

See more details on using hashes here.

File details

Details for the file moderngl-5.12.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for moderngl-5.12.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 6efd3fe0d2c9652af21e2c1f5a936a2b971abac5bdd777da7182a54962466cab
MD5 8787e738021578508d4930f212f3bd72
BLAKE2b-256 0d9e7ebf2b98da310c90c2b295e91b6c25f864f0f5583ce86bee72d387cb577a

See more details on using hashes here.

File details

Details for the file moderngl-5.12.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for moderngl-5.12.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 dad93893e3fcb2410bfd31e854f20e1370b4fbafa07a737f1046f5fbd29ba0f4
MD5 e81ace08999492a8e7196f688895f729
BLAKE2b-256 00ef98f36133ab010ce9831b75a16e75a627c12a4c1d6ef2e353eca1769a1e09

See more details on using hashes here.

File details

Details for the file moderngl-5.12.0-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for moderngl-5.12.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 28cdba5dcf2d03c89bb25dc3b2f5770ac4104470ed5bbe680a15494fa52a537d
MD5 cb73e84362861233384e28e977e20587
BLAKE2b-256 a5ea569c2c08bfef84f4acf633a8e6d956f4f75cfaa8832d7d812dbf2ff6843a

See more details on using hashes here.

File details

Details for the file moderngl-5.12.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for moderngl-5.12.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 76d966194d51852f48c42a6e786a4520f1e1be5f93e2626423d673663422d559
MD5 a0fb2da66fa64a3b9fade9059a9b4f8d
BLAKE2b-256 9c6df9b77797d3a0f3e5b67a75092c6c63b26360042fd8e43be017c706e308a8

See more details on using hashes here.

File details

Details for the file moderngl-5.12.0-cp310-cp310-win32.whl.

File metadata

  • Download URL: moderngl-5.12.0-cp310-cp310-win32.whl
  • Upload date:
  • Size: 101.0 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.13.0

File hashes

Hashes for moderngl-5.12.0-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 3d066eae2eb44e81bd7addf565adebc041bdee119e7ac6e4f95831d6f327a938
MD5 16b229b4d4f7f707348417ae20c35aca
BLAKE2b-256 482fb590f86d42630fbbaffd83f1890ef6278ec12d5cb336b6a2efcbb3c2ca21

See more details on using hashes here.

File details

Details for the file moderngl-5.12.0-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for moderngl-5.12.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 edd91057b8d76beebac0d7b0c741466ee8f37eaf3c07856785c2872afe0b35ac
MD5 2d734dc2760039e58d27523d05d518da
BLAKE2b-256 b94b2e0b6d0e8a5273da93ed82c8eb91b54a37413b1b9d65bb223d67b595fc96

See more details on using hashes here.

File details

Details for the file moderngl-5.12.0-cp310-cp310-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for moderngl-5.12.0-cp310-cp310-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 00d94f9cb485d87c85088edad624201e152d8ac401793a024b16cd9e2bc4dbf6
MD5 4dbeab7fcdbc34554090964d5cda8720
BLAKE2b-256 3aae35f8f4c833aca90870110509dddad641f5adf9597da15b3c9e7c75db319f

See more details on using hashes here.

File details

Details for the file moderngl-5.12.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for moderngl-5.12.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8f0c4f7c42425177168938386a4fabd734ca3bbb5de2d1fd1176cfa6f980fc13
MD5 dbd6bee57d1d91e984685561394886df
BLAKE2b-256 e45ca6f2743c8ae1c95cd6531510bf76fa6be650a5e0a1dffdf138b5ed186f61

See more details on using hashes here.

File details

Details for the file moderngl-5.12.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for moderngl-5.12.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 878cdf593204d85c020305f21d306f979353a67c932b9df58ea936f6e5ad13e7
MD5 cd6ef8bf93077a1d8f26f38b2d69745a
BLAKE2b-256 2b2db6bfc4fe7df343a4f410030dbd8261566282049e56e9ffc3cbd2e626656e

See more details on using hashes here.

File details

Details for the file moderngl-5.12.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for moderngl-5.12.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 18deb8bebd0a4277d92c76dbedf8e4b4b68bf0a8a878404c6b26aed750890d3b
MD5 b029eec10a38ac325ef7d951f01765d9
BLAKE2b-256 9740272d38d9d096d591db08e4aa1c983a8ed34cd1717b6524a88539b0df4341

See more details on using hashes here.

File details

Details for the file moderngl-5.12.0-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for moderngl-5.12.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 105cdee2ee29a7e6ebbc76cf178941503656a185c6945933bc7ef395ba8e65a7
MD5 2872b1eeeb6854addc09bdb05303502d
BLAKE2b-256 5d4b988c5f4ef55bf0c62a0b63a4b32fe6d6dd755d12f5951e8fd56e8a30d3f6

See more details on using hashes here.

File details

Details for the file moderngl-5.12.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: moderngl-5.12.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 108.5 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.13.0

File hashes

Hashes for moderngl-5.12.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 e801cd0d35b4e3e99fc6a6f15eb193ce907bfa78127afa5825f1fad24c700c0e
MD5 a3b599faf5b5d3d17301d90b43ee08d8
BLAKE2b-256 b44b854009a4c37882e000b90e355684a091e97318e0336fdccd39d171013d14

See more details on using hashes here.

File details

Details for the file moderngl-5.12.0-cp39-cp39-win32.whl.

File metadata

  • Download URL: moderngl-5.12.0-cp39-cp39-win32.whl
  • Upload date:
  • Size: 101.2 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.13.0

File hashes

Hashes for moderngl-5.12.0-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 878f249505785cde8cc39d6016e62e74b46acbf3bb6d5a86341c86a7da7e7531
MD5 fb5ba435ef5b6119962db9461ab7cafc
BLAKE2b-256 6023a8227fb03fe21621f8443b394f6a84f37da7e30c874420a8219fa5c2205e

See more details on using hashes here.

File details

Details for the file moderngl-5.12.0-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for moderngl-5.12.0-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 13fec30855d346c4e69eff437e56f2bdd9953d22e80b7c5a319bccac7024e463
MD5 e2d58ef08469dfdce6876d2eb0ff5738
BLAKE2b-256 9251dc296c5d46846979ed1fe51651bbd5ec22e9192274c146bed69b0dd8ff6b

See more details on using hashes here.

File details

Details for the file moderngl-5.12.0-cp39-cp39-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for moderngl-5.12.0-cp39-cp39-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 3c6b4342b7508d75744f1091868cf184cae0be85d37be858fba32eb20d799695
MD5 16746a1d6f46b2892a1eda984149cc96
BLAKE2b-256 2e9393d7fed4c110d4fee41557b1579980b42c3cd1ce093a2bb7634adac149e8

See more details on using hashes here.

File details

Details for the file moderngl-5.12.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for moderngl-5.12.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 28b9eb3574ffc6e303173ca0a419b63d8b12cd67f924289c02d127c4d17cdca5
MD5 19a5d49cef91db0aa572491223e41a7d
BLAKE2b-256 633e14f8bd1ffb01e922f31d6c7af9817d950a30b84af98b1a82659298b0b7fd

See more details on using hashes here.

File details

Details for the file moderngl-5.12.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for moderngl-5.12.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 6948237626f9f0d9f931faa3b123d53613d5723679bc70b8db2590924795203f
MD5 05e538210783d2957473c47c2af8f8bd
BLAKE2b-256 b92745d17a612cab85bcbe714c0d5a96fd2cb255cfd313f91427bedab411aac1

See more details on using hashes here.

File details

Details for the file moderngl-5.12.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for moderngl-5.12.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7146c6fec3b2d7e8d11fa2504046b186d396520c0c2f7ef3aed40d8456dbebfc
MD5 88937c50594043bba7e7e8ffb12e5ddf
BLAKE2b-256 055818774a3b249538deb361d078c7364e6e3af6da5d4e11df71a29c376ff44c

See more details on using hashes here.

File details

Details for the file moderngl-5.12.0-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for moderngl-5.12.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 49a6e27abafacef104c7ca336f6790f91c69617a1d752ead4a017b706d632b55
MD5 44553cffccbff703f8052a39ae127dbd
BLAKE2b-256 3c020a206f5db9e149d8978b71f6021e1d7286eea6c6903b821f416328ad187b

See more details on using hashes here.

File details

Details for the file moderngl-5.12.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: moderngl-5.12.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 108.3 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.13.0

File hashes

Hashes for moderngl-5.12.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 cbd822cf3707fe955cfd940ec68b900519e2c43a5ef8085de5b0c983b4142c8b
MD5 fe494544003878a6337efefd1ba7bbd8
BLAKE2b-256 4620bd14133e16e6d72e0ae1fa82f4aa840aa52e576f6a5b79936c69933cdaaf

See more details on using hashes here.

File details

Details for the file moderngl-5.12.0-cp38-cp38-win32.whl.

File metadata

  • Download URL: moderngl-5.12.0-cp38-cp38-win32.whl
  • Upload date:
  • Size: 101.1 kB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.13.0

File hashes

Hashes for moderngl-5.12.0-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 8dc1bacc24840e5bc562e79be65dc506d6c5a7d40ecac01a062f86d013c890af
MD5 9609027cb2d943acf0e88f25debec979
BLAKE2b-256 dde7bcf27ed77ffff45a230e99bee85de43eec28c48b994f452748c1be6d487f

See more details on using hashes here.

File details

Details for the file moderngl-5.12.0-cp38-cp38-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for moderngl-5.12.0-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 74e5b7df5614f3291d197139a888c967aa29c348e13ebd28ce2a55bf03baed3d
MD5 85f67f37808e5467d0132c4b2cf17bfb
BLAKE2b-256 15b53958ac4975d8fd54045c2699d64457627594a65060fe1fc297c8bfbdcb0f

See more details on using hashes here.

File details

Details for the file moderngl-5.12.0-cp38-cp38-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for moderngl-5.12.0-cp38-cp38-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 8b35c17d5497f19c524068f9337cbe5e0e0e5662150b12fa95618665130bbf16
MD5 dbb5d54be1871986e1c1b10bd41c4d69
BLAKE2b-256 bff21a6557b6694527a03675f3d1b343c18fefe665022e522c6bfc1acdd236a8

See more details on using hashes here.

File details

Details for the file moderngl-5.12.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for moderngl-5.12.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 726a025ab9822c295369a9ddb1bfaf4930f9645b7a958b74dfcd6a969d7052cf
MD5 13b975fb75e4d8d2aa7b78cab8d48746
BLAKE2b-256 6a8124fb9c49541826ce2023950a89d72711717920bee1bbe9d5360a93775864

See more details on using hashes here.

File details

Details for the file moderngl-5.12.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for moderngl-5.12.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 29a181bae8bde003016fee671b93c2faa3e1460033033e2a832ec9187aa73efb
MD5 e482f3f7eb00159eaea170ebb90dd9d7
BLAKE2b-256 b0bbf1fdba1b3d2ff1eded47250e962adec3d815d0966b7dfb19a4fa6d02ef09

See more details on using hashes here.

File details

Details for the file moderngl-5.12.0-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for moderngl-5.12.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 861aae4a38da0f5d82dc2d5ece0f0a6d799809c362343cd1a447ab840a68370f
MD5 d995b1bac03bf13dccf9da2917807c53
BLAKE2b-256 8a82736e624517bb669e0940eab0e94612576365ac92280af23f4657cebb92ee

See more details on using hashes here.

File details

Details for the file moderngl-5.12.0-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for moderngl-5.12.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b0712fcce0ebbee962f5e93628118aedcb568d56b5c59f2e9aac43ea57190219
MD5 dfaf93c296d4d80c4b41217938377c4a
BLAKE2b-256 d879bb4693f753f5e7e1a2ea58a56e94d70b1275fbde6d455f620631939c7ebf

See more details on using hashes here.

Supported by

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