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.

How many Starlink satellites can you see?

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.0

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

Built distributions (wheels)

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

Total release size: 2.5 MB

Release files / polypix-0.5.0.tar.gz

Download URL polypix-0.5.0.tar.gz
Size 91.8 kB
Tags Source
SHA-256 checksum
How to use checksums
29964f35fd8287c014296ea9c3f1ce075bf3313baeb6faa8b28b67500820c199
BLAKE2b-256 checksum
How to use checksums
0e7cab1526dc33bf4f161054c26105fe9a898d65afe77bbfe8f90fe8bdffb5c8
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 5, 2026.

Transparency log

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

Download URL polypix-0.5.0-cp312-abi3-win_amd64.whl
Size 458.1 kB
Tags CPython 3.12 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
ad4d5fdf71c9ed7b2c3abf7484e0e65a37de38ec9acec4c759f386ae1bfab4fa
BLAKE2b-256 checksum
How to use checksums
e3b912ac8354de45afe13320e70b3f041c46e7cca212310cdf5c3bd52a41e0c4
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 5, 2026.

Transparency log

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

Download URL polypix-0.5.0-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 534.6 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
4ae3380bb6f4475d52618e642eae98b9c8eba548f27360ad0932eeb357204992
BLAKE2b-256 checksum
How to use checksums
9c759f5274a432a933d4949ae912cb8dffde335402637979a5fabeb40a78cc55
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 5, 2026.

Transparency log

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

Download URL polypix-0.5.0-cp312-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 492.4 kB
Tags CPython 3.12 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
3a75b7f1fa79ff1beb1586a2b202c0bf7f52dee03e7bc2a86ab09280760ad407
BLAKE2b-256 checksum
How to use checksums
7dea5fc6aaa56ab525d50b1700275f578747c1a6e703498bb2a35296cad4cc5b
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 5, 2026.

Transparency log

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

Download URL polypix-0.5.0-cp312-abi3-macosx_11_0_x86_64.whl
Size 502.2 kB
Tags CPython 3.12 abi3 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
fc193f518c7c80fcbddd25b2d3f3cffe57fb724d5e34b5a916688d15e639147f
BLAKE2b-256 checksum
How to use checksums
42609303f9dcbe2834513e4ffb42ed7037e81758e04248acc59eaa3ff24def2e
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 5, 2026.

Transparency log

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

Download URL polypix-0.5.0-cp312-abi3-macosx_11_0_arm64.whl
Size 465.5 kB
Tags CPython 3.12 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
e2879e3ea0e6a839bfcd66aa68e9c0ffc25feb239a78e9e6b3a7aa220c348dea
BLAKE2b-256 checksum
How to use checksums
7bc53b02daa24552be71388f12ae86cfc64164f282bcdf51306bb3238312ae23
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 5, 2026.

Transparency log

Security for polypix 0.5.0

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.0.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 5, 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