Skip to main content
Pre-release

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

opengl_extrusions -- tessellation and extrusion library

Tubing, extrusion, lathing and polygon tessellation, producing NumPy arrays

This library provides loosely the same capabilities as the GLE Tubing and Extrusion library for use with modern core-profile rendering systems, i.e. those which expect arrays of points and indices rather than a GL call-list. It is used in the OpenGLContext project to replace the GLE based extrusions and GLU based tessellations, and its NURBS surface evaluator replaces the GLU NURBS tessellator, which is a GLU 1.3 feature that not every platform's GLU has.

The tessellator is a CDT tessellator which differs from the GLU library's tessellator which is often deprecated on newer platforms. The biggest observable change should be that the tessellations are less likely to have very narrow long triangles, which cause weird artefacts when rendering.

The library aims to be portable: NumPy is the only runtime dependency, and the one compiled component — the geometric predicates — is built by Cython at install time where a compiler is present, with a pure-Python fallback giving the same results where it is not.

Give it a 2D outline and a path, and it hands back the vertex arrays for the surface that outline sweeps out — positions, normals, texture coordinates, tangents and an index buffer, named the way glTF names them. No attempt is made to match the GLU or GLE APIs, as they don't cleanly map to modern rendering patterns.

from opengl_extrusions import extrude, circle

pipe = extrude(circle(radius=0.1, sides=16),
               path=[(0, 0, 0), (0, 0, 1), (1, 0, 2)])

pipe.primitives[0].positions      # (V, 3) float32, C-contiguous
pipe.primitives[0].indices        # (T*3,) uint32

The default frame orients the contour against a fixed up=(0, 1, 0), which has nothing to align to where the path runs straight up. For a path that may point anywhere — a vertical mast, a cable, a loop — ask for the rotation-minimizing frame instead:

mast = extrude(circle(radius=0.1, sides=16),
               path=[(0, 0, 0), (0, 1, 0), (0, 2, 0)],
               frames='rmf')

Swept shapes

Lathe, spiral, screw, toroid, polycylinder and polycone — generated here and drawn by OpenGLContext in a core profile.

API Highlights

Call Shape
extrude(contour, path) outline swept along any path
polycylinder(path, radius) a round tube of constant radius along a polyline
polycone(path, radii) a tube whose radius is given at every point
lathe(contour, …) swept about the z axis, contour plane staying radial
spiral(contour, …) swept along a helix, contour plane square to the path
screw(contour, …) extruded along z while turning
helicoid(…), toroid(…) the two above with a circular section
vrml97_extrusion(…) VRML97's Extrusion node, to its specification
tessellate(contours) 2D outlines into triangles using CDT tessellation

Sweeps take corners four ways (raw, angle, cut, round), shade three ways (facet, edge, path_edge), cap either end, close into a loop, taper, twist, take per-point colour, and follow splines sampled to a curvature tolerance.

The tessellator

tessellate() turns 2D outlines into triangles, and is usable without the rest of the library. It handles outlines that cross themselves, holes, coincident vertices and T-junctions, and the triangles it produces have the largest smallest angle the outline allows.

Tessellation

Holes, winding rules, and refinement to an area or an angle target — the white lines are the triangle edges.

from opengl_extrusions import tessellate

result = tessellate([outer_ring, hole_ring], winding='odd', min_angle=30.0)
result.points        # (V, 2)
result.triangles     # (T, 3), counter-clockwise

See docs/TESSELLATION.md.

Install

pip install opengl_extrusions

NumPy is the only runtime dependency. The code is Python and NumPy with one exception: the geometric predicates' inner loop is also built as a small Cython extension. Published wheels carry it. Building from source needs Cython, which pip installs for the build; where there is no C compiler the extension is skipped and the pure-Python implementation of the same predicates is used, and everything behaves identically — the two are required to produce the same triangles, and the test suite runs both on every supported Python. opengl_extrusions.predicates.ACCELERATED says which is in use; OPENGL_EXTRUSIONS_NO_ACCEL=1 forces the pure path.

