Skip to main content
Pre-release

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

Polypix

Polypix

Batch coverage of circles, polygons, and swept paths on a HEALPix grid.

PyPI Python 3.12+ License Tests Docs Benchmarks

Documentation | Changelog | PyPI | Repository | Issues

Hand Polypix a batch of spherical regions and it gives you back the HEALPix cells they cover, as standard RING IDs in NumPy arrays. The spherical geometry runs in a native kernel, which uses several cores for large calls. Use the result for coverage maps, visibility counts, and revisit analysis. Polygon coverage also accepts GeoJSON-like mappings and objects implementing __geo_interface__, including individual Shapely geometries.

Global map of the mean number of catalogued Starlink objects in view

All 10,771 catalogued Starlink objects, propagated for an hour and counted cell by cell. Two dense bands around 40° north and south see 70 to 90 objects at once, the equator about 37, the poles about 20. Behind it are 137 million cap-cell hits, counted by one cover_cap() call per timestamp, never stored, and done in well under a second.

Read the case study for the propagation, the service-cap geometry, and the timings.

Install

pip install polypix

There are wheels for CPython 3.12 and newer on Linux x86-64 and ARM64, macOS 11+ on Intel and Apple Silicon, and Windows x86-64. NumPy is the only runtime dependency.

Quick start

Two satellites overhead, each serving a circle on the ground. Centers are Cartesian directions and radii are in radians:

import numpy as np
import polypix as px

centers = np.array([[1.0, 0.0, 0.0], [0.0, 1.0, 0.0]])
radii = np.radians([6.0, 4.0])

coverage = px.cover_cap(centers, radii, resolution=6)
print(np.diff(coverage.offsets))  # [134  56]

coverage[i] holds the cells covered by satellite i. A cell is covered when its center falls inside the circle, so partial overlap at the boundary does not count. Pass mode="overlap" when every touched cell should count instead.

Ask for counts instead and the region-cell pairs are never built, which is how the map above is made:

counts = px.cover_cap(centers, radii, resolution=6, reduce=px.Count())
print(counts.shape)  # (49152,) one value per cell on the grid

Documentation

Start with Getting started. The site also carries the API reference, a resolution guide, and two constellation case studies that run end to end.

Versioning

Polypix follows semantic versioning. The public API is everything in polypix.__all__.

License

Apache License 2.0. See THIRD_PARTY_NOTICES.md for the dependency and embedded-code notices.

Metadata

Release files for polypix 1.0.0rc1

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

Source distribution (sdist)

Source distribution for polypix 1.0.0rc1
File Size Uploaded
polypix-1.0.0rc1.tar.gz 108.5 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for polypix 1.0.0rc1
File
polypix-1.0.0rc1-cp312-abi3-win_amd64.whl CPython 3.12 abi3 Windows x86-64 Details
polypix-1.0.0rc1-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 abi3 Linux glibc 2.17+ x86-64 Details
polypix-1.0.0rc1-cp312-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.12 abi3 Linux glibc 2.17+ ARM64 Details
polypix-1.0.0rc1-cp312-abi3-macosx_11_0_x86_64.whl CPython 3.12 abi3 macOS 11.0+ x86-64 Details
polypix-1.0.0rc1-cp312-abi3-macosx_11_0_arm64.whl CPython 3.12 abi3 macOS 11.0+ ARM64 Details

Total release size: 2.6 MB

Release files / polypix-1.0.0rc1.tar.gz

Download URL polypix-1.0.0rc1.tar.gz
Size 108.5 kB
Tags Source
SHA-256 checksum
How to use checksums
afdb4263352b861dab34f9faf6152b0212b4f40d393da00bb9ee698784bda919
BLAKE2b-256 checksum
How to use checksums
644c905a75990894cc5385062435c8fc1ee71625157ab52b2c7c9c502730244f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

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

PyPI Publish Attestation

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

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

Transparency log

Release files / polypix-1.0.0rc1-cp312-abi3-win_amd64.whl

Download URL polypix-1.0.0rc1-cp312-abi3-win_amd64.whl
Size 475.3 kB
Tags CPython 3.12 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
e9914599eee57e34d4ea9e513ebf7dc425124b197347916d41a45cf56f893583
BLAKE2b-256 checksum
How to use checksums
4b9251ba81fa45158969495b4860ed68cbd12e132fc0413e25f854c91868f940
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

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

PyPI Publish Attestation

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

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

Transparency log

Release files / polypix-1.0.0rc1-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL polypix-1.0.0rc1-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 548.4 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
5adad7628a98e9a790149ca57e6cf4d7149faa6e80f769012a52bc529bf7b86f
BLAKE2b-256 checksum
How to use checksums
06e79e37ecf207f269a3ede197fe1d631d9e41a114e130a359c7842d1e79901a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

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

PyPI Publish Attestation

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

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

Transparency log

Release files / polypix-1.0.0rc1-cp312-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL polypix-1.0.0rc1-cp312-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 509.6 kB
Tags CPython 3.12 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
8c87008dc89ec2cc32d98b2407186f16547c29fd224f70a8ece240d0ff7c3acb
BLAKE2b-256 checksum
How to use checksums
2790a371197d7ff32760ff86c3dd5223aaeea5a8c01ef98f532b694fdb6992a4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

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

PyPI Publish Attestation

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

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

Transparency log

Release files / polypix-1.0.0rc1-cp312-abi3-macosx_11_0_x86_64.whl

Download URL polypix-1.0.0rc1-cp312-abi3-macosx_11_0_x86_64.whl
Size 516.5 kB
Tags CPython 3.12 abi3 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
f8c6db9171fbb6703db882610584e6d1262d41a0e674908acbe7b0f7508deb00
BLAKE2b-256 checksum
How to use checksums
3f3ce049dad50679becb495da548ac9c664fcdefedc574761755971fddcae6cf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

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

PyPI Publish Attestation

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

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

Transparency log

Release files / polypix-1.0.0rc1-cp312-abi3-macosx_11_0_arm64.whl

Download URL polypix-1.0.0rc1-cp312-abi3-macosx_11_0_arm64.whl
Size 480.3 kB
Tags CPython 3.12 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
ee3a347089787c091aa11f9f6c18e766af53cf7cd48fc0de443cee05f89191cd
BLAKE2b-256 checksum
How to use checksums
1e08659571d53fc8ec52d0153d31458378c4e5cc459c50a64507faf6a78c8181
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

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

PyPI Publish Attestation

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

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

Transparency log

Release history Release notifications | RSS feed

This release

1.0.0rc1 This release

6 release files

0.5.1

6 release files

0.5.0

6 release files

0.4.0

6 release files

0.3.0

6 release files

0.2.1

10 release 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