Skip to main content

OpenGL Pipelines for Python

Project description

ZenGL

pip install zengl

ZenGL

ZenGL is a low level graphics library. Works on all platforms including the browser.

Description

  • Context is the root object to access OpenGL
  • Image is an OpenGL Texture or Renderbuffer
  • Buffer is an OpenGL Buffer
  • Pipeline is an OpenGL Program + Vertex Array + Framebuffer + complete state for rendering
ctx = zengl.context()
texture = ctx.image(size, 'rgba8unorm', pixels)
renderbuffer = ctx.image(size, 'rgba8unorm', samples=4)
vertex_buffer = ctx.buffer(vertices)
pipeline = ctx.pipeline(...)

The complete OpenGL state is encapsulated by the Pipeline.

Rendering with multiple pipelines guarantees proper state with minimal changes and api calls.

background.render()
scene.render()
particles.render()
bloom.render()

Pipelines render to framebuffers, Images can be blit to the screen.

# init time
pipeline = ctx.pipeline(
    framebuffer=[image, depth],
)
# per frame
image.clear()
depth.clear()
pipeline.render()
image.blit()

Programs are simple, easy, and cached. Unique shader sources are only compiled once.

pipeline = ctx.pipeline(
    vertex_shader='''
        #version 330 core

        void main() {
            gl_Position = ...
        }
    ''',
    fragment_shader='''
        #version 330 core

        out vec4 frag_color;

        void main() {
            frag_color = ...
        }
    ''',
)

Vertex Arrays are simple.

# simple
pipeline = ctx.pipeline(
    vertex_buffers=zengl.bind(vertex_buffer, '3f 3f 2f', 0, 1, 2),
    vertex_count=vertex_buffer.size // zengl.calcsize('3f 3f 2f'),
)
# indexed
pipeline = ctx.pipeline(
    vertex_buffers=zengl.bind(vertex_buffer, '3f 3f 2f', 0, 1, 2),
    index_buffer=index_buffer,
    vertex_count=index_buffer.size // 4,
)
# instanced
pipeline = ctx.pipeline(
    vertex_buffers=[
        *zengl.bind(vertex_buffer, '3f 3f 2f', 0, 1, 2),
        *zengl.bind(instance_buffer, '3f 4f /i', 3, 4),
    ],
    vertex_count=vertex_buffer.size // zengl.calcsize('3f 3f 2f'),
    instance_count=1000,
)

Uniform Buffer, Texture, and Sampler binding is easy.

# uniform buffers
pipeline = ctx.pipeline(
    layout=[
        {
            'name': 'Common',
            'binding': 0,
        },
    ],
    resources=[
        {
            'type': 'uniform_buffer',
            'binding': 0,
            'buffer': uniform_buffer,
        },
    ],
)
# textures
pipeline = ctx.pipeline(
    layout=[
        {
            'name': 'Texture',
            'binding': 0,
        },
    ],
    resources=[
        {
            'type': 'sampler',
            'binding': 0,
            'image': texture,
            'wrap_x': 'clamp_to_edge',
            'wrap_y': 'clamp_to_edge',
            'min_filter': 'nearest',
            'mag_filter': 'nearest',
        },
    ],
)

Postprocessing and Compute can be implemented as rendering a fullscreen quad.

pipeline = ctx.pipeline(
    vertex_shader='''
        #version 330 core

        vec2 vertices[3] = vec2[](
            vec2(-1.0, -1.0),
            vec2(3.0, -1.0),
            vec2(-1.0, 3.0)
        );

        void main() {
            gl_Position = vec4(vertices[gl_VertexID], 0.0, 1.0);
        }
    ''',
    fragment_shader='''
        #version 330 core

        out vec4 frag_color;

        void main() {
            frag_color = ...
        }
    ''',
    topology='triangles',
    vertex_count=3,
)
particle_system = ctx.pipeline(
    vertex_shader=...,
    fragment_shader='''
        #version 330 core

        uniform sampler2D Position;
        uniform sampler2D Velocity;
        uniform vec3 Acceleration;

        layout (location = 0) out vec3 OutputPosition;
        layout (location = 1) out vec3 OutputVelocity;

        void main() {
            ivec2 at = ivec2(gl_FragCoord.xy);
            vec3 position = texelFetch(Position, at, 0).xyz;
            vec3 velocity = texelFetch(Velocity, at, 0).xyz;
            OutputPosition = position + velocity;
            OutputVelocity = velocity + Acceleration;
        }
    ''',
)

ZenGL intentionally does not support:

  • Transform Feedback
  • Geometry Shaders
  • Tesselation
  • Compute Shaders
  • 3D Textures
  • Storage Buffers

Most of the above can be implemented in a more hardware friendly way using the existing ZenGL API. Interoperability with other modules is also possible. Using such may reduce the application's portablity. It is even possible to use direct OpenGL calls together with ZenGL, however this is likely not necessary.

It is common to render directly to the screen with OpenGL. With ZenGL, the right way is to render to a framebuffer and blit the final image to the screen. This allows fine-grained control of the framebuffer format, guaranteed multisampling settings, correct depth/stencil precison. It is also possible to render directly to the screen, however this feature is designed to be used for the postprocessing step.

