Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

opengl_decimate — mesh decimation over glTF-shaped NumPy arrays

Reduce a triangle mesh to fewer triangles, keeping the shape and the attributes it carries. A mesh arrives as a mapping of glTF attribute semantics to NumPy arrays plus a triangle index array, and leaves the same way, so nothing stands between a loader, a generator, a decimator and a vertex buffer.

import numpy as np
from opengl_decimate import simplify, SimplifyOptions

result = simplify(
    {'POSITION': positions, 'NORMAL': normals, 'TEXCOORD_0': uvs},
    indices,
    SimplifyOptions(target_ratio=0.25),
)

result.attributes['POSITION']   # (v, 3) float32
result.indices                  # (t * 3,) uint32
result.error                    # the quadrics' own estimate of the deviation
result.vertex_map               # input vertex -> output vertex

NumPy is the only dependency.

What it does to a scan

coastal_cliff_04, 1,537,926 triangles of photogrammetry, decimated once in 10.7 s -- every level below is a prefix of that one recording replayed.

Coastal cliff at 1,537,926 triangles
1,537,926 tri
Coastal cliff at 32,000 triangles
32,000 tri
Coastal cliff at 8,000 triangles
8,000 tri
Coastal cliff at 4,000 triangles
4,000 tri
Subject Source Reduced in Draw at source Finest shipped Draw there
Coastal cliff 1,537,926 tri 10.7 s 0.20 ms 32,000 tri 0.04 ms
Lekking ruffs 547,647 tri 5.3 s 0.21 ms 32,000 tri 0.06 ms
Coastal land rocks 1,291,146 tri 9.0 s 0.17 ms 32,000 tri 0.04 ms
Marble bust 17,456 tri 0.1 s 0.04 ms 17,456 tri 0.04 ms

docs/GALLERY.md has every level of every subject, each drawn from touching distance out to barely visible, with what it cost to make and what it costs to draw.

What it does

Quadric error metrics

Each point carries a quadric accumulated from the planes of the triangles around it, weighted by their area. Merging two points costs the summed quadric evaluated where it is smallest, and that smallest place is one 3x3 solve. The classical metric (Garland & Heckbert) and the probabilistic one (Trettner & Kobbelt) share the storage and the solve: the second reads each plane as a noisy sample and minimises the expected squared distance, which makes a single plane solvable and a reconstructed surface behave.

Rules that keep the result a surface

Before any contraction: the link condition, so an edge never ends up with three triangles on it; a duplicate-face check, so a small closed shape cannot fold onto itself; a normal-flip test, so a fan is never turned inside out; and an optional triangle-shape floor. Points are classified once as manifold, border or locked, and a border point moves only along its border, so the outline of an open patch stays where it was.

Attributes are carried, never invented

Every value in the output is a value that was in the input, measured at the place the surface now is: a contraction hands the corners it merges to the end of the edge the merged point came to rest nearest, so a texture coordinate and a normal travel with the position they describe. Two corners at the same point with different normals or texture coordinates stay two vertices, so a UV seam is still a seam and a hard edge is still hard. A corner takes the copy nearest in attribute space and the end drawn at more texture coordinates keeps them, so neither side of a seam is left reading the chart next door. The exception is a chart narrow enough that one edge joins the seams on either side of it: a contraction along that edge merges two seams, and the corners of three charts meet at one point. lock_seams holds each seam's line, which rules that out too, where the atlas is fragmented enough for that to be worth its triangles. recompute_normals replaces NORMAL with the normals of the surface that is left, which is what a level a game ships wants: a carried normal is the one measured at its own vertex and is the more accurate of the two, but its error is uncorrelated between neighbours and shading shows the gradient, so coarse levels facet. Recomputing accumulates per smoothing group rather than per point, so crease_angle keeps the edges the model was built hard across and a cube does not come back round.

A recorded reduction, replayed to any target

