Fast HEALPix coverage for convex footprints on the sphere.
Project description
Polypix
Fast HEALPix coverage for convex footprints on the sphere.
Documentation | PyPI | Repository | Issues
Polypix returns the HEALPix cells whose centers fall inside convex footprints on the unit sphere. It is built for coverage simulations and indexing pipelines where footprints are already valid spherical geometry and throughput matters.
Typical inputs are sensor footprints, beam contours, access regions, and swath edges from satellite, aerial, astronomy, or other spherical-domain simulations. Use Polypix when you want deterministic center-sampled coverage for convex regions. It is not a fit for holes, non-convex footprints, planar geometry semantics, conservative overlap coverage, or generating footprints from orbit, attitude, sensor, or beam models.
Install
python -m pip install polypix
Published wheels support Python 3.12 and newer on Linux x86_64 and macOS 11 or newer on Intel and Apple Silicon.
Quick Start
import math
import numpy as np
import polypix as px
def lonlat_to_xyz(lon_deg, lat_deg):
lon = math.radians(lon_deg)
lat = math.radians(lat_deg)
cos_lat = math.cos(lat)
return cos_lat * math.cos(lon), cos_lat * math.sin(lon), math.sin(lat)
footprint = np.asarray(
[
lonlat_to_xyz(-5.0, -5.0),
lonlat_to_xyz(12.0, -4.0),
lonlat_to_xyz(10.0, 9.0),
lonlat_to_xyz(-6.0, 7.0),
],
dtype=np.float64,
)
coverage = px.cover_footprint(footprint, resolution=8)
centers = px.centers(coverage.cell_ids)
boundaries = px.boundaries(coverage.cell_ids[:3])
The returned cell IDs are packed uint64 tokens that include both the HEALPix
resolution and the NESTED pixel index. Treat them as opaque IDs; use
centers() or boundaries() when you need longitude/latitude geometry.
Supported Inputs
Polypix supports:
- convex spherical footprints with great-circle edges,
- unit-vector vertices as
(x, y, z), - dense footprint batches as arrays with shape
(footprints, vertices, 3), - swaths from sampled left and right edge vectors.
Vertex orientation does not matter; Polypix normalizes it internally. A repeated final vertex is accepted as a closed-ring marker.
Coverage Rule
Polypix uses center-in-footprint coverage: a HEALPix cell is included only when its center lies inside the footprint. Boundary-touching cells whose centers fall outside the footprint are excluded.
Windows wheels are not published because healpix_cxx is not currently
available as a conda-forge win-64 package.
Documentation
The public documentation is published at https://jochimmaene.github.io/polypix/:
Contributor workflows, release notes, and local docs authoring live in the development guide instead of this user-facing overview.
License
Polypix is distributed under GPL-3.0-or-later. This reflects the binary
distribution relationship with HEALPix C++, which is GPL-2.0-or-later. See
THIRD_PARTY_NOTICES.md for native dependency notices.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file polypix-0.2.0.tar.gz.
File metadata
- Download URL: polypix-0.2.0.tar.gz
- Upload date:
- Size: 118.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
22082e32503939393f6f239456dbe74747e08175513f77238c0a85295a82218a
|
|
| MD5 |
acb3bb79398f86bdd57160f1ce98bb48
|
|
| BLAKE2b-256 |
57fc1c9ed291663aff6e01033534b7394c241ab20230d383ab449b858e4c2ece
|
Provenance
The following attestation bundles were made for polypix-0.2.0.tar.gz:
Publisher:
release.yml on JochimMaene/polypix
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
polypix-0.2.0.tar.gz -
Subject digest:
22082e32503939393f6f239456dbe74747e08175513f77238c0a85295a82218a - Sigstore transparency entry: 1751746889
- Sigstore integration time:
-
Permalink:
JochimMaene/polypix@267c4d8d2ab4de6e691efd8b2d2a7ef5cbbe9a46 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/JochimMaene
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@267c4d8d2ab4de6e691efd8b2d2a7ef5cbbe9a46 -
Trigger Event:
release
-
Statement type:
File details
Details for the file polypix-0.2.0-cp314-cp314-manylinux_2_34_x86_64.whl.
File metadata
- Download URL: polypix-0.2.0-cp314-cp314-manylinux_2_34_x86_64.whl
- Upload date:
- Size: 6.9 MB
- Tags: CPython 3.14, manylinux: glibc 2.34+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
33477b01cc1119ec83cddfa16b9c4451ffedb0146f6d3437251b44a6580738f7
|
|
| MD5 |
de550f9fd905d8bccb4fd5eabe2445b8
|
|
| BLAKE2b-256 |
b36108cbee823dc18b5bb2185198f89d9dae283e5b562a3528b5c76f0db88144
|
Provenance
The following attestation bundles were made for polypix-0.2.0-cp314-cp314-manylinux_2_34_x86_64.whl:
Publisher:
release.yml on JochimMaene/polypix
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
polypix-0.2.0-cp314-cp314-manylinux_2_34_x86_64.whl -
Subject digest:
33477b01cc1119ec83cddfa16b9c4451ffedb0146f6d3437251b44a6580738f7 - Sigstore transparency entry: 1751747084
- Sigstore integration time:
-
Permalink:
JochimMaene/polypix@267c4d8d2ab4de6e691efd8b2d2a7ef5cbbe9a46 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/JochimMaene
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@267c4d8d2ab4de6e691efd8b2d2a7ef5cbbe9a46 -
Trigger Event:
release
-
Statement type:
File details
Details for the file polypix-0.2.0-cp314-cp314-macosx_11_0_x86_64.whl.
File metadata
- Download URL: polypix-0.2.0-cp314-cp314-macosx_11_0_x86_64.whl
- Upload date:
- Size: 6.2 MB
- Tags: CPython 3.14, macOS 11.0+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8e54a40e28e26beeb7f73b6b9b3c75838bc8b958527001b010e1cc5622f4990e
|
|
| MD5 |
8afc2822f66ec32da6b681d7b8d1d5e8
|
|
| BLAKE2b-256 |
7272ead2b77a9dfe41d55b18dceb0b6c0e3343dde7b81e17b02eb2b2820943b0
|
Provenance
The following attestation bundles were made for polypix-0.2.0-cp314-cp314-macosx_11_0_x86_64.whl:
Publisher:
release.yml on JochimMaene/polypix
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
polypix-0.2.0-cp314-cp314-macosx_11_0_x86_64.whl -
Subject digest:
8e54a40e28e26beeb7f73b6b9b3c75838bc8b958527001b010e1cc5622f4990e - Sigstore transparency entry: 1751747321
- Sigstore integration time:
-
Permalink:
JochimMaene/polypix@267c4d8d2ab4de6e691efd8b2d2a7ef5cbbe9a46 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/JochimMaene
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@267c4d8d2ab4de6e691efd8b2d2a7ef5cbbe9a46 -
Trigger Event:
release
-
Statement type:
File details
Details for the file polypix-0.2.0-cp314-cp314-macosx_11_0_arm64.whl.
File metadata
- Download URL: polypix-0.2.0-cp314-cp314-macosx_11_0_arm64.whl
- Upload date:
- Size: 5.9 MB
- Tags: CPython 3.14, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
26d44320f19d9edeca3668550d2b0e1d6374d718ae194123ed813cf24739b28e
|
|
| MD5 |
acbc6fbb0f7ee904d8ef49593f26467a
|
|
| BLAKE2b-256 |
ece6dd233af8ca7a20bf08f53a63198714042420ac9a100c95371650c0baebe3
|
Provenance
The following attestation bundles were made for polypix-0.2.0-cp314-cp314-macosx_11_0_arm64.whl:
Publisher:
release.yml on JochimMaene/polypix
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
polypix-0.2.0-cp314-cp314-macosx_11_0_arm64.whl -
Subject digest:
26d44320f19d9edeca3668550d2b0e1d6374d718ae194123ed813cf24739b28e - Sigstore transparency entry: 1751747173
- Sigstore integration time:
-
Permalink:
JochimMaene/polypix@267c4d8d2ab4de6e691efd8b2d2a7ef5cbbe9a46 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/JochimMaene
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@267c4d8d2ab4de6e691efd8b2d2a7ef5cbbe9a46 -
Trigger Event:
release
-
Statement type:
File details
Details for the file polypix-0.2.0-cp313-cp313-manylinux_2_34_x86_64.whl.
File metadata
- Download URL: polypix-0.2.0-cp313-cp313-manylinux_2_34_x86_64.whl
- Upload date:
- Size: 6.9 MB
- Tags: CPython 3.13, manylinux: glibc 2.34+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8a90fe801e764a0df41c15792c508d9dc7a2cb63f18a7f7de9a495227933579f
|
|
| MD5 |
87f1422b8623c24ea34038c1b092b5ef
|
|
| BLAKE2b-256 |
c0e7e6a95d8439080408c24d085bcb80bd3c7bea15234c0376d8750700daf867
|
Provenance
The following attestation bundles were made for polypix-0.2.0-cp313-cp313-manylinux_2_34_x86_64.whl:
Publisher:
release.yml on JochimMaene/polypix
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
polypix-0.2.0-cp313-cp313-manylinux_2_34_x86_64.whl -
Subject digest:
8a90fe801e764a0df41c15792c508d9dc7a2cb63f18a7f7de9a495227933579f - Sigstore transparency entry: 1751747007
- Sigstore integration time:
-
Permalink:
JochimMaene/polypix@267c4d8d2ab4de6e691efd8b2d2a7ef5cbbe9a46 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/JochimMaene
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@267c4d8d2ab4de6e691efd8b2d2a7ef5cbbe9a46 -
Trigger Event:
release
-
Statement type:
File details
Details for the file polypix-0.2.0-cp313-cp313-macosx_11_0_x86_64.whl.
File metadata
- Download URL: polypix-0.2.0-cp313-cp313-macosx_11_0_x86_64.whl
- Upload date:
- Size: 6.2 MB
- Tags: CPython 3.13, macOS 11.0+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e123b3601bb4976136907c390ca15803a87237ea47744a7633e8db486f3e5536
|
|
| MD5 |
cc6387f7129ba7718213f00047017717
|
|
| BLAKE2b-256 |
b5b07c6f9333ba2346a8a3c6cf8d0cadbb36c2177b4419ee92ce480585f94764
|
Provenance
The following attestation bundles were made for polypix-0.2.0-cp313-cp313-macosx_11_0_x86_64.whl:
Publisher:
release.yml on JochimMaene/polypix
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
polypix-0.2.0-cp313-cp313-macosx_11_0_x86_64.whl -
Subject digest:
e123b3601bb4976136907c390ca15803a87237ea47744a7633e8db486f3e5536 - Sigstore transparency entry: 1751747117
- Sigstore integration time:
-
Permalink:
JochimMaene/polypix@267c4d8d2ab4de6e691efd8b2d2a7ef5cbbe9a46 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/JochimMaene
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@267c4d8d2ab4de6e691efd8b2d2a7ef5cbbe9a46 -
Trigger Event:
release
-
Statement type:
File details
Details for the file polypix-0.2.0-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: polypix-0.2.0-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 5.9 MB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dec4899d76f57d066f143b16acd9493183b50167cef5d1eb3172da642946565c
|
|
| MD5 |
5ca66a8df9606125f5d5737f5f5715d6
|
|
| BLAKE2b-256 |
520818f7f975200121bd228e97cd258fd65a701dff355d02208d197ece13d499
|
Provenance
The following attestation bundles were made for polypix-0.2.0-cp313-cp313-macosx_11_0_arm64.whl:
Publisher:
release.yml on JochimMaene/polypix
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
polypix-0.2.0-cp313-cp313-macosx_11_0_arm64.whl -
Subject digest:
dec4899d76f57d066f143b16acd9493183b50167cef5d1eb3172da642946565c - Sigstore transparency entry: 1751746952
- Sigstore integration time:
-
Permalink:
JochimMaene/polypix@267c4d8d2ab4de6e691efd8b2d2a7ef5cbbe9a46 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/JochimMaene
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@267c4d8d2ab4de6e691efd8b2d2a7ef5cbbe9a46 -
Trigger Event:
release
-
Statement type:
File details
Details for the file polypix-0.2.0-cp312-cp312-manylinux_2_34_x86_64.whl.
File metadata
- Download URL: polypix-0.2.0-cp312-cp312-manylinux_2_34_x86_64.whl
- Upload date:
- Size: 6.9 MB
- Tags: CPython 3.12, manylinux: glibc 2.34+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
26010e57e77981f79f38468c5d8530f8678a8f6e348bb6a5f687c725485d1f4f
|
|
| MD5 |
dcddc24075e1013122b0508094673d00
|
|
| BLAKE2b-256 |
c8b099f48b6204ba742aa6fd8a760e4a7e46e022a85fbfbbe93b469744f1f64b
|
Provenance
The following attestation bundles were made for polypix-0.2.0-cp312-cp312-manylinux_2_34_x86_64.whl:
Publisher:
release.yml on JochimMaene/polypix
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
polypix-0.2.0-cp312-cp312-manylinux_2_34_x86_64.whl -
Subject digest:
26010e57e77981f79f38468c5d8530f8678a8f6e348bb6a5f687c725485d1f4f - Sigstore transparency entry: 1751747252
- Sigstore integration time:
-
Permalink:
JochimMaene/polypix@267c4d8d2ab4de6e691efd8b2d2a7ef5cbbe9a46 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/JochimMaene
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@267c4d8d2ab4de6e691efd8b2d2a7ef5cbbe9a46 -
Trigger Event:
release
-
Statement type:
File details
Details for the file polypix-0.2.0-cp312-cp312-macosx_11_0_x86_64.whl.
File metadata
- Download URL: polypix-0.2.0-cp312-cp312-macosx_11_0_x86_64.whl
- Upload date:
- Size: 6.2 MB
- Tags: CPython 3.12, macOS 11.0+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0fa3fca5bb20126afe7e632be3ac69d854fc568056085712c886305edd0bcc6a
|
|
| MD5 |
54525b3f176b0b9184618c4ff5cb74a0
|
|
| BLAKE2b-256 |
2336a3d288e36ffdf7d06ca0f91817b45ceaadea2174737fe47cdbe7c118d9c5
|
Provenance
The following attestation bundles were made for polypix-0.2.0-cp312-cp312-macosx_11_0_x86_64.whl:
Publisher:
release.yml on JochimMaene/polypix
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
polypix-0.2.0-cp312-cp312-macosx_11_0_x86_64.whl -
Subject digest:
0fa3fca5bb20126afe7e632be3ac69d854fc568056085712c886305edd0bcc6a - Sigstore transparency entry: 1751747052
- Sigstore integration time:
-
Permalink:
JochimMaene/polypix@267c4d8d2ab4de6e691efd8b2d2a7ef5cbbe9a46 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/JochimMaene
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@267c4d8d2ab4de6e691efd8b2d2a7ef5cbbe9a46 -
Trigger Event:
release
-
Statement type:
File details
Details for the file polypix-0.2.0-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: polypix-0.2.0-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 5.9 MB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cbe1aed0ee3a5b8e95b664ac7ce55e62f51e2acbd18e414eece5a65b9b14c365
|
|
| MD5 |
e760f5adb05a33886b4c5a916224987a
|
|
| BLAKE2b-256 |
fd8dc3af7dd454b22b50465cf6072a47f72f9af3b11bcf869877680295d75ccd
|
Provenance
The following attestation bundles were made for polypix-0.2.0-cp312-cp312-macosx_11_0_arm64.whl:
Publisher:
release.yml on JochimMaene/polypix
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
polypix-0.2.0-cp312-cp312-macosx_11_0_arm64.whl -
Subject digest:
cbe1aed0ee3a5b8e95b664ac7ce55e62f51e2acbd18e414eece5a65b9b14c365 - Sigstore transparency entry: 1751747412
- Sigstore integration time:
-
Permalink:
JochimMaene/polypix@267c4d8d2ab4de6e691efd8b2d2a7ef5cbbe9a46 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/JochimMaene
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@267c4d8d2ab4de6e691efd8b2d2a7ef5cbbe9a46 -
Trigger Event:
release
-
Statement type: