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)

There are many more illustrated examples that give a good overview of the library's features and syntax.

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. Its dual, the Minkowski erosion, answers where a shape fits inside another:

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

Pangolin includes fundamental algorithms:

  • Convex hull computed with Graham scan.
  • Line segment intersection: Bentley-Ottmann sweep line using rational numbers.
  • Minkowski sum, Minkowski erosion and boolean operations.
  • Visibility graph and visibility polygon.
  • Find the closest pair of points using divide and conquer.
  • Smallest enclosing disk and rectangle.
  • Sort points by angle or Hilbert order.

and data structures:

  • Kd-tree for points and a generalization for other bounded shapes.
  • Interval tree to use 1-dimensional queries on projections.
  • Triangulation including Delaunay and constrained Delaunay triangulations for points and polygons.
  • Arrangement of lines, line segments, and rays with a trapezoidal map for fast point location.
  • Graph class for combinatorial algorithms like Dijkstra and Prim that can be used to compute Euclidean minimum spanning trees and shortest paths among obstacles.
  • Bit matrix over the integer grid: one bit per cell, for digital-geometry set algebra, Minkowski operations, connectivity and morphology a word at a time.

Installation

pypgl requires Python 3.10 or newer. Up to 0.6.0 the floor was 3.9, which reached end-of-life in October 2025; 3.9 users can stay on that release.

From PyPI

pip install pypgl

Pre-built wheels are published for CPython 3.10–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, enclosing shapes, minimum spanning trees, visibility, robot motion planning, 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-1.1.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-1.1.0-cp314-cp314-win_amd64.whl (2.7 MB view details)

Uploaded CPython 3.14Windows x86-64

pypgl-1.1.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.2 MB view details)

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

pypgl-1.1.0-cp314-cp314-macosx_11_0_arm64.whl (2.5 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

pypgl-1.1.0-cp313-cp313-win_amd64.whl (2.6 MB view details)

Uploaded CPython 3.13Windows x86-64

pypgl-1.1.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.2 MB view details)

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

pypgl-1.1.0-cp313-cp313-macosx_11_0_arm64.whl (2.5 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

pypgl-1.1.0-cp312-cp312-win_amd64.whl (2.6 MB view details)

Uploaded CPython 3.12Windows x86-64

pypgl-1.1.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.2 MB view details)

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

pypgl-1.1.0-cp312-cp312-macosx_11_0_arm64.whl (2.5 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pypgl-1.1.0-cp311-cp311-win_amd64.whl (2.6 MB view details)

Uploaded CPython 3.11Windows x86-64

pypgl-1.1.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.2 MB view details)

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