collapse_sequence runs the whole reduction once and records it; at() then reaches any triangle count by replaying a prefix — four array operations, not another decimation. A target costs a replay rather than a reduction, and costs the same however far along the sequence it is, which is what an editor's target slider needs.

from opengl_decimate import collapse_sequence

sequence = collapse_sequence(attributes, indices, SimplifyOptions(target_ratio=0.5))
coarse = sequence.at(target_count=5000)      # immediate
coarser = sequence.at(target_count=500)      # also immediate
within = sequence.at(target_error=0.01)      # or by deviation

A measured error, not only an estimate

result.error is what the quadrics predicted: an area-weighted root-mean-square distance to the planes, which is the right thing to steer a reduction by and is not a bound on anything. certify=True, or opengl_decimate.certify.surface_deviation, samples both surfaces in both directions and measures the worst place either is from the other — which is the number a level of detail's error bound should be built on, and runs about twice result.error. One direction alone cannot see a hole.

How far a model will go, before spending a reduction on it

Some meshes cannot be decimated, and the reason is always a property of the mesh: a canopy of separate leaf cards is as many pieces as it has cards and every piece keeps a triangle; lace has a handle through every hole, and no contraction closes one; and a texture coordinate means something only inside one chart of the atlas, so a model unwrapped into thousands of small ones runs out of texture long before it runs out of triangles. survey measures all of it and puts a floor on what any target can reach. Given the options the reduction will run with, it surveys the mesh their weld and drop_components_below leave.

from opengl_decimate import survey

report = survey(attributes, indices)
report.pieces, report.handles, report.seam_share
report.floor                                 # no target goes below this
report.charts, report.texture_floor          # and below this the texture stops fitting
if report.reducible < 0.5:
    ...  # this model wants a different operation, not a lower target

Targets

At least one, and the reduction stops at whichever is reached first.

Option Meaning
target_ratio share of the input triangles to keep, in (0, 1]. A share of what the caller handed in, whatever welding merged first
target_count triangles to stop at
target_error deviation to stop at, a length in model units — the quadrics' estimate, not the measured deviation

Options

Option Default What it does
metric 'quadric' 'probabilistic' reads the surface as noisy samples
position_noise 0.001 probabilistic: how far points are trusted, as a fraction of the bounding-box diagonal. Raises the reported error; does not change what gets contracted
normal_noise 0.001 probabilistic: how far normals are trusted. The term that conditions the solve, so this is the one that changes the reduction
boundary_weight 1.0 how hard an open surface's edge is held
lock_boundary False hold the border exactly
locked None further vertices to hold, as indices into the arrays handed in. Every vertex at the same position is held with it
max_normal_flip 90.0 degrees a face's normal may turn
min_triangle_quality 0.0 shape floor, 0 (any) to 1 (equilateral only)
placement 'optimal' 'endpoint' keeps every point exactly where it was
lock_seams False hold the seams of the texture atlas on their own lines
weld_tolerance 0.0 merge input vertices within this distance first
drop_components_below 0.0 remove connected pieces smaller than this share of the bounding-box diagonal first
schedule 'heap' 'multiple-choice' samples instead of ordering
candidates 8 how many edges multiple-choice draws per step
seed 0 fixes the sampling, so a run repeats exactly
recompute_normals False recompute NORMAL for the surface that is left, adding it where the input had none
crease_angle 60.0 degrees past which a recomputed normal keeps an edge hard
certify False measure the deviation into measured_error
certify_samples 4000 points taken from each surface when certifying

Two schedules

heap takes the cheapest candidate anywhere on the mesh, from a lazily-updated priority queue. It is the better quality, and it is sequential by construction: every contraction changes the price of its neighbours, so the next choice depends on the last.

multiple-choice takes the cheapest of a few candidates drawn at random. There is no global ordering to maintain, every step costs the same as every other, and the quality loss is small. Giving up the global ordering is what makes a reduction divisible, so this is the schedule a parallel or GPU implementation is built on.