The optional gle extra, which only the parity tests use, pins a pre-release of PyOpenGL, so it needs pip install --pre 'opengl_extrusions[gle]'.

Documentation

Design

glTF is the vocabulary, not the container. Attributes are called POSITION, NORMAL, TEXCOORD_0 and carry the types glTF gives them, but each is a plain NumPy array rather than an accessor into a blob, so reading a vertex is indexing rather than decoding. to_gltf() and to_glb() write the file form; to_glb() writes beside the path and renames over it, so a failed write leaves the file that was there.

The arrays are in the form a GL vertex buffer takes. C-contiguous float32 attributes and uint32 indices are what glBufferData wants, so no conversion step stands between a generated mesh and the GPU. It is also the arrangement OpenGLContext's PBRMesh holds, so a mesh from here can be handed to one without a copy:

from OpenGLContext.scenegraph.pbrmesh import PBRMesh
node = PBRMesh(**pipe.primitives[0].arrays())      # no copy: shares memory

The predicates return an exact sign. Orientation and in-circle tests decide every step of the tessellation, and a floating-point determinant near zero answers "collinear" for points that are not, which produces a triangulation that is not one.

Licence

MIT. See LICENSE.

This library was generated by a large language model under human direction, and jurisdictions differ on whether such material attracts copyright at all. Where it does not, the code may be used freely; where it does, the MIT terms govern it. The authorship note in LICENSE has the detail.

Metadata