This design allows ZenGL to support:

  • Rendering without a window
  • Rendering to multiple windows
  • Rendering to HDR monitors
  • Refreshing the screen without re-rendering the scene
  • Apply post-processing without changing how the scene is rendered
  • Making reusable shaders and components
  • Taking screenshots or exporting a video

The default framebuffer in OpenGL is highly dependent on how the Window is created. It is often necessary to configure the Window to provide the proper depth precision, stencil buffer, multisampling and double buffering. Often the "best pixel format" lacks all of these features on purpose. ZenGL aims to allow choosing these pixel formats and ensures the user specifies the rendering requirements. It is even possible to render low-resolution images and upscale them for high-resolution monitors. Tearing can be easily prevented by decoupling the scene rendering from the screen updates.

ZenGL was designed for Prototyping

It is tempting to start a project with Vulkan, however even getting a simple scene rendered requires tremendous work and advanced tooling to compile shaders ahead of time. ZenGL provides self-contained Pipelines which can be easily ported to Vulkan. ZenGL code is verbose and easy to read.

ZenGL support multiple design patters

Many libraries enfore certain design patterns. ZenGL avoids this by providing cached pipeline creation, pipeline templating and lean resourece and framebuffer definition. It is supported to create pipelines on the fly or template them for certain use-cases.

TODO: examples for such patters

ZenGL emerged from an experimental version of ModernGL. To keep ModernGL backward compatible, ZenGL was re-designed from the ground-up to support a strict subset of OpenGL. On the other hand, ModernGL supports a wide variety of OpenGL versions and extensions.

Disambiguation

  • ZenGL is a drop-in replacement for pure OpenGL code
  • Using ZenGL requires some OpenGL knowledge
  • ZenGL Images are OpenGL Texture Objects or Renderbuffer Objects
  • ZenGL Buffers are OpenGL Buffer Objects
  • ZenGL Pipelines contain an OpenGL Vertex Array Object, a Program Object, and a Framebuffer Object
  • ZenGL Pipelines may also contain OpenGL Sampler Objects
  • Creating ZenGL Pipelines does not necessarily compile the shader from source
  • The ZenGL Shader Cache exists independently from the Pipeline objects
  • A Framebuffer is always represented by a Python list of ZenGL Images
  • There is no Pipeline.clear() method, individual images must be cleared independently
  • GLSL Uniform Blocks and sampler2D objects are bound in the Pipeline layout
  • Textures and Uniform Buffers are bound in the Pipeline resources

Examples

bezier_curves deferred_rendering envmap fractal grass normal_mapping rigged_objects wireframe

Simple Pipeline Definition

pipeline = ctx.pipeline(
    # program definition
    vertex_shader='...',
    fragment_shader='...',
    layout=[
        {
            'name': 'Uniforms',
            'binding': 0,
        },
        {
            'name': 'Texture',
            'binding': 0,
        },
    ],

    # descriptor sets
    resources=[
        {
            'type': 'uniform_buffer',
            'binding': 0,
            'buffer': uniform_buffer,
        },
        {
            'type': 'sampler',
            'binding': 0,
            'image': texture,
        },
    ],

    # uniforms
    uniforms={
        'color': [0.0, 0.5, 1.0],
        'iterations': 10,
    },

    # program definition global state
    depth={
        'func': 'less',
        'write': False,
    },
    stencil={
        'front': {
            'fail_op': 'replace',
            'pass_op': 'replace',
            'depth_fail_op': 'replace',
            'compare_op': 'always',
            'compare_mask': 1,
            'write_mask': 1,
            'reference': 1,
        },
        'back': ...,
        # or
        'both': ...,
    },
    blend={
        'enable': True,
        'src_color': 'src_alpha',
        'dst_color': 'one_minus_src_alpha',
    },
    cull_face='back',
    topology='triangles',

    # framebuffer
    framebuffer=[color1, color2, ..., depth],
    viewport=(x, y, width, height),

    # vertex array
    vertex_buffers=[
        *zengl.bind(vertex_buffer, '3f 3f', 0, 1), # bound vertex attributes
        *zengl.bind(None, '2f', 2), # unused vertex attribute
    ],
    index_buffer=index_buffer, # or None
    short_index=False, # 2 or 4 byte intex
    vertex_count=...,
    instance_count=1,
    first_vertex=0,

    # override includes
    includes={
        'common': '...',
    },
)

# some members are actually mutable and calls no OpenGL functions
pipeline.viewport = ...
pipeline.vertex_count = ...
pipeline.uniforms['iterations'][:] = struct.pack('i', 50) # writable memoryview

# rendering
pipeline.render() # no parameters for hot code

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

zengl-2.5.3.tar.gz (54.9 kB view details)

Uploaded Source

Built Distributions

zengl-2.5.3-cp312-cp312-win_amd64.whl (48.4 kB view details)

Uploaded CPython 3.12 Windows x86-64

zengl-2.5.3-cp312-cp312-win32.whl (41.5 kB view details)

Uploaded CPython 3.12 Windows x86

zengl-2.5.3-cp312-cp312-musllinux_1_2_x86_64.whl (133.1 kB view details)

Uploaded CPython 3.12 musllinux: musl 1.2+ x86-64

zengl-2.5.3-cp312-cp312-musllinux_1_2_i686.whl (124.6 kB view details)

Uploaded CPython 3.12 musllinux: musl 1.2+ i686