Input it will take

POSITION is required; every other attribute must have the same number of rows. Vertices sharing a position are welded so the reduction sees a surface rather than a vertex list, and a triangle left with a repeated corner by that welding is dropped. Non-manifold edges, bowties and isolated points are locked rather than refused, so a mesh with some bad places is reduced everywhere else.

weld_tolerance merges vertices that are merely close, which is what a scan needs — the same corner reconstructed twice differs in the last several bits. The exact weld is one vectorised sort; a tolerance weld groups into cells and joins across the twenty-seven cells a point can have a partner in, and costs more. Pick a tolerance smaller than the typical spacing between points: the work is the number of pairs sharing a cell, so a tolerance that sweeps a cluster into one cell costs the square of that cluster's size.

A model far from the origin is handled where it is. Quadrics are accumulated about the model's own bounding-box centre, so a georeferenced mesh at 6.4e6 reduces to exactly what the same mesh at the origin does — and POSITION comes back in the float dtype it arrived in, since a float32 ulp out there is half a metre.

Limits

  • Attributes follow their corner and are not part of the error metric, so a texture can slide slightly where a point moves a long way. placement='endpoint' removes that entirely, at some cost in geometric accuracy.
  • Only the heap schedule has the compiled contraction loop. multiple-choice runs the NumPy implementation whatever is installed, which is around thirty times slower per face — worth knowing, since the schedule is otherwise the scalable one of the two.
  • Where no compiler was available at install time the NumPy contraction loop is used for both schedules. It is the same reduction and the same answer, at a speed that suits a model rather than a scan. A wheel carries the compiled one. opengl_decimate.native.ACCELERATED says whether it is in use, and setting OPENGL_DECIMATE_NO_ACCEL=1 before import switches it off.
  • An open surface cannot be reduced past its own boundaries. A hole in the surface keeps at least three vertices around it, and each separate open piece keeps at least one triangle, so a mesh of many small open shells stops well above any target. A tree trunk with 246 branch stubs stops at 738 triangles whatever it is asked for, because that is three vertices per loop. Joining points that are not edges is what gets below it, and is not implemented. drop_components_below removes small pieces before the reduction starts.
  • A closed piece stops at four triangles, a tetrahedron, and a piece with a handle stops at whatever it takes to go round the handle. survey reports those floors before a reduction is run.

Documentation

  • docs/GALLERY.md — five CC0 scans taken down through a level chain, each level drawn from touching distance out to barely visible, with what it cost to make and what it costs to draw. Regenerated by tools/gallery.py.
  • docs/API.md — every entry point, with its units and defaults.
  • docs/ALGORITHM.md — what each step does and why.
  • CHANGELOG.md — what each release changed.

Licence

MIT. See LICENSE.

Metadata