Release files for opengl-extrusions 1.2.1a2

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-extrusions 1.2.1a2
File Size Uploaded Provenance Actions
opengl_extrusions-1.2.1a2.tar.gz 223.5 kB With provenance Details for opengl_extrusions-1.2.1a2.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for opengl-extrusions 1.2.1a2
File Actions
opengl_extrusions-1.2.1a2-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details for opengl_extrusions-1.2.1a2-cp314-cp314-win_amd64.whl
opengl_extrusions-1.2.1a2-cp314-cp314-win32.whl CPython 3.14 CPython 3.14 Windows x86-32 Details for opengl_extrusions-1.2.1a2-cp314-cp314-win32.whl
opengl_extrusions-1.2.1a2-cp314-cp314-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ x86-64 Details for opengl_extrusions-1.2.1a2-cp314-cp314-musllinux_1_2_x86_64.whl
opengl_extrusions-1.2.1a2-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64, Linux glibc 2.5+ x86-64 Details for opengl_extrusions-1.2.1a2-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
opengl_extrusions-1.2.1a2-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details for opengl_extrusions-1.2.1a2-cp314-cp314-macosx_11_0_arm64.whl
opengl_extrusions-1.2.1a2-cp314-cp314-macosx_10_15_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.15+ x86-64 Details for opengl_extrusions-1.2.1a2-cp314-cp314-macosx_10_15_x86_64.whl
opengl_extrusions-1.2.1a2-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for opengl_extrusions-1.2.1a2-cp313-cp313-win_amd64.whl
opengl_extrusions-1.2.1a2-cp313-cp313-win32.whl CPython 3.13 CPython 3.13 Windows x86-32 Details for opengl_extrusions-1.2.1a2-cp313-cp313-win32.whl
opengl_extrusions-1.2.1a2-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details for opengl_extrusions-1.2.1a2-cp313-cp313-musllinux_1_2_x86_64.whl
opengl_extrusions-1.2.1a2-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64, Linux glibc 2.5+ x86-64 Details for opengl_extrusions-1.2.1a2-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
opengl_extrusions-1.2.1a2-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details for opengl_extrusions-1.2.1a2-cp313-cp313-macosx_11_0_arm64.whl
opengl_extrusions-1.2.1a2-cp313-cp313-macosx_10_13_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.13+ x86-64 Details for opengl_extrusions-1.2.1a2-cp313-cp313-macosx_10_13_x86_64.whl
opengl_extrusions-1.2.1a2-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for opengl_extrusions-1.2.1a2-cp312-cp312-win_amd64.whl
opengl_extrusions-1.2.1a2-cp312-cp312-win32.whl CPython 3.12 CPython 3.12 Windows x86-32 Details for opengl_extrusions-1.2.1a2-cp312-cp312-win32.whl
opengl_extrusions-1.2.1a2-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details for opengl_extrusions-1.2.1a2-cp312-cp312-musllinux_1_2_x86_64.whl
opengl_extrusions-1.2.1a2-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.5+ x86-64, Linux glibc 2.28+ x86-64 Details for opengl_extrusions-1.2.1a2-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
opengl_extrusions-1.2.1a2-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details for opengl_extrusions-1.2.1a2-cp312-cp312-macosx_11_0_arm64.whl
opengl_extrusions-1.2.1a2-cp312-cp312-macosx_10_13_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.13+ x86-64 Details for opengl_extrusions-1.2.1a2-cp312-cp312-macosx_10_13_x86_64.whl
opengl_extrusions-1.2.1a2-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for opengl_extrusions-1.2.1a2-cp311-cp311-win_amd64.whl
opengl_extrusions-1.2.1a2-cp311-cp311-win32.whl CPython 3.11 CPython 3.11 Windows x86-32 Details for opengl_extrusions-1.2.1a2-cp311-cp311-win32.whl
opengl_extrusions-1.2.1a2-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details for opengl_extrusions-1.2.1a2-cp311-cp311-musllinux_1_2_x86_64.whl
opengl_extrusions-1.2.1a2-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.5+ x86-64 Details for opengl_extrusions-1.2.1a2-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
opengl_extrusions-1.2.1a2-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details for opengl_extrusions-1.2.1a2-cp311-cp311-macosx_11_0_arm64.whl
opengl_extrusions-1.2.1a2-cp311-cp311-macosx_10_9_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.9+ x86-64 Details for opengl_extrusions-1.2.1a2-cp311-cp311-macosx_10_9_x86_64.whl
opengl_extrusions-1.2.1a2-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details for opengl_extrusions-1.2.1a2-cp310-cp310-win_amd64.whl
opengl_extrusions-1.2.1a2-cp310-cp310-win32.whl CPython 3.10 CPython 3.10 Windows x86-32 Details for opengl_extrusions-1.2.1a2-cp310-cp310-win32.whl
opengl_extrusions-1.2.1a2-cp310-cp310-musllinux_1_2_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ x86-64 Details for opengl_extrusions-1.2.1a2-cp310-cp310-musllinux_1_2_x86_64.whl
opengl_extrusions-1.2.1a2-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64, Linux glibc 2.5+ x86-64 Details for opengl_extrusions-1.2.1a2-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
opengl_extrusions-1.2.1a2-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details for opengl_extrusions-1.2.1a2-cp310-cp310-macosx_11_0_arm64.whl
opengl_extrusions-1.2.1a2-cp310-cp310-macosx_10_9_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.9+ x86-64 Details for opengl_extrusions-1.2.1a2-cp310-cp310-macosx_10_9_x86_64.whl

Total release size: 7.1 MB

Release files / opengl_extrusions-1.2.1a2.tar.gz

Download URL opengl_extrusions-1.2.1a2.tar.gz
Size 223.5 kB
Tags Source
SHA-256 checksum
How to use checksums
594b976f3aa320d0b3db7cf569d69b7cd08a1c45c22a913298a4c075ac05aab8
BLAKE2b-256 checksum
How to use checksums
f25c859349de03ba2023d98054d06c54765b87918b8a3a55871587381581f685
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 24, 2026.

Transparency log

Release files / opengl_extrusions-1.2.1a2-cp314-cp314-win_amd64.whl

Download URL opengl_extrusions-1.2.1a2-cp314-cp314-win_amd64.whl
Size 197.3 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
4c5ec91a3aec722522a1df87dec97fcbdaa8ea3d2d4db234bcd8364be5b5cf8c
BLAKE2b-256 checksum
How to use checksums
7841b22a7620832f39d12c1c47647d9d75311df65841e645c3d175ad7d882339
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 24, 2026.

