Skip to main content

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.

License

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

Metadata

Release files for polypix 0.5.1

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 0.5.1
File Size Uploaded Provenance
polypix-0.5.1.tar.gz 100.4 kB With provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for polypix 0.5.1
File
polypix-0.5.1-cp312-abi3-win_amd64.whl CPython 3.12 abi3 Windows x86-64 Details
polypix-0.5.1-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 abi3 Linux glibc 2.17+ x86-64 Details
polypix-0.5.1-cp312-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.12 abi3 Linux glibc 2.17+ ARM64 Details
polypix-0.5.1-cp312-abi3-macosx_11_0_x86_64.whl CPython 3.12 abi3 macOS 11.0+ x86-64 Details
polypix-0.5.1-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-0.5.1.tar.gz

Download URL polypix-0.5.1.tar.gz
Size 100.4 kB
Tags Source
SHA-256 checksum
How to use checksums
e467290574274f666871279a4471710538a7bd571eef2fd093adfd657b391666
BLAKE2b-256 checksum
How to use checksums
7ccc1c8d4bd42bce817fe04b44b48ca267a695d91e6e016a9b3a6f403a7e2090
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 Sep 24, 2026.

Transparency log

Release files / polypix-0.5.1-cp312-abi3-win_amd64.whl

Download URL polypix-0.5.1-cp312-abi3-win_amd64.whl
Size 474.3 kB
Tags CPython 3.12 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
2ac9e0faa0e1512580a162260f1df8ccb3c3f829a660c1b4a79d807bf54d28c3
BLAKE2b-256 checksum
How to use checksums
99689b61679cd2ad89b9ca820b979909c080dd2bfc93bc8c87fcf0c286745ef9
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 Sep 24, 2026.

Transparency log

Release files / polypix-0.5.1-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL polypix-0.5.1-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 548.0 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
45b3054b26296a1b19f1365f01e3747376b7de9d0f8344fa2d39f0b89fa8848d
BLAKE2b-256 checksum
How to use checksums
178be913c7c57963207491cb4ff77b78c30675476e52ec0c11d9f2808d874d14
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 Sep 24, 2026.

Transparency log

Release files / polypix-0.5.1-cp312-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL polypix-0.5.1-cp312-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 505.2 kB
Tags CPython 3.12 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
40f6738ce1f6df0d9302a48ff98fd5988d5561e2cd9b0fb051e13807daecec4d
BLAKE2b-256 checksum
How to use checksums
4d5046690c91a3584310722eaea74b6e05728383ceeb94503ca333c3b8b1ced2
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 Sep 24, 2026.

Transparency log

Release files / polypix-0.5.1-cp312-abi3-macosx_11_0_x86_64.whl

Download URL polypix-0.5.1-cp312-abi3-macosx_11_0_x86_64.whl
Size 513.8 kB
Tags CPython 3.12 abi3 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
8697538f4552730fe41a658dde39530f6d3e8daceee859f7fc1a1bebafd4a4a2
BLAKE2b-256 checksum
How to use checksums
5a323c365fb3e55c267adbd7414cd822a150578fc2dc6b8e9b0461996886f2c1
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 Sep 24, 2026.

Transparency log

Release files / polypix-0.5.1-cp312-abi3-macosx_11_0_arm64.whl

Download URL polypix-0.5.1-cp312-abi3-macosx_11_0_arm64.whl
Size 476.7 kB
Tags CPython 3.12 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
13453e3c46fa4ff4f043d54f18a6f54e2c54c60df3e8b95d2ad3cc5b078b9e38
BLAKE2b-256 checksum
How to use checksums
4b14abd752f6b21b6b69f9613a3ccccf52f22399b3720230f245d77bf84e4aa1
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 Sep 24, 2026.

Transparency log

Security for polypix 0.5.1

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.

Full provenance

All 6 files in this release have been uploaded with provenance metadata.

Select from 6 files

Attestation for polypix-0.5.1.tar.gz

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 Sep 24, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

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