Release files for opengl-decimate 0.2.0a5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for opengl-decimate 0.2.0a5
File Size Uploaded Provenance Actions
opengl_decimate-0.2.0a5.tar.gz 356.9 kB With provenance Details for opengl_decimate-0.2.0a5.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for opengl-decimate 0.2.0a5
File Actions
opengl_decimate-0.2.0a5-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details for opengl_decimate-0.2.0a5-cp314-cp314-win_amd64.whl
opengl_decimate-0.2.0a5-cp314-cp314-win32.whl CPython 3.14 CPython 3.14 Windows x86-32 Details for opengl_decimate-0.2.0a5-cp314-cp314-win32.whl
opengl_decimate-0.2.0a5-cp314-cp314-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ x86-64 Details for opengl_decimate-0.2.0a5-cp314-cp314-musllinux_1_2_x86_64.whl
opengl_decimate-0.2.0a5-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details for opengl_decimate-0.2.0a5-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
opengl_decimate-0.2.0a5-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details for opengl_decimate-0.2.0a5-cp314-cp314-macosx_11_0_arm64.whl
opengl_decimate-0.2.0a5-cp314-cp314-macosx_10_15_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.15+ x86-64 Details for opengl_decimate-0.2.0a5-cp314-cp314-macosx_10_15_x86_64.whl
opengl_decimate-0.2.0a5-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for opengl_decimate-0.2.0a5-cp313-cp313-win_amd64.whl
opengl_decimate-0.2.0a5-cp313-cp313-win32.whl CPython 3.13 CPython 3.13 Windows x86-32 Details for opengl_decimate-0.2.0a5-cp313-cp313-win32.whl
opengl_decimate-0.2.0a5-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details for opengl_decimate-0.2.0a5-cp313-cp313-musllinux_1_2_x86_64.whl
opengl_decimate-0.2.0a5-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 Details for opengl_decimate-0.2.0a5-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
opengl_decimate-0.2.0a5-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details for opengl_decimate-0.2.0a5-cp313-cp313-macosx_11_0_arm64.whl
opengl_decimate-0.2.0a5-cp313-cp313-macosx_10_13_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.13+ x86-64 Details for opengl_decimate-0.2.0a5-cp313-cp313-macosx_10_13_x86_64.whl
opengl_decimate-0.2.0a5-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for opengl_decimate-0.2.0a5-cp312-cp312-win_amd64.whl
opengl_decimate-0.2.0a5-cp312-cp312-win32.whl CPython 3.12 CPython 3.12 Windows x86-32 Details for opengl_decimate-0.2.0a5-cp312-cp312-win32.whl
opengl_decimate-0.2.0a5-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details for opengl_decimate-0.2.0a5-cp312-cp312-musllinux_1_2_x86_64.whl
opengl_decimate-0.2.0a5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details for opengl_decimate-0.2.0a5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
opengl_decimate-0.2.0a5-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details for opengl_decimate-0.2.0a5-cp312-cp312-macosx_11_0_arm64.whl
opengl_decimate-0.2.0a5-cp312-cp312-macosx_10_13_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.13+ x86-64 Details for opengl_decimate-0.2.0a5-cp312-cp312-macosx_10_13_x86_64.whl
opengl_decimate-0.2.0a5-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for opengl_decimate-0.2.0a5-cp311-cp311-win_amd64.whl
opengl_decimate-0.2.0a5-cp311-cp311-win32.whl CPython 3.11 CPython 3.11 Windows x86-32 Details for opengl_decimate-0.2.0a5-cp311-cp311-win32.whl
opengl_decimate-0.2.0a5-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details for opengl_decimate-0.2.0a5-cp311-cp311-musllinux_1_2_x86_64.whl
opengl_decimate-0.2.0a5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 Details for opengl_decimate-0.2.0a5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
opengl_decimate-0.2.0a5-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details for opengl_decimate-0.2.0a5-cp311-cp311-macosx_11_0_arm64.whl
opengl_decimate-0.2.0a5-cp311-cp311-macosx_10_9_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.9+ x86-64 Details for opengl_decimate-0.2.0a5-cp311-cp311-macosx_10_9_x86_64.whl
opengl_decimate-0.2.0a5-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details for opengl_decimate-0.2.0a5-cp310-cp310-win_amd64.whl
opengl_decimate-0.2.0a5-cp310-cp310-win32.whl CPython 3.10 CPython 3.10 Windows x86-32 Details for opengl_decimate-0.2.0a5-cp310-cp310-win32.whl
opengl_decimate-0.2.0a5-cp310-cp310-musllinux_1_2_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ x86-64 Details for opengl_decimate-0.2.0a5-cp310-cp310-musllinux_1_2_x86_64.whl
opengl_decimate-0.2.0a5-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 Details for opengl_decimate-0.2.0a5-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
opengl_decimate-0.2.0a5-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details for opengl_decimate-0.2.0a5-cp310-cp310-macosx_11_0_arm64.whl
opengl_decimate-0.2.0a5-cp310-cp310-macosx_10_9_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.9+ x86-64 Details for opengl_decimate-0.2.0a5-cp310-cp310-macosx_10_9_x86_64.whl