Transparency log

Release files / opengl_extrusions-1.2.1a2-cp314-cp314-win32.whl

Download URL opengl_extrusions-1.2.1a2-cp314-cp314-win32.whl
Size 195.8 kB
Tags CPython 3.14 Windows x86-32
SHA-256 checksum
How to use checksums
7ae15ecbb7dc504c3fba470079523faa910e6b7d9390741e8d4ad10379df144d
BLAKE2b-256 checksum
How to use checksums
b3aef478e5080ae66cdf0592c1c7fcd54ae0cde13f1aaa86934fdf379fc518da
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 24, 2026.

Transparency log

Release files / opengl_extrusions-1.2.1a2-cp314-cp314-musllinux_1_2_x86_64.whl

Download URL opengl_extrusions-1.2.1a2-cp314-cp314-musllinux_1_2_x86_64.whl
Size 301.0 kB
Tags CPython 3.14 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
2ea48b55966fb06a615bb30addeb6ac2caba79a8fce59ea019b14bbfb30e29f5
BLAKE2b-256 checksum
How to use checksums
95a8d4c58aeb6d360f801d074c03cd3cb3dffc1259f9fe776971763e56a15d8c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 24, 2026.

Transparency log

Release files / opengl_extrusions-1.2.1a2-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL opengl_extrusions-1.2.1a2-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 300.2 kB
Tags CPython 3.14 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
b9e7bafecf1b4f602bc44cd5a03f0d2f3d71c89a0024a6d86f336472a5136806
BLAKE2b-256 checksum
How to use checksums
958281c87ba38623242fac77283ea50804ccfbf91beef0403fed6fe6ca966327
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 24, 2026.

Transparency log

Release files / opengl_extrusions-1.2.1a2-cp314-cp314-macosx_11_0_arm64.whl

Download URL opengl_extrusions-1.2.1a2-cp314-cp314-macosx_11_0_arm64.whl
Size 196.9 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
5656b5f4c9454add65231112d4caecde32c4a19ab3f29da9fdd0dc5c52e05573
BLAKE2b-256 checksum
How to use checksums
21bed35cc27774f2e38549d03e130c96d0cbd69cf2d42eb87d288d21b3e77294
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 24, 2026.

Transparency log

Release files / opengl_extrusions-1.2.1a2-cp314-cp314-macosx_10_15_x86_64.whl

Download URL opengl_extrusions-1.2.1a2-cp314-cp314-macosx_10_15_x86_64.whl
Size 196.1 kB
Tags CPython 3.14 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
68d4b84584effbb9244af7377207cab385b6e50f9e30c7c77306365f31ace1ae
BLAKE2b-256 checksum
How to use checksums
61098323afdf1e69b0de5a40a55006f5beeb2fce36cc578badde77b43ab38b20
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 24, 2026.

Transparency log

Release files / opengl_extrusions-1.2.1a2-cp313-cp313-win_amd64.whl

Download URL opengl_extrusions-1.2.1a2-cp313-cp313-win_amd64.whl
Size 196.3 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
cc67838b0f248d805785fdfbfd5f83af7916309afb9b3f0628bbe604715d928a
BLAKE2b-256 checksum
How to use checksums
0c48cd3e060768ab5f39dc5c684c50ccd1c2e06108858431b8c3f7d7d7f7a36a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 24, 2026.

Transparency log

Release files / opengl_extrusions-1.2.1a2-cp313-cp313-win32.whl

Download URL opengl_extrusions-1.2.1a2-cp313-cp313-win32.whl
Size 194.9 kB
Tags CPython 3.13 Windows x86-32
SHA-256 checksum
How to use checksums
d45ddef175387f7c08da729c9c34f22988b89f0caef26389e448d8a168a15244
BLAKE2b-256 checksum
How to use checksums
3433f6776b7aac2ce7d0d4bb0e1a8f77e9f51e2abb36ea18b274c0c7e272e2b7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 24, 2026.