pypgl-1.1.0-cp311-cp311-macosx_11_0_arm64.whl (2.5 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pypgl-1.1.0-cp310-cp310-win_amd64.whl (2.6 MB view details)

Uploaded CPython 3.10Windows x86-64

pypgl-1.1.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (2.2 MB view details)

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

pypgl-1.1.0-cp310-cp310-macosx_11_0_arm64.whl (2.5 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: pypgl-1.1.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-1.1.0.tar.gz
Algorithm Hash digest
SHA256 f1c1b112c7affc6e70ed85a1e2023efb397ac95c7eae30867e9a07e0e883b91f
MD5 8eba663b4177db73eb9b0b5513d20407
BLAKE2b-256 907d6704d0d2a05945e5102cb6eb80045a8426b010c2a9c76fc3656e6092fb5a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pypgl-1.1.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-1.1.0-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: pypgl-1.1.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 2.7 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-1.1.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 4dfd7b5a8f02038169c2dec99f5751942a865244b05cbea9446d0e15c4a60b7d
MD5 636ed0a4356b814b3ba377c9f23c3f7f
BLAKE2b-256 b2ad3f0d019baa07894a3f68ce791a4316f496e5a17bd2c50d97f3a3bed72ad9

See more details on using hashes here.

Provenance

The following attestation bundles were made for pypgl-1.1.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-1.1.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pypgl-1.1.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1d2b7a2f5ceeab7b55b1339443ee15086c33ab926f3175f1d5e29cc8f7dd2644
MD5 962443d54bc2917e762760f75ec6b4ba
BLAKE2b-256 c67a6592eff20b6bfbaa5f3aeca77d79365c58f4e8918c3499ed44c8e499fd1a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pypgl-1.1.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-1.1.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pypgl-1.1.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5c9556556c7f2f61e481bfb3ba3067b3c5e2c964a1e24d1ada67c0786ebbe657
MD5 3cf9829c3bd8e2599dcabc07854eb8cc
BLAKE2b-256 de14b7408e7d26e49fe36ab336d4db1aeaebaff24f8c8e2a71ae67174b85a3e0

See more details on using hashes here.

Provenance

The following attestation bundles were made for pypgl-1.1.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-1.1.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: pypgl-1.1.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 2.6 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-1.1.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 70ee2063e0ca5694f5c10edb7302e63382f1d49eccc616e5a34f08fefc4e1a66
MD5 24d6fe7a58050f44ee31fcab1207bcc0
BLAKE2b-256 9562f28c3025c5436f5d959f87c3e2dbcbefbbd891ce3851cef13e4c3b6c05f4

See more details on using hashes here.

Provenance

The following attestation bundles were made for pypgl-1.1.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-1.1.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pypgl-1.1.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 cb59a2e64d5d8c3b1d2c0667c16af08aa1f604d05ae3633402f23ed863f688d3
MD5 d7cbb416f3523b51d28dcce06a21878e
BLAKE2b-256 d3108e6b981be6645879692a01e6680d3a472536ef3a6221ab048c4802346cb0

See more details on using hashes here.

Provenance

The following attestation bundles were made for pypgl-1.1.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-1.1.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pypgl-1.1.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 eafb16b34904941aca20ec89b3b4795b5408fc11deb28167c490a2ba7f36bc61
MD5 1d3a37391611b843cae671d9bc6531bf
BLAKE2b-256 96eb68a17ec71ffb67407d66b1782c5fb6723deba518f8bd26b3d23271fcb92c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pypgl-1.1.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-1.1.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: pypgl-1.1.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 2.6 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-1.1.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 a7b127cfe0cc3de3b618a399872a540ad33e3a473fb1b0094703a819d1875cb0
MD5 f1c4e81e96805f8a549052543b4bcef7
BLAKE2b-256 466d773e853dd87cf4b7e078c4d1d377fafd56764991ff1f0f8058575b139730

See more details on using hashes here.

Provenance

The following attestation bundles were made for pypgl-1.1.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-1.1.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pypgl-1.1.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5d5e294630f1d82044a34168147225e23c3d3041df4d6572b108dc32e3650be6
MD5 66d84ba00706f26e499d7c2ad4c5258a
BLAKE2b-256 631b50fecd07d9eae284aa09782a39a548d4991786c416c21763b769c8575692

See more details on using hashes here.

Provenance

The following attestation bundles were made for pypgl-1.1.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-1.1.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pypgl-1.1.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b1ba2b4e9f6e06fd15f09d40c4443d07cc41e94e2518aa4a50cc8f001260db7c
MD5 915cd43ac9ccb17da5dce613bde24876
BLAKE2b-256 5353dfb3b2e400c3efdc5b9553d15773a343f16d4675e43b61a932d35aa22b5a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pypgl-1.1.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-1.1.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: pypgl-1.1.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 2.6 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-1.1.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 3594a9056111ddee34e50425979b326963fc984e3084192379c0e6fda6aded77
MD5 02939b210b43da0a2269f20fcc299794
BLAKE2b-256 aae1c581c6e0b9902aa0da4190ea67601e8620723317838ff13cfcb4cc1dcad9

See more details on using hashes here.

Provenance

The following attestation bundles were made for pypgl-1.1.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-1.1.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pypgl-1.1.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ddf21d304185e51247336155ed8a5bf2408d92af14646d99338bd224da57160d
MD5 a9c6f737c5754786820b32429e707be1
BLAKE2b-256 ad49c406eb864241fba5bdb4b71bcea0014b688a205acbfb93c41d2899883bc8

See more details on using hashes here.

Provenance

The following attestation bundles were made for pypgl-1.1.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-1.1.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pypgl-1.1.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6335d574c39babd0a0b3baf140040d568d501ec52fb2817997b16515346027c5
MD5 e640b4ac4b5fc6c2e589cf7f22a0ccd8
BLAKE2b-256 d0b03429dac30156c7fe97fc41d6f3181f59eb7596f0156411804429c5f9dceb

See more details on using hashes here.

Provenance

The following attestation bundles were made for pypgl-1.1.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-1.1.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: pypgl-1.1.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 2.6 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-1.1.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 5bb5e9ab93840fb034f61be7628a7f199094e51b07dc541e328ccf4e7e178a63
MD5 f901f254db057fb75c980c46dcffb374
BLAKE2b-256 1d2bcadf74552cab31e4968d86ed8ec75abf4adeb253bba4f8bf23543205e203

See more details on using hashes here.

Provenance

The following attestation bundles were made for pypgl-1.1.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-1.1.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pypgl-1.1.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 75383a19488ab4aa7139edebb3a546d2709c5a7dfdd65876c24814ce5dc09494
MD5 57466c59767402b12426d3b04595f3e3
BLAKE2b-256 d8da866134e8b084ab2d53116bc0c5e952e14d7e96ca36f89fbf5ec161c95103

See more details on using hashes here.

Provenance

The following attestation bundles were made for pypgl-1.1.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-1.1.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pypgl-1.1.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fbe3b1cb9ff044b071e5703f064e79eb552df7060d2fc1ad3a65b9c58e63e514
MD5 92119fe9f03ce023c4884a6d11a90ea3
BLAKE2b-256 2a096b1f928ee7f604298dd26ea4fd3c77c6e96afb3809a99e925eb960557635

See more details on using hashes here.

Provenance

The following attestation bundles were made for pypgl-1.1.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.

Release history Release notifications | RSS feed

1.2.0

16 files

This release

1.1.0 This release

16 files

1.0.0

16 files

0.7.0

16 files

0.6.0

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