Total release size: 17.3 MB

Release files / opengl_decimate-0.2.0a5.tar.gz

Download URL opengl_decimate-0.2.0a5.tar.gz
Size 356.9 kB
Tags Source
SHA-256 checksum
How to use checksums
1b13336faac982b18b3acbd0bbe54e42b999e491be71f33c63ffef10e2e79d74
BLAKE2b-256 checksum
How to use checksums
58d33db521721e875bca49741a7ec2c788e5782db7ca163820b7837572a09848
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Release files / opengl_decimate-0.2.0a5-cp314-cp314-win_amd64.whl

Download URL opengl_decimate-0.2.0a5-cp314-cp314-win_amd64.whl
Size 386.7 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
b5696a2504aae926808abbf89f5a213aff36772000daf0c9b1c3b2fc634f6dd2
BLAKE2b-256 checksum
How to use checksums
8122572bcf45fa0a103ef9ea31c0571e7c2c11c582a37fbc15671941980fab76
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Release files / opengl_decimate-0.2.0a5-cp314-cp314-win32.whl

Download URL opengl_decimate-0.2.0a5-cp314-cp314-win32.whl
Size 371.5 kB
Tags CPython 3.14 Windows x86-32
SHA-256 checksum
How to use checksums
83a4c6c1abb775ab60d115b40d70baa0bc7c9875a297cd945b10710439c7b617
BLAKE2b-256 checksum
How to use checksums
649f8ac503f35589028c8122b503cbd30d05f8c220ddccd03b8ca825cd9c5fc7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Release files / opengl_decimate-0.2.0a5-cp314-cp314-musllinux_1_2_x86_64.whl

Download URL opengl_decimate-0.2.0a5-cp314-cp314-musllinux_1_2_x86_64.whl
Size 914.3 kB
Tags CPython 3.14 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
c58bba60717229cab79e5862f17a74f7197cfc7b79c3a1480ba12a4a0c1ac2ba
BLAKE2b-256 checksum
How to use checksums
2959f31a39de1a7adc293db7e7b9421f1487b188036255a2081baf0d94e0103c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Release files / opengl_decimate-0.2.0a5-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL opengl_decimate-0.2.0a5-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 916.6 kB
Tags CPython 3.14 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
e6a53cc2fa2b5a87aeacf89c170208520861c6d688ded8a2ef2872367f47e465
BLAKE2b-256 checksum
How to use checksums
ed8e8b577e2ef6d02fed27fc777322bdf1660d1f2a82656ffdb88c591bba2ff1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Release files / opengl_decimate-0.2.0a5-cp314-cp314-macosx_11_0_arm64.whl

Download URL opengl_decimate-0.2.0a5-cp314-cp314-macosx_11_0_arm64.whl
Size 400.2 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
5030719385497cd41ea33d4fc8045818b770e679b01e548b170dd1c5ccc5ea40
BLAKE2b-256 checksum
How to use checksums
08bde05ceed4ad1e1d95971d8365d688d69f45cb5668687686ad4a8a2eb11eed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Release files / opengl_decimate-0.2.0a5-cp314-cp314-macosx_10_15_x86_64.whl

Download URL opengl_decimate-0.2.0a5-cp314-cp314-macosx_10_15_x86_64.whl
Size 399.5 kB
Tags CPython 3.14 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
1d7e26cb335f2baf3493fcb1e8cd6855f8d36404fc20ac1150ea54d21dceab54
BLAKE2b-256 checksum
How to use checksums
ff92844d960564a7c5bd9cee90aaacca8c9491052fe23b4a19ecb47b1a2b5a71
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Release files / opengl_decimate-0.2.0a5-cp313-cp313-win_amd64.whl

