Skip to main content
Pangolin: Plane Geometry Library

License

⚠️ Work in Progress: This library is still under construction and contains bugs and missing features. Use in production environments is not recommended.

Pangolin (or pgl) is a C++ library for computational geometry in the plane and pypgl is the official python binding for it. It is designed to be pleasant to use and always exact. Calculations are exact using rational numbers (floating point is not accepted).

import pypgl as pgl

p = pgl.Point(1, 0)
q = pgl.Point(4, '15/2')
s = pgl.Segment(p, q)
t = pgl.Segment(0, 8, '7/3', 1)
if s.intersects(t):
    print(s, "intersects", t)
# Output: (1,0)--(4,15/2) intersects (0,8)--(7/3,1)

Shapes and Predicates

Family Shapes
0-dimensional Point
1-dimensional Segment, OrientedSegment, Line, OrientedLine, Ray, Polyline, MonotoneChain
2-dimensional Halfplane, Triangle, Rectangle, Disk, Convex, Polygon, PolygonWithHoles, PolygonSet, HalfplaneIntersection

The following predicates are implemented as methods of all shapes.

  • contains(Shape) Does it contain the other shape?
  • boundaryContains(Shape) Does its boundary contain the other shape?
  • interiorContains(Shape) Does it contain the other shape in the interior?
  • intersects(Shape) Do the two shapes intersect?
  • interiorsIntersect(Shape) Do the interiors of the two shapes intersect?
  • separates(Shape) Does one shape cut the other into two (or more) components?
  • crosses(Shape) Do both shapes separate each other?
import pypgl as pgl

o = pgl.Point()      # Point (0,0)
d = pgl.Disk(o, 10)  # Disk of radius 10 centered at (0,0)
if d.contains(o):
    print("Disk contains", o)
diam = d.diameter()
if d.contains(diam):
    print("Disk contains the diameter")
if not d.interiorContains(diam):
    print("Disk's interior does not contain the diameter")
# Output:
# Disk contains (0,0)
# Disk contains the diameter
# Disk's interior does not contain the diameter

Other Methods

Several other methods are supported by the shapes.

import pypgl as pgl

c = pgl.Convex([pgl.Point(0, 0), pgl.Point(1, 0), pgl.Point(1, 2), pgl.Point(0, 1)])
s = c.diameter()
print("The diameter of", c,
      "is defined by", s,
      "and has length", s.length())
# Output: The diameter of Convex[(0,0),(1,0),(1,2),(0,1)] is defined by (0,0)--(1,2) and has length 2.23607

Distances come in the Euclidean (squaredDistance, exact and therefore squared), Manhattan (distanceL1) and Chebyshev (distanceLInf) flavors, each with a Hausdorff variant between shapes. samePointSet asks whether two shapes cover the same points, across types and regardless of how each is written.

The boolean operations (regularizedUnion, difference, symmetricDifference, regularizedIntersection) and the Minkowski sum are closed over the region shapes, so a result feeds straight back in:

import pypgl as pgl

square = pgl.Polygon([pgl.Point(0,0), pgl.Point(10,0), pgl.Point(10,10), pgl.Point(0,10)])
holed = square.difference(pgl.Rectangle(pgl.Point(3,3), pgl.Point(7,7)))
print(holed.area(), holed.holeCount())
# Output: 84 1