Transparency log

Release files / opengl_extrusions-1.2.1a2-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL opengl_extrusions-1.2.1a2-cp313-cp313-musllinux_1_2_x86_64.whl
Size 302.2 kB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
80c2fba6bb7699e974cd87bb2e758da90bd5477fce3074ae3d125597ebb61af7
BLAKE2b-256 checksum
How to use checksums
c0a205f8e75e6c93528f019a55568d6923113e574a402f1b64cb42d0827c3df1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 24, 2026.

Transparency log

Release files / opengl_extrusions-1.2.1a2-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL opengl_extrusions-1.2.1a2-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 301.9 kB
Tags CPython 3.13 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
6b8482c03bb2b823fc06b6319d263649bcd9414a030752f7b260c91a115a9f09
BLAKE2b-256 checksum
How to use checksums
b37d59b2edaeea96c7fef6b568e2b165d0651ea84cda5f571dae57e2a247d157
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 24, 2026.

Transparency log

Release files / opengl_extrusions-1.2.1a2-cp313-cp313-macosx_11_0_arm64.whl

Download URL opengl_extrusions-1.2.1a2-cp313-cp313-macosx_11_0_arm64.whl
Size 196.8 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
b4af0cba4f31ccfaff54df565a67cfd87e70ceffd0db2893fe5c96e18fefb76d
BLAKE2b-256 checksum
How to use checksums
1dee241914bbe21056a0761e65241c593befedc6c8e0a3b232844d08f2a94f32
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 24, 2026.

Transparency log

Release files / opengl_extrusions-1.2.1a2-cp313-cp313-macosx_10_13_x86_64.whl

Download URL opengl_extrusions-1.2.1a2-cp313-cp313-macosx_10_13_x86_64.whl
Size 196.1 kB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
92b62041fdd5027a9b9340c9804222e4e14dd7076b1f7926d14b7ce275da677a
BLAKE2b-256 checksum
How to use checksums
1231eba1073b305b9ba68771418b11cf32d928223084ee4b09c97ab4d1eaba8d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 24, 2026.

Transparency log

Release files / opengl_extrusions-1.2.1a2-cp312-cp312-win_amd64.whl

Download URL opengl_extrusions-1.2.1a2-cp312-cp312-win_amd64.whl
Size 196.5 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
31e7b0c518ff63a3725684ebf9bcfff16cfdfa329fd1dbce88256c42885bc9c7
BLAKE2b-256 checksum
How to use checksums
7ff174cc1ffebc62536b87d0b0828d22c19394415bef30374791078274cb506c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 24, 2026.

Transparency log

Release files / opengl_extrusions-1.2.1a2-cp312-cp312-win32.whl

Download URL opengl_extrusions-1.2.1a2-cp312-cp312-win32.whl
Size 194.9 kB
Tags CPython 3.12 Windows x86-32
SHA-256 checksum
How to use checksums
25a4deb0c705d679802d59037aee264a15f7799464ce86f03c837c5460e3cf1a
BLAKE2b-256 checksum
How to use checksums
186667be16c7108c50f02a0412d572f1cd0d3d79bfe7f599d5b823f37573ed7b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 24, 2026.

Transparency log

Release files / opengl_extrusions-1.2.1a2-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL opengl_extrusions-1.2.1a2-cp312-cp312-musllinux_1_2_x86_64.whl
Size 300.9 kB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
958866dfa7dd94639985cb9bb3714b436cc57297d7e86fc91ef00a04a69bc035
BLAKE2b-256 checksum
How to use checksums
8660d03b9fe6330378c367c317b4ef4b8b7bb8874699e21e960fb900579d0621
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 24, 2026.

Transparency log

Release files / opengl_extrusions-1.2.1a2-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL opengl_extrusions-1.2.1a2-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 300.8 kB
Tags CPython 3.12 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
ebcf4180c11e628b7b800840f177d7fd80c336948e2e21a950a1cb3ab9eb385c
BLAKE2b-256 checksum
How to use checksums
b29f59125f944da3bed0d7a38ae813fe4166dccba8b07ae1777211a65bec7004
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 24, 2026.