Download URL opengl_decimate-0.2.0a5-cp313-cp313-win_amd64.whl
Size 385.9 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
800d5b66dc2009c5c9d01afd0b2bc64f62b9b8c351e1f82eff0344a9784954b3
BLAKE2b-256 checksum
How to use checksums
f2e12668cabfd378da073cf47a50c386eaf97c3312d1b28b1d51ab0c249af5fa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Release files / opengl_decimate-0.2.0a5-cp313-cp313-win32.whl

Download URL opengl_decimate-0.2.0a5-cp313-cp313-win32.whl
Size 371.1 kB
Tags CPython 3.13 Windows x86-32
SHA-256 checksum
How to use checksums
bb0cd3d1aa54d3d7d7a604570e7380444e0e21d8f478cbdce835c588958fa439
BLAKE2b-256 checksum
How to use checksums
d6af986c9f38c7eae7da405a151712f84c4b691a6c36dd72841417fe2b5f0dc7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Release files / opengl_decimate-0.2.0a5-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL opengl_decimate-0.2.0a5-cp313-cp313-musllinux_1_2_x86_64.whl
Size 917.7 kB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
401a45ce4e918f85ed88917cc598cfb0140a842f6744dc43ec7970373c86cff5
BLAKE2b-256 checksum
How to use checksums
2d333da994897973d939d2cabf9a5ce8eb8da82921d71b827047370d8998dba7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Release files / opengl_decimate-0.2.0a5-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL opengl_decimate-0.2.0a5-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 920.7 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
61b6b747c3c38042702aaaf64285ab9641f747244f2bd1d9dbf30367ee9f1216
BLAKE2b-256 checksum
How to use checksums
9faa97199dc5f6f724d114000dd4a42723fd91f769c13e5c937195dddce8d784
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Release files / opengl_decimate-0.2.0a5-cp313-cp313-macosx_11_0_arm64.whl

Download URL opengl_decimate-0.2.0a5-cp313-cp313-macosx_11_0_arm64.whl
Size 399.5 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
3f234dce9783ac60f7ae7f48067acd0b13a4528b68bc75776c44efc6ea218d03
BLAKE2b-256 checksum
How to use checksums
9bbe97531d58116608c1eb92b3a8f24891fc4607bbeeea3076d58fbe5fe61e5a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Release files / opengl_decimate-0.2.0a5-cp313-cp313-macosx_10_13_x86_64.whl

Download URL opengl_decimate-0.2.0a5-cp313-cp313-macosx_10_13_x86_64.whl
Size 399.5 kB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
49d72353ffc8f921d8a2d7b16184d016e6f76c6d84d3661c79fc6fc7f3e37390
BLAKE2b-256 checksum
How to use checksums
3a5744884f0119e8f7e016a1690fb7cd5d3c9fb50d10893d42d139443fa9de3a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Release files / opengl_decimate-0.2.0a5-cp312-cp312-win_amd64.whl

Download URL opengl_decimate-0.2.0a5-cp312-cp312-win_amd64.whl
Size 386.1 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
d1f037af5f107637e7b30a02d423d63e46e85456895766d1ff14be08f4499232
BLAKE2b-256 checksum
How to use checksums
6f985c3c701fb15fc8c7df19bc50f29c51c2433c09f9f33884ba079cd3ef28f3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Release files / opengl_decimate-0.2.0a5-cp312-cp312-win32.whl

