Skip to main content

2D and 3D computational geometry library which scales from prototyping to production

Project description


version python versions license coverage build docs build code style

2D and 3D computational geometry library which scales from prototyping to production.

Includes vectorized geometric operations, transforms, and primitives like planes, polygonal chains, and axis-aligned bounding boxes. Implemented in pure Python/NumPy. Lightweight and fast.

The goals of this project are:

  • Keep dependencies light and deployment flexible.
  • Keep the library working in current versions of Python and other tools.
  • Respond to community contributoions.
  • Eventually provide a complete set of functionality for this problem domain.


Geometric operations, transforms, and primitives, in 2D and 3D.

The most commonly used of these are directly imported into polliwog.

polliwog.transform includes code for 3D transforms.

Other modules:


pip install polliwog


import numpy as np
from polliwog import Polyline

# ...


Pull requests welcome!


If you are having issues, please let us know.


This collection was developed at Body Labs and includes a combination of code developed at Body Labs, from legacy code and significant new portions by Eric Rachlin, Alex Weiss, and Paul Melnikow. It was extracted from the Body Labs codebase and open-sourced by Alex Weiss into a library called blmath, which was subsequently forked by Paul Melnikow. This library and the 3D geometry and linear-algebra toolbelt vg were later extracted.


The project is licensed under the two-clause BSD license.

Download files

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

Files for polliwog, version 0.12.0
Filename, size File type Python version Upload date Hashes
Filename, size polliwog-0.12.0-py2-none-any.whl (56.5 kB) File type Wheel Python version py2 Upload date Hashes View
Filename, size polliwog-0.12.0-py3-none-any.whl (56.5 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size polliwog-0.12.0.tar.gz (28.3 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page