This release is a pre-release and may not be stable for production use.
Polypix
Batch coverage of circles, polygons, and swept paths on a HEALPix grid.
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.
How many Starlink satellites can you see?
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)
| File | Size | Uploaded | |
|---|---|---|---|
| polypix-1.0.0rc1.tar.gz | 108.5 kB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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 logRelease 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