Download URL opengl_decimate-0.2.0a5-cp312-cp312-win32.whl
Size 371.2 kB
Tags CPython 3.12 Windows x86-32
SHA-256 checksum
How to use checksums
8581ffefb0beb8e50cc19fe0b81d41a3c1071196d1f623287aaaf59ab5184e4c
BLAKE2b-256 checksum
How to use checksums
c390f1a17700012d6955a703abe34cb3bf1e3a1bc9aecd4c86bb4be69447fac0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Release files / opengl_decimate-0.2.0a5-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL opengl_decimate-0.2.0a5-cp312-cp312-musllinux_1_2_x86_64.whl
Size 923.7 kB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
150c92a74c3140dcd2d270bddfa3bbb89f9ba108d76b580d74706feaada0b337
BLAKE2b-256 checksum
How to use checksums
fa818973859d668529887eda311459f01da400b5c12c6394c275bd2a15e94958
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Release files / opengl_decimate-0.2.0a5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL opengl_decimate-0.2.0a5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 928.0 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
4cca0e02f670550c3f80b2db6469e4acee291146796f898e63df33df4fc3fecc
BLAKE2b-256 checksum
How to use checksums
10d33fb967695c48bdf595bb1f5d4d72b18bd6f6e7a8b5be2327306c490903be
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Release files / opengl_decimate-0.2.0a5-cp312-cp312-macosx_11_0_arm64.whl

Download URL opengl_decimate-0.2.0a5-cp312-cp312-macosx_11_0_arm64.whl
Size 399.8 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
d1aba3990331391668da68bfef1e20a2b1abcec32cb61f12b276dfea07ae20d5
BLAKE2b-256 checksum
How to use checksums
7c3e138f5652a3e70985da007f8fdc5f125412255fccb9dcfde133c38eafcfa6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Release files / opengl_decimate-0.2.0a5-cp312-cp312-macosx_10_13_x86_64.whl

Download URL opengl_decimate-0.2.0a5-cp312-cp312-macosx_10_13_x86_64.whl
Size 399.6 kB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
f041f7265eea25f3c2fcb909a299db5a8c3f251a7f1f210dada425fb21bf6337
BLAKE2b-256 checksum
How to use checksums
3be670d15af8592902057dbef9f615817f9969010e1c28611e65893611cfcd93
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Release files / opengl_decimate-0.2.0a5-cp311-cp311-win_amd64.whl

Download URL opengl_decimate-0.2.0a5-cp311-cp311-win_amd64.whl
Size 385.0 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
997d8e1261f9472445268377dfff0145ad66a9cb54deceb7c700954ed35ad16b
BLAKE2b-256 checksum
How to use checksums
2e534d6de2cbb46f21172ae47466d83c05123bc1f98a79a45c540685a98c8d22
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Release files / opengl_decimate-0.2.0a5-cp311-cp311-win32.whl

Download URL opengl_decimate-0.2.0a5-cp311-cp311-win32.whl
Size 369.5 kB
Tags CPython 3.11 Windows x86-32
SHA-256 checksum
How to use checksums
4df1488c04819e61e4a4a7833b0eb30ac35ce95955499ee316df2bc3714d990a
BLAKE2b-256 checksum
How to use checksums
5de112de9cde78e1e3f7882f5f2e416292280662f5e4afd84ea2d57c48de0a6a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Release files / opengl_decimate-0.2.0a5-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL opengl_decimate-0.2.0a5-cp311-cp311-musllinux_1_2_x86_64.whl
Size 935.3 kB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
bfd5ab7a49fb2ffce0dc6b04111cbc8801ab529df9affbef9b09127c1a43713c
BLAKE2b-256 checksum
How to use checksums
ae551fe5319f2b5826da5c0785d56df553404281cc5817e3ba1f7dab7bc5547f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Release files / opengl_decimate-0.2.0a5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL opengl_decimate-0.2.0a5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 932.7 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
b574646ddb01d31a3c527b5bd97d16bf853b061930fff89e39469773098b9502
BLAKE2b-256 checksum
How to use checksums
859ce0991627ae7b2534d64ba2a288f1672fc601edc67a102e24debca18c5939
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Release files / opengl_decimate-0.2.0a5-cp311-cp311-macosx_11_0_arm64.whl