Shapes are moved around with +/-/*//, and an arbitrary affine map is applied with a Transformation:

import pypgl as pgl

t = pgl.Transformation.rotation90() * pgl.Transformation.translation(2, 0)
print(t * pgl.Segment(0, 0, 5, 5))
# Output: (-5,7)--(0,2)

Visualization

A Canvas class is provided for visualization, exporting to SVG, PDF, or Ipe:

import pypgl as pgl

canvas = pgl.Canvas()
canvas.draw(pgl.Point(0, 0))

tri = pgl.Triangle(-1, -1, 0, 2, 1, -2)
canvas.stroke("green")
canvas.draw(tri)
canvas.stroke("blue")
canvas.draw(2*tri)
canvas.writeSVG("example2.svg")

Algorithms and Data Structures

PGL includes fundamental algorithms and data structures such as:

  • Convex hull: convexHull / convexHullExtended, computed with Graham scan.
  • Line segment intersection: sweep-line and brute-force pair enumeration plus detection predicates, all using rational numbers.
  • Smallest enclosing disk (smallestEnclosingDisk) and closest pair of points (closestPair), both exact.
  • Visibility: visibility graphs and the visible region from a query point, for a polygon, a region, or a triangulation with walls.
  • Sort points: in place by angle (sortAround) or Hilbert order (hilbertSort).
  • Polyomino enumeration: free polyominoes as Polygon or PolygonWithHoles objects.
  • ShapeTree: a kd-tree for points, generalized to a mix of any bounded shapes, answering range and nearest-neighbor queries.
  • IntervalTree: a mutable one-dimensional index over the shapes' projections, balanced under insertion and removal.
  • Triangulation: including Delaunay and constrained Delaunay triangulations for points, polygons and regions, with traversal queries, incremental insertion, convex decomposition and Voronoi duals.
  • Arrangement: the exact subdivision of the plane induced by segments, rays and lines, with point location and face extraction.
  • Graph: the combinatorial companion of the geometric structures, with connectivity, clique cover, minimum spanning tree and shortest path.

Installation

pypgl requires Python 3.9 or newer.

From PyPI

pip install pypgl

Pre-built wheels are published for CPython 3.9–3.14 on Linux (manylinux_2_28, x86_64), macOS (Apple Silicon), and Windows, so most users need no compiler.

From source

Installing from a source tree or directly from GitHub builds the extension locally and therefore needs a C++20 compiler (GCC 12+, Clang 15+, or, on Windows, the LLVM/ClangCL toolset). The header-only pgl library is fetched automatically by CMake — nothing else to install.

pip install git+https://github.com/gfonsecabr/pypgl.git

Development install

Work on the bindings from a checkout with an editable, in-place build:

git clone https://github.com/gfonsecabr/pypgl.git
cd pypgl
python3 -m venv .venv
.venv/bin/pip install scikit-build-core nanobind pytest
.venv/bin/pip install -e . --no-build-isolation
.venv/bin/python -m pytest tests/ -q

--no-build-isolation lets CMake find the venv's nanobind. Re-run the pip install -e . step after editing any src/*.cpp, since the editable install is what rebuilds the extension. To build against a local pgl checkout instead of the pinned upstream commit:

.venv/bin/pip install -e . --no-build-isolation \
  -C cmake.define.PGL_INCLUDE_DIR=/path/to/pgl/include

More Information

  • For a brief description, check the documents at the doc folder.
  • Runnable scripts live in the examples folder — predicates, canvas styling, a shape gallery, ShapeTree queries, constrained triangulation, Minkowski sums, minimum spanning trees, visibility, arrangements and Voronoi diagrams.
  • Shapes and canvases render inline in a Jupyter notebook — see canvas.md.
  • Check the C++ version.

Download files

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

Source Distribution

pypgl-0.6.0.tar.gz (1.9 MB view details)

Uploaded Source

Built Distributions

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

pypgl-0.6.0-cp314-cp314-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.14Windows x86-64

pypgl-0.6.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pypgl-0.6.0-cp314-cp314-macosx_11_0_arm64.whl (2.1 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

pypgl-0.6.0-cp313-cp313-win_amd64.whl (2.2 MB view details)

Uploaded CPython 3.13Windows x86-64

pypgl-0.6.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pypgl-0.6.0-cp313-cp313-macosx_11_0_arm64.whl (2.1 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

pypgl-0.6.0-cp312-cp312-win_amd64.whl (2.2 MB view details)

Uploaded CPython 3.12Windows x86-64

pypgl-0.6.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pypgl-0.6.0-cp312-cp312-macosx_11_0_arm64.whl (2.1 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pypgl-0.6.0-cp311-cp311-win_amd64.whl (2.2 MB view details)

Uploaded CPython 3.11Windows x86-64

pypgl-0.6.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pypgl-0.6.0-cp311-cp311-macosx_11_0_arm64.whl (2.1 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pypgl-0.6.0-cp310-cp310-win_amd64.whl (2.2 MB view details)

Uploaded CPython 3.10Windows x86-64

pypgl-0.6.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pypgl-0.6.0-cp310-cp310-macosx_11_0_arm64.whl (2.1 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

pypgl-0.6.0-cp39-cp39-win_amd64.whl (2.2 MB view details)

Uploaded CPython 3.9Windows x86-64

pypgl-0.6.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pypgl-0.6.0-cp39-cp39-macosx_11_0_arm64.whl (2.1 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

Details for the file pypgl-0.6.0.tar.gz.

File metadata

  • Download URL: pypgl-0.6.0.tar.gz
  • Upload date:
  • Size: 1.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for pypgl-0.6.0.tar.gz
Algorithm Hash digest
SHA256 f120aa448375e7162148d0ba4d173a4ea75c40e64b21a805659322146944282b
MD5 b087e8efb5c95cff7e10fc21b954bdf9
BLAKE2b-256 eb2e358be2a5c268c0275b46532d99da15f878335be5331eda0cec3583bbedb3

See more details on using hashes here.

Provenance

The following attestation bundles were made for pypgl-0.6.0.tar.gz:

Publisher: wheels.yml on gfonsecabr/pypgl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pypgl-0.6.0-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: pypgl-0.6.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for pypgl-0.6.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 96bea8800afcaa21658bd2277267e1bc54bc01ce28475eed823310d177b56785
MD5 67330b552b61ba39ab3108e14413b698
BLAKE2b-256 0f1909de3e05fdf8f27f95fa61466f9100699e49f0df480d3af4d0021f064ddc

See more details on using hashes here.

Provenance

The following attestation bundles were made for pypgl-0.6.0-cp314-cp314-win_amd64.whl:

Publisher: wheels.yml on gfonsecabr/pypgl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pypgl-0.6.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pypgl-0.6.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6bb8e40c000bf69ab19b1392d82f9b2af5c53e3fda705723372c0fb2da4ffc21
MD5 24e1c7079da457f88abfbd76bf093e5f
BLAKE2b-256 b590cb6ef9d5daa65c183646ba6d7765eae6f76036ba92658e8ffb20bea6aab1

See more details on using hashes here.

Provenance

The following attestation bundles were made for pypgl-0.6.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on gfonsecabr/pypgl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pypgl-0.6.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pypgl-0.6.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 80ecf686271b5e590b72f824b1a6144b0459ebc982e7a51088bdfebfb9a082e6
MD5 f022069b6367352f18ad3cc78ae49cd7
BLAKE2b-256 d0b1377960a6aa383c9ca680353ae31430db62a235cb74f0cc1fd275c881d7dd

See more details on using hashes here.

Provenance

The following attestation bundles were made for pypgl-0.6.0-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: wheels.yml on gfonsecabr/pypgl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pypgl-0.6.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: pypgl-0.6.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for pypgl-0.6.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 c7b283bbf78388688280d4e5c31b1856ceac1fdc17a6f33a9bee4a78cfc29878
MD5 616b61665590353fbcb4411e03591b20
BLAKE2b-256 da54b4452a93a44533f79e84508e1f0f9c794ea4c97fb242819c104fec46c4bc

See more details on using hashes here.

Provenance

The following attestation bundles were made for pypgl-0.6.0-cp313-cp313-win_amd64.whl:

Publisher: wheels.yml on gfonsecabr/pypgl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pypgl-0.6.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pypgl-0.6.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e3f0b36cde29abd0799d6206e1ba863192cb70e56f30d9709c51766212c47e7a
MD5 0e1fdeff717b46d8f1f8c961edfeeaf6
BLAKE2b-256 d219449af70de32afc62a8d13d78209c51a0965c77cae4958ee55099d9dc26cc

See more details on using hashes here.

Provenance

The following attestation bundles were made for pypgl-0.6.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on gfonsecabr/pypgl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pypgl-0.6.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pypgl-0.6.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 975459e4d6c7997792d62b38489d2760b95512ebf36e7e54dfbb6cb1b316d97f
MD5 0600d34dff4347b9c2db3b387d51a531
BLAKE2b-256 80aade6c2a6a268427e16a6a407f1168edc8e4d061d4f36ec633b9968a4f7dd5

See more details on using hashes here.

Provenance

The following attestation bundles were made for pypgl-0.6.0-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: wheels.yml on gfonsecabr/pypgl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pypgl-0.6.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: pypgl-0.6.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for pypgl-0.6.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 1a4080456da3c962c4fcb333c2f2f26936dd83ab8bcbe44b9956a430483ae4b0
MD5 1c62e6db16579da179ac0845feb93aa8
BLAKE2b-256 595ec5f72c09761cf9c2f48858518941f04ad11ce0ffa5dd271516d7b3f86095

See more details on using hashes here.

Provenance

The following attestation bundles were made for pypgl-0.6.0-cp312-cp312-win_amd64.whl:

Publisher: wheels.yml on gfonsecabr/pypgl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pypgl-0.6.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pypgl-0.6.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3dc2d1e4c2b39766dd596f85cc759593cac4c988d04e313bc7f5ab7535fd67c0
MD5 2f49211bd4c7c0d927194be488930a75
BLAKE2b-256 297209a4581086bf2f1ef710e9159e2b53f922eccf2edd28e8de8ae2eaecd4c5

See more details on using hashes here.

Provenance

The following attestation bundles were made for pypgl-0.6.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on gfonsecabr/pypgl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pypgl-0.6.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pypgl-0.6.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fe8b1fd3f631a990ca331c4e9acf1640ea7ec9f3ed2b6147f025a39f53d76dd3
MD5 ff8835243ff122b22bbc75211d633918
BLAKE2b-256 27ccfbb306c1d842779cb6c70105cd198c29e0f6f72b4d81e34306e08499922e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pypgl-0.6.0-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: wheels.yml on gfonsecabr/pypgl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pypgl-0.6.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: pypgl-0.6.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for pypgl-0.6.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 553c526bcc211fc751beb41b686f1e26fd4edde0b96d85022b01a78d5ff617f8
MD5 330e7ef2e5164ffc74c7ecaf8370993c
BLAKE2b-256 524331ad79b06c874c140b8f154d89ea0fc13e75404f41ff54968eeffce3607c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pypgl-0.6.0-cp311-cp311-win_amd64.whl:

Publisher: wheels.yml on gfonsecabr/pypgl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pypgl-0.6.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pypgl-0.6.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ee0c48663cfb8871158ec96a8630ff5e5725b1f756ddc00e1ca5562c93ed1b60
MD5 650139b3a65acce82f10f5b25d76ba4e
BLAKE2b-256 b50f51f3f2085132db3355d897949b87bc0c1bc8ca60847679e464aa3267eb93

See more details on using hashes here.

Provenance

The following attestation bundles were made for pypgl-0.6.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on gfonsecabr/pypgl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pypgl-0.6.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pypgl-0.6.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5d462a7665409780390f9c75a4f752f136583bb201c10c0dc7eb4ef653b4d017
MD5 862582bcc6419403b88e44671adf89e2
BLAKE2b-256 f6c94756d42b7da1535ed4b9e158fecf0e1cf26f1fd22506fd3e0d66472557b6

See more details on using hashes here.

Provenance

The following attestation bundles were made for pypgl-0.6.0-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: wheels.yml on gfonsecabr/pypgl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pypgl-0.6.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: pypgl-0.6.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for pypgl-0.6.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 b31ce158512a86d2b4e3139a819b440957107e073fe8351d94ada9ed16e12fc2
MD5 0b267fd2ec2b9178856f2886f48248e6
BLAKE2b-256 adc86b3534136a2881bfcd4d9edff42160f8523db2f3f2825738141511345112

See more details on using hashes here.

Provenance

The following attestation bundles were made for pypgl-0.6.0-cp310-cp310-win_amd64.whl:

Publisher: wheels.yml on gfonsecabr/pypgl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pypgl-0.6.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pypgl-0.6.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f0047b4913befd3258657bb5dd625fca00d59b7848fa8e884bf1ad0e0c1cef83
MD5 7ff196d53d111ef06a21b321102d58dc
BLAKE2b-256 a0ed7b040244a8e6b89b3cdb8d2764cc0c04e9087e1c75314b4318070d4dff9c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pypgl-0.6.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on gfonsecabr/pypgl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pypgl-0.6.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pypgl-0.6.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 149d71f69c6538145b9a70253d123307da11eb2a81184aa46a2f48074fdc0fbd
MD5 b3efa0266df0e66a9f6ce3478161ced5
BLAKE2b-256 8118cc878c7a262dd9c5e0808633afee55b1f2d74efc3137cc28c89b1eff9059

See more details on using hashes here.

Provenance

The following attestation bundles were made for pypgl-0.6.0-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: wheels.yml on gfonsecabr/pypgl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pypgl-0.6.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: pypgl-0.6.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for pypgl-0.6.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 c889e34137637b6abd2c047b69bbd031d52d1a0dbd020ecf8139c878f7c03d02
MD5 346eb87f7f27f4089825558c6695dc7b
BLAKE2b-256 b1c176652fd55607a18030661f0eab8ab28e805b47efcd780cebb9879ecb05db

See more details on using hashes here.

Provenance

The following attestation bundles were made for pypgl-0.6.0-cp39-cp39-win_amd64.whl:

Publisher: wheels.yml on gfonsecabr/pypgl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pypgl-0.6.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pypgl-0.6.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d4320a64a06e84686417118995b60c650e57dac5a3dd77e257111fac1632f94c
MD5 099156a51b67eeb6657b54ed510c4523
BLAKE2b-256 ce736f12c2f6ed501666e492bbcf7e2c9bd8069db0371882ee902b5c9e770bdf

See more details on using hashes here.

Provenance

The following attestation bundles were made for pypgl-0.6.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on gfonsecabr/pypgl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pypgl-0.6.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

  • Download URL: pypgl-0.6.0-cp39-cp39-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 2.1 MB
  • Tags: CPython 3.9, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for pypgl-0.6.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 97d8dfd63d5287b137aff2ece4d3e25b74578dad4450ae14175a43a328fb74a4
MD5 0c5c92611d437dac3b0efe8543d5069d
BLAKE2b-256 3ac97d2636a9772af5e117d4a28d4697f988d239b76150a49cdbce526b558ff7

See more details on using hashes here.

Provenance

The following attestation bundles were made for pypgl-0.6.0-cp39-cp39-macosx_11_0_arm64.whl:

Publisher: wheels.yml on gfonsecabr/pypgl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

1.2.0

16 files

1.1.0

16 files

1.0.0

16 files

0.7.0

16 files

This release

0.6.0 This release

19 files

0.5.1

19 files

0.5.0

16 files

0.4.0

16 files

0.3.1

16 files

0.3.0

16 files

0.2.1

16 files

0.2.0

16 files

0.1.1

16 files

0.1.0

16 files

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