Transparency log

Release files / opengl_extrusions-1.2.1a2-cp312-cp312-macosx_11_0_arm64.whl

Download URL opengl_extrusions-1.2.1a2-cp312-cp312-macosx_11_0_arm64.whl
Size 197.0 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
3d0e14ab8b75a2e02297e7fd62c860f856d475436b1a9a15ae98d7cabfec619c
BLAKE2b-256 checksum
How to use checksums
bbda273495fdba89f38903d5bc413f6e86c9d3279e2aa131f9639c7fee45331a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 24, 2026.

Transparency log

Release files / opengl_extrusions-1.2.1a2-cp312-cp312-macosx_10_13_x86_64.whl

Download URL opengl_extrusions-1.2.1a2-cp312-cp312-macosx_10_13_x86_64.whl
Size 196.2 kB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
692a65a9f95c907b421a6994fdd485383ca3e0dbab91952b9ba21f01c9242606
BLAKE2b-256 checksum
How to use checksums
04045798dee42d6f860754a3b422c7f5135bc8b7ddc3c017f7a87393fd8e99cf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 24, 2026.

Transparency log

Release files / opengl_extrusions-1.2.1a2-cp311-cp311-win_amd64.whl

Download URL opengl_extrusions-1.2.1a2-cp311-cp311-win_amd64.whl
Size 196.0 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
7d3c0791acaccce5305357f9826282d86a094b799a18d8deb428a45e596aef2f
BLAKE2b-256 checksum
How to use checksums
990b8b6e91d4ae5b5fd74f4cc013441a78be4ff43c0195100415668fbbc64d72
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 24, 2026.

Transparency log

Release files / opengl_extrusions-1.2.1a2-cp311-cp311-win32.whl

Download URL opengl_extrusions-1.2.1a2-cp311-cp311-win32.whl
Size 194.5 kB
Tags CPython 3.11 Windows x86-32
SHA-256 checksum
How to use checksums
f88b8df6e1e60a54d8700561be6def258bfb9611238d618def19e57ad6dc6359
BLAKE2b-256 checksum
How to use checksums
ffa19d73ce21a82582c2fa807d04497f3bd549616fefc511f4b3dffea4ab72b9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 24, 2026.

Transparency log

Release files / opengl_extrusions-1.2.1a2-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL opengl_extrusions-1.2.1a2-cp311-cp311-musllinux_1_2_x86_64.whl
Size 294.0 kB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
b9a4e5e41a69aaf2ec59066dbee5a536f35540e7da1a36e81530da026d3a9235
BLAKE2b-256 checksum
How to use checksums
8b1c56b19b0050ea600d61d96ccc85729138eef552b9051e7e73e4d832a9d883
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 24, 2026.

Transparency log

Release files / opengl_extrusions-1.2.1a2-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL opengl_extrusions-1.2.1a2-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 293.4 kB
Tags CPython 3.11 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
151f89a44c24f838742a4fe791ebd6de4fa754adfe4b7a628920592699fef6c3
BLAKE2b-256 checksum
How to use checksums
f114bd4e0d3567e93cfac4133b76f2bb0a4791e3953a5aeb532f7048ca80a156
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 24, 2026.

Transparency log

Release files / opengl_extrusions-1.2.1a2-cp311-cp311-macosx_11_0_arm64.whl

Download URL opengl_extrusions-1.2.1a2-cp311-cp311-macosx_11_0_arm64.whl
Size 196.3 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
08ad9cf88061ad9a52b776627dfe9edfbf1fa34b003f3c07bcb133320d73c837
BLAKE2b-256 checksum
How to use checksums
5f8c25a0c46b859e7001e6e3abbbc4795d76e0eccb377b0abbd95afe8161052a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 24, 2026.

Transparency log