Download URL opengl_decimate-0.2.0a5-cp311-cp311-macosx_11_0_arm64.whl
Size 397.8 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
2d49a0d231b7eec97dfc80d4f1012bb722db16a17eed4d3ee7817617d0056b1a
BLAKE2b-256 checksum
How to use checksums
b32c418888d44c867c9485b708311a6b50bc050850e92618e2239c77abee28b7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Release files / opengl_decimate-0.2.0a5-cp311-cp311-macosx_10_9_x86_64.whl

Download URL opengl_decimate-0.2.0a5-cp311-cp311-macosx_10_9_x86_64.whl
Size 397.3 kB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
4a23f8c0d0f9028d41a8f148a84589e50e351f800736eaf74c084ad194ea60bf
BLAKE2b-256 checksum
How to use checksums
d1ff3d6fe791e896a6c6c801294e8fec9ec8278398f14985949048271d578114
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Release files / opengl_decimate-0.2.0a5-cp310-cp310-win_amd64.whl

Download URL opengl_decimate-0.2.0a5-cp310-cp310-win_amd64.whl
Size 385.5 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
a667df651c8d8dfa8e0ccd28f7516f5f42a3c89c79f5dd0d2f339ff528441df6
BLAKE2b-256 checksum
How to use checksums
08a35c75d56cbe4945377298de1762338f72f3e9afd42fa5b61cbef9493c610f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Release files / opengl_decimate-0.2.0a5-cp310-cp310-win32.whl

Download URL opengl_decimate-0.2.0a5-cp310-cp310-win32.whl
Size 370.0 kB
Tags CPython 3.10 Windows x86-32
SHA-256 checksum
How to use checksums
25660d414b5d6890ef86f1e80c082ef110e40162811030134ddc65fb51dfd4f3
BLAKE2b-256 checksum
How to use checksums
bc378943165c5eb0f2e4562438468a6c649dbbed03d50bb1a12c25904640662d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Release files / opengl_decimate-0.2.0a5-cp310-cp310-musllinux_1_2_x86_64.whl

Download URL opengl_decimate-0.2.0a5-cp310-cp310-musllinux_1_2_x86_64.whl
Size 914.0 kB
Tags CPython 3.10 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
ad8566f120e8bf915e77ba1335c120cfb5f5fce5115082b7d3c9e1feaa8f9f96
BLAKE2b-256 checksum
How to use checksums
e59de2b0764943f0f705954cb534189535f787cf1cc906237d8bb9a815e56171
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Release files / opengl_decimate-0.2.0a5-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL opengl_decimate-0.2.0a5-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 911.1 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
9332c0d7c33fe4a01b8edb33c7cb2f15ca6a43ee2253c7b290c2f00815208d52
BLAKE2b-256 checksum
How to use checksums
e4f91dd939e4fb2976587dbb544e9ec64ebf9ec2f8187edf98de8f38e3e984d3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Release files / opengl_decimate-0.2.0a5-cp310-cp310-macosx_11_0_arm64.whl

Download URL opengl_decimate-0.2.0a5-cp310-cp310-macosx_11_0_arm64.whl
Size 399.1 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
43b87ebb806d200ebbaa47563f584f3d0c02a4d083bd355574cbc0071d0a6505
BLAKE2b-256 checksum
How to use checksums
491ebf7d07ec9ea476993388b7d2ff6b6466143051e562cb311617e324bc85f4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Release files / opengl_decimate-0.2.0a5-cp310-cp310-macosx_10_9_x86_64.whl

Download URL opengl_decimate-0.2.0a5-cp310-cp310-macosx_10_9_x86_64.whl
Size 398.4 kB
Tags CPython 3.10 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
a7c0cbeef7a3f08c958e894de8881f5345576b98dcac38c7858cafc53cfe6bbd
BLAKE2b-256 checksum
How to use checksums
43c1d86fb65a4a818cddcef56adcb7cd2fa2346ccedf6a5c89030faa252f994d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

Security for opengl-decimate 0.2.0a5

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 31 files in this release have been uploaded with provenance metadata.

Select from 31 files

Attestation for opengl_decimate-0.2.0a5.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 14, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page