zengl-2.5.3-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (136.3 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

zengl-2.5.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (125.5 kB view details)

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

zengl-2.5.3-cp312-cp312-macosx_11_0_arm64.whl (44.9 kB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

zengl-2.5.3-cp312-cp312-macosx_10_9_x86_64.whl (46.9 kB view details)

Uploaded CPython 3.12 macOS 10.9+ x86-64

zengl-2.5.3-cp311-cp311-win_amd64.whl (48.0 kB view details)

Uploaded CPython 3.11 Windows x86-64

zengl-2.5.3-cp311-cp311-win32.whl (41.2 kB view details)

Uploaded CPython 3.11 Windows x86

zengl-2.5.3-cp311-cp311-musllinux_1_2_x86_64.whl (130.0 kB view details)

Uploaded CPython 3.11 musllinux: musl 1.2+ x86-64

zengl-2.5.3-cp311-cp311-musllinux_1_2_i686.whl (122.3 kB view details)

Uploaded CPython 3.11 musllinux: musl 1.2+ i686

zengl-2.5.3-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (132.7 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

zengl-2.5.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (123.1 kB view details)

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

zengl-2.5.3-cp311-cp311-macosx_11_0_arm64.whl (45.0 kB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

zengl-2.5.3-cp311-cp311-macosx_10_9_x86_64.whl (46.8 kB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

zengl-2.5.3-cp310-cp310-win_amd64.whl (48.0 kB view details)

Uploaded CPython 3.10 Windows x86-64

zengl-2.5.3-cp310-cp310-win32.whl (41.2 kB view details)

Uploaded CPython 3.10 Windows x86

zengl-2.5.3-cp310-cp310-musllinux_1_2_x86_64.whl (129.1 kB view details)

Uploaded CPython 3.10 musllinux: musl 1.2+ x86-64

zengl-2.5.3-cp310-cp310-musllinux_1_2_i686.whl (121.4 kB view details)

Uploaded CPython 3.10 musllinux: musl 1.2+ i686

zengl-2.5.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (131.7 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

zengl-2.5.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (122.3 kB view details)

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

zengl-2.5.3-cp310-cp310-macosx_11_0_arm64.whl (45.0 kB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

zengl-2.5.3-cp310-cp310-macosx_10_9_x86_64.whl (46.8 kB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

zengl-2.5.3-cp39-cp39-win_amd64.whl (48.1 kB view details)

Uploaded CPython 3.9 Windows x86-64

zengl-2.5.3-cp39-cp39-win32.whl (41.2 kB view details)

Uploaded CPython 3.9 Windows x86

zengl-2.5.3-cp39-cp39-musllinux_1_2_x86_64.whl (128.7 kB view details)

Uploaded CPython 3.9 musllinux: musl 1.2+ x86-64

zengl-2.5.3-cp39-cp39-musllinux_1_2_i686.whl (121.0 kB view details)

Uploaded CPython 3.9 musllinux: musl 1.2+ i686

zengl-2.5.3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (131.2 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

zengl-2.5.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (121.8 kB view details)

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

zengl-2.5.3-cp39-cp39-macosx_11_0_arm64.whl (45.0 kB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

zengl-2.5.3-cp39-cp39-macosx_10_9_x86_64.whl (46.8 kB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

zengl-2.5.3-cp38-cp38-win_amd64.whl (48.1 kB view details)

Uploaded CPython 3.8 Windows x86-64

zengl-2.5.3-cp38-cp38-win32.whl (41.3 kB view details)

Uploaded CPython 3.8 Windows x86

zengl-2.5.3-cp38-cp38-musllinux_1_2_x86_64.whl (131.3 kB view details)

Uploaded CPython 3.8 musllinux: musl 1.2+ x86-64

zengl-2.5.3-cp38-cp38-musllinux_1_2_i686.whl (123.5 kB view details)

Uploaded CPython 3.8 musllinux: musl 1.2+ i686

zengl-2.5.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (134.3 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

zengl-2.5.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (124.9 kB view details)

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

zengl-2.5.3-cp38-cp38-macosx_11_0_arm64.whl (45.0 kB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

zengl-2.5.3-cp38-cp38-macosx_10_9_x86_64.whl (46.8 kB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

zengl-2.5.3-cp37-cp37m-win_amd64.whl (48.0 kB view details)

Uploaded CPython 3.7m Windows x86-64

zengl-2.5.3-cp37-cp37m-win32.whl (41.2 kB view details)

Uploaded CPython 3.7m Windows x86

zengl-2.5.3-cp37-cp37m-musllinux_1_2_x86_64.whl (124.2 kB view details)

Uploaded CPython 3.7m musllinux: musl 1.2+ x86-64

zengl-2.5.3-cp37-cp37m-musllinux_1_2_i686.whl (116.4 kB view details)

Uploaded CPython 3.7m musllinux: musl 1.2+ i686

zengl-2.5.3-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (127.3 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

zengl-2.5.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (117.5 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

zengl-2.5.3-cp37-cp37m-macosx_10_9_x86_64.whl (46.6 kB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

zengl-2.5.3-cp36-cp36m-win_amd64.whl (50.5 kB view details)

Uploaded CPython 3.6m Windows x86-64

zengl-2.5.3-cp36-cp36m-win32.whl (43.3 kB view details)

Uploaded CPython 3.6m Windows x86

zengl-2.5.3-cp36-cp36m-musllinux_1_2_x86_64.whl (124.2 kB view details)

Uploaded CPython 3.6m musllinux: musl 1.2+ x86-64

zengl-2.5.3-cp36-cp36m-musllinux_1_2_i686.whl (116.4 kB view details)

Uploaded CPython 3.6m musllinux: musl 1.2+ i686

zengl-2.5.3-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (127.3 kB view details)

Uploaded CPython 3.6m manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

zengl-2.5.3-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (117.6 kB view details)

Uploaded CPython 3.6m manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

zengl-2.5.3-cp36-cp36m-macosx_10_9_x86_64.whl (46.4 kB view details)

Uploaded CPython 3.6m macOS 10.9+ x86-64

File details

Details for the file zengl-2.5.3.tar.gz.

File metadata

  • Download URL: zengl-2.5.3.tar.gz
  • Upload date:
  • Size: 54.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.3

File hashes

Hashes for zengl-2.5.3.tar.gz
Algorithm Hash digest
SHA256 f03bdb3284397ea67628858e65cdd6f2f9bc4d5e1b0db6704bc02a220ac97836
MD5 fd3999527fe9baa10b6a6657b791fdd6
BLAKE2b-256 7dec302cdbf664ae6a059ca1ed5a1d4223b877b5b45cde0df7db03ea80ff20fe

See more details on using hashes here.

Provenance

File details

Details for the file zengl-2.5.3-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: zengl-2.5.3-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 48.4 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.3

File hashes

Hashes for zengl-2.5.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 46657989da5dd30a09832e2bc5bd9086e214e20a2a19b67e45e596b1f3266b99
MD5 ef31c341684d77a291cb1880f973a46e
BLAKE2b-256 159e995c4c70b629d13521dbe90e9f902f0750645baf20ed9475ee9c414b5ebd

See more details on using hashes here.

Provenance

File details

Details for the file zengl-2.5.3-cp312-cp312-win32.whl.

File metadata

  • Download URL: zengl-2.5.3-cp312-cp312-win32.whl
  • Upload date:
  • Size: 41.5 kB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.3

File hashes

Hashes for zengl-2.5.3-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 745bb1d737b7c0d8d12e2bcf2e2b7bae4cb7f3253e8a468b074da4de1d9eb29b
MD5 387cdf3f8bd91e333417ec45f440d564
BLAKE2b-256 3d888fbf96ca483e2abe23bc128463751912f2d92fe6c7048afc1ca4cbd8fd3a

See more details on using hashes here.

Provenance

File details

Details for the file zengl-2.5.3-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for zengl-2.5.3-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 12de038e612297a9a006af57224d2428c80faf6f4db7c1620805a739962ce769
MD5 56bf5c2b77b347a6b31bfb5dea93ee00
BLAKE2b-256 79cd4ee8e2b531607dc1a94c56c93034c5dda7349fc0c2bcf79035892e2adbb2

See more details on using hashes here.

Provenance

File details

Details for the file zengl-2.5.3-cp312-cp312-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for zengl-2.5.3-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 177a5d6f1076907fd22b657ba8adaba0d7944e56d0e45283c1e748f6d63c20fe
MD5 adc918c2af10fd2062e24c3f21c423a5
BLAKE2b-256 85ed887083c535d2fcf4ae6e4b47becb80aeded487a2237516e20e839bdb428f

See more details on using hashes here.

Provenance

File details

Details for the file zengl-2.5.3-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for zengl-2.5.3-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3330c88b926d744e40423a20d3d65612f6163a74063700fa2cdcd2d88f4b2d89
MD5 c00e495dfd725dc208845ba7705017cc
BLAKE2b-256 81ee81796270ef174f88d7d73ad65500bdd8d7264be24bbc9dad916cf0f63c38

See more details on using hashes here.

Provenance

File details

Details for the file zengl-2.5.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for zengl-2.5.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 1051f0869c164401fb28928620b0f278a8aa8022ed9ffe51fddb7250742b878d
MD5 f7bdb10d802b986e498c4674d05fea0f
BLAKE2b-256 ac31ac9d7e0fbc8c605a59d6f676e27b20f6fb4ca474b1f1a951c70de042b557

See more details on using hashes here.

Provenance

File details

Details for the file zengl-2.5.3-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for zengl-2.5.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 52fa7f4ff078d591b7eab6edc8e44aef8057f0351e7592bebc6b5a4c9eda0c5e
MD5 e5db096510803f52994dfa6bf3b1f6ea
BLAKE2b-256 661a9796d135c79f5435a489d7942a23e444c0b6e57d4b6c3010ae89e1d561df

See more details on using hashes here.

Provenance

File details

Details for the file zengl-2.5.3-cp312-cp312-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for zengl-2.5.3-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 8e544d6b0b786d02d5a9df65cb6635c8390d68ad870343aa6e54ae309d358529
MD5 e30d95ecd5395acd99f61a8be3696aae
BLAKE2b-256 b82cc9891653e575b93b90718ea1efa8bbad65e00318e08543117b62d9b6fc71

See more details on using hashes here.

Provenance

File details

Details for the file zengl-2.5.3-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: zengl-2.5.3-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 48.0 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.3

File hashes

Hashes for zengl-2.5.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 7c0f6775fb1949f90930567d1e02e717dfe1ca336d9cd34678dc174face50d21
MD5 f5a6ce06bf3aba033832e2929d4b7133
BLAKE2b-256 bec639bf9e93077b41b014b11b4bac82dbaf9e876bfe6d82e98bb8b7237b6e3c

See more details on using hashes here.

Provenance

File details

Details for the file zengl-2.5.3-cp311-cp311-win32.whl.

File metadata

  • Download URL: zengl-2.5.3-cp311-cp311-win32.whl
  • Upload date:
  • Size: 41.2 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.3

File hashes

Hashes for zengl-2.5.3-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 5da96be1673aeb6b199806a91ed7cb1584c307c42a09a173415a4bad79f29d32
MD5 aa2c7e7ea07515251d4e3bd9f65d5f9c
BLAKE2b-256 bac17448863f7a7afed8603a181e5a0815d643a44be00dc515907c6bcb8081a1

See more details on using hashes here.

Provenance

File details

Details for the file zengl-2.5.3-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for zengl-2.5.3-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 78907676d5b090cbb5a496239e6d5af062312e423e63b64a733ee4c6555e79ff
MD5 2a86c6807462215209e4b532d3268b3a
BLAKE2b-256 f28afabfabc75325c31819f378e0928f696a6db4a829c5aadf813ec6f6f8a190

See more details on using hashes here.

Provenance

File details

Details for the file zengl-2.5.3-cp311-cp311-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for zengl-2.5.3-cp311-cp311-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 4f62724dae5a5a5138217ec903f3cc907955e0a3df5da4c8a62fd28fc441f9c1
MD5 6cdda53609e437441ea732774c7206ac
BLAKE2b-256 fe61ea05b7502970bcb62467b866a3141adcb5e85957c5d3bfc0ba8582568ab2

See more details on using hashes here.

Provenance

File details

Details for the file zengl-2.5.3-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for zengl-2.5.3-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 eb71b7b345762cd8143afbd55811bc516a48681b9b4978af62079b90a65ae648
MD5 14cf15a4c50840e033254a3e369555d8
BLAKE2b-256 94dc46cdcfe80b117f161435c77db2bd29ce371545a5a4737ad1f43778202b6e

See more details on using hashes here.

Provenance

File details

Details for the file zengl-2.5.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for zengl-2.5.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 198c8ef0de8e6fe62de50d87638e6041a9e88276cc91fd688fa14eb785c17298
MD5 941fb376b87086b2ef4cc5722fa58f56
BLAKE2b-256 93a6136c26297f679d43c2fe011d41891206e682b2ad8863ee932100749155ba

See more details on using hashes here.

Provenance

File details

Details for the file zengl-2.5.3-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for zengl-2.5.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1e5c3efdb47f629f9a09cfb9d2a39c1d67f4e90b391be884cc040e0130c6d87b
MD5 7c872c72ebc251396f420d99acd7fb16
BLAKE2b-256 8d4248e761df81fe9155cbdc539ad9b7640fcce63782f3ad60d46a3ceeb8b4d0

See more details on using hashes here.

Provenance

File details

Details for the file zengl-2.5.3-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for zengl-2.5.3-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 8a3a75d82cb63b47a59d3d9ac53ee970404ba2fb1fc8661ad54feb06208c4c9c
MD5 efcea97ecce4b6c7a0cce57e42ed5233
BLAKE2b-256 b4c74d7d64cc7f96eb39b6220d861f6bf49d475e7ebea4451403e8f5552572fd

See more details on using hashes here.

Provenance

File details

Details for the file zengl-2.5.3-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: zengl-2.5.3-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 48.0 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.3

File hashes

Hashes for zengl-2.5.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 dc316a5c69d3fa271d1df1eba30d18e40c60d7e95f22b1619e4431e3b2dd33e3
MD5 61aab5112038624975d388903a8f6b8d
BLAKE2b-256 5ef5827c54eecd94b847c9e3e3725b81d1fdaf8e3d255a8b5dd9cce4b3605a25

See more details on using hashes here.

Provenance

File details

Details for the file zengl-2.5.3-cp310-cp310-win32.whl.

File metadata

  • Download URL: zengl-2.5.3-cp310-cp310-win32.whl
  • Upload date:
  • Size: 41.2 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.3

File hashes

Hashes for zengl-2.5.3-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 51220f371ed3d1bf98e67d961b5fe704d68e6baea5b69f8bdd57a782ac3e54de
MD5 193a5d07f425e749db16e328f25d21d1
BLAKE2b-256 6253ac99a71cd68132b81553971024014d3b2f2dfaddf4e2e8002fe16dd872ab

See more details on using hashes here.

Provenance

File details

Details for the file zengl-2.5.3-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for zengl-2.5.3-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6a6545bfd23575b34cd4b230ef0072f045aa8e7e09904e0859c8b781c70bfd4f
MD5 8fcd99523ff72e142ecd798f307272ba
BLAKE2b-256 e2f292408a6fc16451806f8dbf20acc568f2e79eaa0e11571c8c516d97e5dab3

See more details on using hashes here.

Provenance

File details

Details for the file zengl-2.5.3-cp310-cp310-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for zengl-2.5.3-cp310-cp310-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 9582d5f4ef8be75fafb7c1f371bdfca59caddac419398f22a837c4d01017521a
MD5 5325da0ebc50dcacc70cf6390646b417
BLAKE2b-256 1899bda721aeba675c573c7258347f39ac3f8a06ac65d8364e11e802d45d4cf4

See more details on using hashes here.

Provenance

File details

Details for the file zengl-2.5.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for zengl-2.5.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 271cb21dcf071e7c09f5f36e2fc0b6d6a5243041d5f9ba562029c8b0e73f4b3a
MD5 da2774bcb2a4ee2cf305fa125984f9ce
BLAKE2b-256 8ea4e0d4930a4eb0a02cfa9adb919972e5e94c3d0b89666527858112941f9e90

See more details on using hashes here.

Provenance

File details

Details for the file zengl-2.5.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for zengl-2.5.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 c0bcd6b285c05e6c5c057d140e5372d3f8300021821b7cf587e0508b514864a3
MD5 3cbbfd59e87e4bee20abee8344eac859
BLAKE2b-256 ef57ef03f8f5e9a42bc758f59ec0ea730989772b55e7e1df34d70a3fc597cc0b

See more details on using hashes here.

Provenance

File details

Details for the file zengl-2.5.3-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for zengl-2.5.3-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7da098c48d82f3964e8a6cc63670721a950ac08e7f0ab3b93835731f5cbcaf31
MD5 645f327f465e227a9fa72108b1864115
BLAKE2b-256 f57e63e7cf385ba75c4ffd7be965fa48c1ee1eb63ec54485844f47e4d8cdd583

See more details on using hashes here.

Provenance

File details

Details for the file zengl-2.5.3-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for zengl-2.5.3-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 16722189028188a872b1c30536444b0fd86a7d133aa6f7b9e5a22b3c9a29b328
MD5 2511105881c1b9a3d4a3d3615c96e50b
BLAKE2b-256 e763611f00e1e3cc701ca0d94751b6bc75f3b4b36afb991f59f3e354dbee9c1c

See more details on using hashes here.

Provenance

File details

Details for the file zengl-2.5.3-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: zengl-2.5.3-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 48.1 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.3

File hashes

Hashes for zengl-2.5.3-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 bfe9e127ce083c26115cf5adb651386ef471275edab93ee511c31cfde9f81d77
MD5 0430dd9ccadf2ed38d835dbd5e92fde3
BLAKE2b-256 0fa280c150d193fd28e881afc875ffd71dc17e024506f37c16fd0673db45d62f

See more details on using hashes here.

Provenance

File details

Details for the file zengl-2.5.3-cp39-cp39-win32.whl.

File metadata

  • Download URL: zengl-2.5.3-cp39-cp39-win32.whl
  • Upload date:
  • Size: 41.2 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.3

File hashes

Hashes for zengl-2.5.3-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 56f8f975644b33bc2537a5843688ea050661a3cec185f1e3633d9f8ec37e7df5
MD5 42796179d9ee026629ff2666c058f7e6
BLAKE2b-256 94e4d774fea21beab61cafb393bf5b8c15e1c8cfdc503f61a0b188c646bb8234

See more details on using hashes here.

Provenance

File details

Details for the file zengl-2.5.3-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for zengl-2.5.3-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 11c7923b905eb55e50a1cf8baeace24449688380fb17d0457ab5ae170f1a112f
MD5 d5722327a281ede3449a31fb734231ac
BLAKE2b-256 5dcb329bebf0282501f9c4d7ecf801dff599d9732afe971233ffd99a894db273

See more details on using hashes here.

Provenance

File details

Details for the file zengl-2.5.3-cp39-cp39-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for zengl-2.5.3-cp39-cp39-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 cef9c06d6500e0f040a88c101f8d5c86cd44d5220980c03ae0b8da93b69aae9e
MD5 9c72b0eecd2a2799ab607fc35decbc94
BLAKE2b-256 b83f73acdf9baf44b5d254bd53dcc27318f0f0d67fda8233494add576e146f5e

See more details on using hashes here.

Provenance

File details

Details for the file zengl-2.5.3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for zengl-2.5.3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b8bd941c758d62c4feac688d303b6fedf6c8dfd66750e6bc135c018da7b6cd60
MD5 6f4be01144f42a279d7b4a5e0b9c2ecb
BLAKE2b-256 7a210dc32ce67aa9268101217226d7c100291e7f3979288f3c96b3f95ed78071

See more details on using hashes here.

Provenance

File details

Details for the file zengl-2.5.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for zengl-2.5.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 55abd4340416111d02c7dfcfc186f95e98a2b5afb9eca6cbd2c8b2c9da69b602
MD5 3aef5e41c47084b111a0fe3319312b2a
BLAKE2b-256 8d5f9506313d5b02f3c2cf63bcd706d212fe3a2d6700aac7378b3c91ab1fe45c

See more details on using hashes here.

Provenance

File details

Details for the file zengl-2.5.3-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for zengl-2.5.3-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 39b8fd73ba184ddb1f49ae17495134aa74bc16ddac3adc2a6f2827cdbf6f60a7
MD5 c9f59e5a0e8db696ffda46ae1b991591
BLAKE2b-256 243a2a435caeb17ca7afa8cad7853d8b8d8eb8e92de8dd5acb18540168648337

See more details on using hashes here.

Provenance

File details

Details for the file zengl-2.5.3-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for zengl-2.5.3-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 6b6e27b63c6eca91004934293cf26cdd7ff881ce3591bd875ca2e1a90d3db42a
MD5 37af373d4560cd3c740e1e6822007b61
BLAKE2b-256 e2b95170b4dc52ffdd48df1eb095ec01e77aa279723261af7752b1c562406cdd

See more details on using hashes here.

Provenance

File details

Details for the file zengl-2.5.3-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: zengl-2.5.3-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 48.1 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.3

File hashes

Hashes for zengl-2.5.3-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 0f5cc459ef321e689041d01c688fe11d220eb9e7db72ddcd531829279b05cbfc
MD5 bd1b5a63b57290acb5e8e85d91d2a661
BLAKE2b-256 b32e2c706ef0c4128f8ff4dbdf088e839ab5063d674019ee8498a2c4c671a438

See more details on using hashes here.

Provenance

File details

Details for the file zengl-2.5.3-cp38-cp38-win32.whl.

File metadata

  • Download URL: zengl-2.5.3-cp38-cp38-win32.whl
  • Upload date:
  • Size: 41.3 kB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.3

File hashes

Hashes for zengl-2.5.3-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 43323454c7858a6b3992876895384cdd7a0a30db06bbf6d61f32ca6e63a83563
MD5 65c53ed0d174141fc9846c521f1de1aa
BLAKE2b-256 1557a725b59b3390e9c45acabb11fdf34d026e44122f4fc6f46a04fbc52e22ca

See more details on using hashes here.

Provenance

File details

Details for the file zengl-2.5.3-cp38-cp38-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for zengl-2.5.3-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2e8cad0be7931da8e5795971d9413a60115ce01e8b4d681c1e7c76e000a4be2d
MD5 45733df80bf0ad220e5ec4ea00203921
BLAKE2b-256 3a21266752a35bd50460eb0b4e89c1eba456574281518855f9ffec0b3435806b

See more details on using hashes here.

Provenance

File details

Details for the file zengl-2.5.3-cp38-cp38-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for zengl-2.5.3-cp38-cp38-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 22f322c7d1424c2a1542653baa985e044c028a4974d9b8afc0a72cac369d0945
MD5 7b3564a8792948d6b94da98c5252eb35
BLAKE2b-256 3e7ac52656d5e2e98c921fdc1d53c42e5152f5b322d9ea10fd50e1928c1dd659

See more details on using hashes here.

Provenance

File details

Details for the file zengl-2.5.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for zengl-2.5.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fcda15111c915a7237886880206f29cf7966d4bc63b659bb4612ea0487492312
MD5 2e7b525681847850e07676728d16b86a
BLAKE2b-256 3d061c47dd08554a058c1efbd3890dc1929a7d88809e24fe2e8bec7dd349e501

See more details on using hashes here.

Provenance

File details

Details for the file zengl-2.5.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for zengl-2.5.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 ead9c5a1fb3328e58b34679689673432e31fa5acef3a740b8bddef977c3c65bf
MD5 9e7c0ce197c064637e0e992871bbc38d
BLAKE2b-256 c00251d795d78645471d7676267f10542dc86e54b74b920e9a2c3f5bac4b4c12

See more details on using hashes here.

Provenance

File details

Details for the file zengl-2.5.3-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for zengl-2.5.3-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6f8a649fd7df0c0f3a7427a415260b7dc1b2d4213d9607b4876c54d327407fe8
MD5 8d2fdf5721a274ed42ebf4c13a9e8758
BLAKE2b-256 97db5e7fc935c8434fe402d2d5823d6c06ffdf869555add6efa4c2fb97afb35d

See more details on using hashes here.

Provenance

File details

Details for the file zengl-2.5.3-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for zengl-2.5.3-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 f23919053eb1424d13b133d3c0fea6cede0b861ec5e156abf4fb256fd8d73358
MD5 2f240e9d1e7997c6c518889e4bad2b2e
BLAKE2b-256 8127fe9e6482d2d318c3f755b06903ff043255bb1d6821430df99511fbe6cd34

See more details on using hashes here.

Provenance

File details

Details for the file zengl-2.5.3-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: zengl-2.5.3-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 48.0 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.3

File hashes

Hashes for zengl-2.5.3-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 ec893e805497f3274b5c8b48cdada36a53cbdc6e48fa718050d47a9bd059b050
MD5 43dae5e19eae37dbe9dfaa99a4bbfb7c
BLAKE2b-256 1223ed1c8eb73fe3a6d92e29163a50ed97186e9a665d85aa2996dd3027a0a25c

See more details on using hashes here.

Provenance

File details

Details for the file zengl-2.5.3-cp37-cp37m-win32.whl.

File metadata

  • Download URL: zengl-2.5.3-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 41.2 kB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.3

File hashes

Hashes for zengl-2.5.3-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 f64e6ca52831c88d44d585442b06a41ecf4b022a8b5772873c2495f42d58a7dc
MD5 a5dd32512511961c321efa18cda69d22
BLAKE2b-256 7eec247afc966228422bca478c147b9d48f7916d1b1c169c4e4bc8a36b6e82e2

See more details on using hashes here.

Provenance

File details

Details for the file zengl-2.5.3-cp37-cp37m-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for zengl-2.5.3-cp37-cp37m-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ff61b07fe18f969816088b7517d5261ca15ca59fcb06c8a6a45eb2c7af65ecea
MD5 b8fe7128b293cd58c5c64a4a05fbaf9a
BLAKE2b-256 9e82c0d6e94063e94a16380302e9225225ff3ce79f05d5970a1f071bd1b36aac

See more details on using hashes here.

Provenance

File details

Details for the file zengl-2.5.3-cp37-cp37m-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for zengl-2.5.3-cp37-cp37m-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 a5452964c4bbb5b3450346260d659cb0e76448c2517eab11c5714443419625ba
MD5 31431c709c856d29118da8ece5cf62de
BLAKE2b-256 9ce4f2c9ad477739f5a41f48d56ca256d3430d5bdcd4cd5c52e5554bcab3d5bd

See more details on using hashes here.

Provenance

File details

Details for the file zengl-2.5.3-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for zengl-2.5.3-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9ebd565610877477ed2a8cf493c4d4926983aa0cfa5c3a90261b5548c0dc7e95
MD5 bc4dac66b8348faca582406c315591db
BLAKE2b-256 0de0f27dd60277d78d65647d2faaf69e68177438a3b666e410424cccee4dd82f

See more details on using hashes here.

Provenance

File details

Details for the file zengl-2.5.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for zengl-2.5.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 e98211b8f6fe538a12da947f564de80884ebb18900270e9ed7f6fec6efc45782
MD5 1117fbee323a50ae2fd6b780386df74a
BLAKE2b-256 0315186bdf3632e654f0308bccf54b2b039cc7e2c4f8b9b69456a65ed2c5ea56

See more details on using hashes here.

Provenance

File details

Details for the file zengl-2.5.3-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for zengl-2.5.3-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 6aea401328ccbca6ded5dadaffe4bf0c5ce270ad9fb81ee9ef5458d7d011cacb
MD5 74116e95032902138fcbdb1725752e2d
BLAKE2b-256 35e0019ca71f8b430036f8c2c4da4a8bbcde5d30499444618f21dee54186d97a

See more details on using hashes here.

Provenance

File details

Details for the file zengl-2.5.3-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: zengl-2.5.3-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 50.5 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.3

File hashes

Hashes for zengl-2.5.3-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 fc6fd15226e52430bba364ab8a1592334110c2ebff60168344f5dc2599cb1933
MD5 2f65e408f299223096d890e46fc4cd7c
BLAKE2b-256 0fd34fad2f3014ff8e9b7178f3a4c912e67b57439ba19e67c98f5d03104da350

See more details on using hashes here.

Provenance

File details

Details for the file zengl-2.5.3-cp36-cp36m-win32.whl.

File metadata

  • Download URL: zengl-2.5.3-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 43.3 kB
  • Tags: CPython 3.6m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.3

File hashes

Hashes for zengl-2.5.3-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 af4b60ea9c60e7dffa2718a1bcf8b8d16fb2efb534de6af5ece9f90d23ca618c
MD5 82bda4b47d5a885c9ea394333709d72b
BLAKE2b-256 bf96af1ca5b74fadef3e4f50c03a4b47d6c2bc3d414fe82ea896c0baf7392b22

See more details on using hashes here.

Provenance

File details

Details for the file zengl-2.5.3-cp36-cp36m-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for zengl-2.5.3-cp36-cp36m-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 fd29538e90d590674fb736c8931d6519d83ae45596e731de074aa7c2f3293c13
MD5 db79337a7a968600a94bc03518a07083
BLAKE2b-256 b9406958bac1ca149db091d7857d1b839286c68972ab30e7f2e300b99b0fa78d

See more details on using hashes here.

Provenance

File details

Details for the file zengl-2.5.3-cp36-cp36m-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for zengl-2.5.3-cp36-cp36m-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 1c87f553622d4d851dfe2f615ab8e77173c385ab9f260174e5cbe2eaec879d30
MD5 c909a0842e2c403c2b7b76237edeb2c9
BLAKE2b-256 744e6ff698a9439cbe577a1999fac26945b7e310200808c3014577433dc84832

See more details on using hashes here.

Provenance

File details

Details for the file zengl-2.5.3-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for zengl-2.5.3-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1479581a31a3ea9515f4f192c3d026996beb3e043def5d44306d0a41f94ba73d
MD5 fc568666c66859dfd0e5c09f90c20e22
BLAKE2b-256 b375dfd9fe08fb7ab27b9c288650f6fcec3fb6784364ffdb0e029947ecc07c9b

See more details on using hashes here.

Provenance

File details

Details for the file zengl-2.5.3-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for zengl-2.5.3-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 02b6304c90b2743f2c185cc8ac7db95d05d9365d5eaac8d47a376ce188d39a46
MD5 0eb4b464c83985917950dd3c2e2b8752
BLAKE2b-256 cef2b9b47d5cc4390c183f9d4d68ac193fa92b8df88608914742c916d14dccdb

See more details on using hashes here.

Provenance

File details

Details for the file zengl-2.5.3-cp36-cp36m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for zengl-2.5.3-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 26d00ece636fd0e2f7e61af20a6b63f20813a05e6b093920eeea0908a4b02eb4
MD5 fd9526cd56f22d8377406795be6e855e
BLAKE2b-256 b626db5a41ef1cab8a6621a1116c374c17741282bb2550465535f1811398dd6f

See more details on using hashes here.

Provenance

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