Release files / opengl_extrusions-1.2.1a2-cp311-cp311-macosx_10_9_x86_64.whl

Download URL opengl_extrusions-1.2.1a2-cp311-cp311-macosx_10_9_x86_64.whl
Size 195.4 kB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
2e0b2b3c6f5d5b35d2ee2bca20ca233be0da46569b74c01a048a39739829d779
BLAKE2b-256 checksum
How to use checksums
077e5ef24b48f76eab98a3675b98539acbff2b9266bed13c23bd9e0209ecd1c9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 24, 2026.

Transparency log

Release files / opengl_extrusions-1.2.1a2-cp310-cp310-win_amd64.whl

Download URL opengl_extrusions-1.2.1a2-cp310-cp310-win_amd64.whl
Size 196.3 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
a3fd19600efbc04b8801ab10ad693f0d55a9300c3ed57de324eb1e8e392a5856
BLAKE2b-256 checksum
How to use checksums
ce7b8b8f0e418f6511b460da2adfde333954aa29694ca0e08aa0d2f6e096c407
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 24, 2026.

Transparency log

Release files / opengl_extrusions-1.2.1a2-cp310-cp310-win32.whl

Download URL opengl_extrusions-1.2.1a2-cp310-cp310-win32.whl
Size 194.7 kB
Tags CPython 3.10 Windows x86-32
SHA-256 checksum
How to use checksums
adbd2a506edb9d233958e292f7d950b6a9dac91abac7098e3f2ecf853dd12d6b
BLAKE2b-256 checksum
How to use checksums
9cdeb5321b5c39de7f60d124425298c24a8d0e7f9756b9b1a485b56d5bf90179
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 24, 2026.

Transparency log

Release files / opengl_extrusions-1.2.1a2-cp310-cp310-musllinux_1_2_x86_64.whl

Download URL opengl_extrusions-1.2.1a2-cp310-cp310-musllinux_1_2_x86_64.whl
Size 291.3 kB
Tags CPython 3.10 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
9f115e5de9ba348f699ab191fb122d23460ea84f06451bb2334dcbe65ab6a39a
BLAKE2b-256 checksum
How to use checksums
326597586d06b52146bd6e3a499b5161f0615c73916efd333cf1f9ceac327194
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 24, 2026.

Transparency log

Release files / opengl_extrusions-1.2.1a2-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl

Download URL opengl_extrusions-1.2.1a2-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Size 290.9 kB
Tags CPython 3.10 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
85ace34d9d31d67d8122f6d5a48a105880905036c24e1db34daaace7fee811e6
BLAKE2b-256 checksum
How to use checksums
ae39bdd4a3b9c745167681b0299c30922401271dfb20927212cfb188419a86fc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 24, 2026.

Transparency log

Release files / opengl_extrusions-1.2.1a2-cp310-cp310-macosx_11_0_arm64.whl

Download URL opengl_extrusions-1.2.1a2-cp310-cp310-macosx_11_0_arm64.whl
Size 196.9 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
6c433f3d00a9c41a2133f932a5f855859abe4edb280e092a49775e43d74f6138
BLAKE2b-256 checksum
How to use checksums
fbbed9d0aec6074f56825ed7b1ab722b58e1947571f581bebe39be322da6fb04
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 24, 2026.

Transparency log

Release files / opengl_extrusions-1.2.1a2-cp310-cp310-macosx_10_9_x86_64.whl

Download URL opengl_extrusions-1.2.1a2-cp310-cp310-macosx_10_9_x86_64.whl
Size 195.9 kB
Tags CPython 3.10 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
4618cbce2deac174d0ae0bb41ca7ef436b3f288e97667959b3dca2f11e9cbf36
BLAKE2b-256 checksum
How to use checksums
24e9242b4bd9b94108a9650b92ee4712a389c7d1cbbad39d8c4e67e981c33611
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 24, 2026.

Transparency log

Security for opengl-extrusions 1.2.1a2

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_extrusions-1.2.1a2.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 24, 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.

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