Skip to main content

pixell

https://img.shields.io/github/actions/workflow/status/simonsobs/pixell/build.yml?branch=master https://readthedocs.org/projects/pixell/badge/?version=latest https://codecov.io/gh/simonsobs/pixell/branch/master/graph/badge.svg?token=DOIG32B6NT https://badge.fury.io/py/pixell.svg

pixell is a library for loading, manipulating and analyzing maps stored in rectangular pixelization. It is mainly intended for use with maps of the sky (e.g. CMB intensity and polarization maps, stacks of 21 cm intensity maps, binned galaxy positions or shear) in cylindrical projection, but its core functionality is more general. It extends numpy’s ndarray to an ndmap class that associates a World Coordinate System (WCS) with a numpy array. It includes tools for Fourier analysis (through numpy or pyfftw), spherical harmonic analysis (through ducc0) and wavelet analysis of such maps. It also provides tools for high-resolution visualization (through the Python Image Library).

Dependencies

  • Python>=3.9.

  • gcc/gfortran or Intel compilers (clang might not work out of the box), if compiling from source

  • ducc0, healpy, Cython, astropy, numpy, scipy, matplotlib, pyyaml, h5py, Pillow (Python Image Library)

On MacOS, and other systems with non-traditional environments, you should specify the following standard environment variables:

  • CC: C compiler (example: gcc)

  • FC: Fortran compiler (example: gfortran)

We recommend using gcc installed from Homebrew to access these compilers on MacOS, and you should make sure to point e.g. $CC to the full path of your gcc installation, as the gcc name usually points to the Apple clang install by default.

Runtime threading behaviour

Certain parts of pixell are parallelized using OpenMP, with the underlying ducc0 library using pthreads. By default, these libraries use the number of cores on your system to determine the number of threads to use. If you wish to override this behaviour, you can use two environment variables:

  • OMP_NUM_THREADS will set both the number of pixell threads and ducc0 threads.

  • DUCC0_NUM_THREADS will set the number of threads for the ducc0 library to use, overwriting OMP_NUM_THREADS if both are set. pixell behaviour is not affected.

If you are using a modern chip (e.g. Apple M series chips, Intel 12th Gen or newer) that have both efficiency and performance cores, you may wish to set OMP_NUM_THREADS to the number of performance cores in your system. This will ensure that the efficiency cores are not used for the parallelized parts of pixell and ducc0.

You can check the threading behaviour (and the installation of pixell) by running the benchmark script:

$ benchmark-pixell-runner

Installing

Make sure your pip tool is up-to-date. To install pixell, run:

$ pip install pixell --user

This will install a pre-compiled binary suitable for your system (only Linux and Mac OS X with Python>=3.9 are supported).

If you require more control over your installation, e.g. using Intel compilers, please see the section below on compiling from source.

Compiling from source (advanced / development workflow)

The easiest way to install from source is to use the pip tool, with the --no-binary flag. This will download the source distribution and compile it for you. Don’t forget to make sure you have CC and FC set if you have any problems.

For all other cases, below are general instructions.

First, download the source distribution or git clone this repository. You can work from master or checkout one of the released version tags (see the Releases section on Github). Then change into the cloned/source directory.

Once downloaded, you can install using pip install . inside the project directory. We use the meson build system, which should be understood by pip (it will build in an isolated environment).

We suggest you then test the installation by running the unit tests. You can do this by running pytest.

To run an editable install, you will need to do so in a way that does not have build isolation (as the backend build system, meson and ninja, actually perform micro-builds on usage in this case):

$ pip install --upgrade pip meson ninja meson-python cython numpy
$ pip install  --no-build-isolation --editable .

Contributions

If you have write access to this repository, please:

  1. create a new branch

  2. push your changes to that branch

  3. merge or rebase to get in sync with master

  4. submit a pull request on github

If you do not have write access, create a fork of this repository and proceed as described above. For more details, see Contributing.

Metadata

Release files for pixell 0.32.9

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

Source distribution (sdist)

Source distribution for pixell 0.32.9
File Size Uploaded Provenance Actions
pixell-0.32.9.tar.gz 12.9 MB Without provenance Details for pixell-0.32.9.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for pixell 0.32.9
File Actions
pixell-0.32.9-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details for pixell-0.32.9-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
pixell-0.32.9-cp314-cp314-macosx_26_0_arm64.whl CPython 3.14 CPython 3.14 macOS 26.0+ ARM64 Details for pixell-0.32.9-cp314-cp314-macosx_26_0_arm64.whl
pixell-0.32.9-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details for pixell-0.32.9-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
pixell-0.32.9-cp313-cp313-macosx_26_0_arm64.whl CPython 3.13 CPython 3.13 macOS 26.0+ ARM64 Details for pixell-0.32.9-cp313-cp313-macosx_26_0_arm64.whl
pixell-0.32.9-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details for pixell-0.32.9-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
pixell-0.32.9-cp312-cp312-macosx_26_0_arm64.whl CPython 3.12 CPython 3.12 macOS 26.0+ ARM64 Details for pixell-0.32.9-cp312-cp312-macosx_26_0_arm64.whl
pixell-0.32.9-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details for pixell-0.32.9-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
pixell-0.32.9-cp311-cp311-macosx_26_0_arm64.whl CPython 3.11 CPython 3.11 macOS 26.0+ ARM64 Details for pixell-0.32.9-cp311-cp311-macosx_26_0_arm64.whl
pixell-0.32.9-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details for pixell-0.32.9-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
pixell-0.32.9-cp310-cp310-macosx_26_0_arm64.whl CPython 3.10 CPython 3.10 macOS 26.0+ ARM64 Details for pixell-0.32.9-cp310-cp310-macosx_26_0_arm64.whl

Total release size: 38.4 MB

Release files / pixell-0.32.9.tar.gz

Download URL pixell-0.32.9.tar.gz
Size 12.9 MB
Tags Source
SHA-256 checksum
How to use checksums
cbda1ad2b15f3590a7dfafc39f7f60cd13d5a45d2c76d985068ae7896309639c
BLAKE2b-256 checksum
How to use checksums
50146b6a827eaaac55b45cc8d4b083a80bc09bad31d3d7737a325b248e0d8227
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / pixell-0.32.9-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pixell-0.32.9-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 2.7 MB
Tags CPython 3.14 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
96c16be217ddc7ccaea83e0f0e6cd05a4437249a2c2431ee8392a7eecab34559
BLAKE2b-256 checksum
How to use checksums
4dfa19c6d972aaa35c64be219018bef2b718bba29dc5406ebc90e1c5bba06193
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / pixell-0.32.9-cp314-cp314-macosx_26_0_arm64.whl

Download URL pixell-0.32.9-cp314-cp314-macosx_26_0_arm64.whl
Size 2.4 MB
Tags CPython 3.14 macOS 26.0+ ARM64
SHA-256 checksum
How to use checksums
317ab80bd268f13a7648d95d0bc5b9999ad8dbe0fe0730fbaddf125e8dd15644
BLAKE2b-256 checksum
How to use checksums
a681961d30ae2e8920711a468ddae64b2eba2a3803b9cdf2a4f7b91b50566b9e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / pixell-0.32.9-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pixell-0.32.9-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 2.7 MB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
08628cc96d837f99af31663e89e3366ce66c7d24036572870d6c30dc8d148a3c
BLAKE2b-256 checksum
How to use checksums
a0e0b016b17231f70c5812b5eee6d7bcd6a954b0f922f20a027b7ed52df038cf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / pixell-0.32.9-cp313-cp313-macosx_26_0_arm64.whl

Download URL pixell-0.32.9-cp313-cp313-macosx_26_0_arm64.whl
Size 2.4 MB
Tags CPython 3.13 macOS 26.0+ ARM64
SHA-256 checksum
How to use checksums
6f4c7971b7ed1f4caa766bbfe06730e940630ec14563f64a887c2d4ad14d0d12
BLAKE2b-256 checksum
How to use checksums
bd214b147dc1722a41e0cfb1e0f900130455e0383a6eea4bc9d32ac890ebe0a3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / pixell-0.32.9-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pixell-0.32.9-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 2.7 MB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
5a084a74ed78b35ae67ec3129db1984ff2d4fa56eb501532b5c7f4cc67d358ce
BLAKE2b-256 checksum
How to use checksums
193a7c3d642d4abef37b1d69b306619a59c36b88298299f7965f2fdc57e916e8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / pixell-0.32.9-cp312-cp312-macosx_26_0_arm64.whl

Download URL pixell-0.32.9-cp312-cp312-macosx_26_0_arm64.whl
Size 2.4 MB
Tags CPython 3.12 macOS 26.0+ ARM64
SHA-256 checksum
How to use checksums
a43205b8abc819cf0742346f96a1e33bfdf4f497fd88709ff66792dfdd62ac8f
BLAKE2b-256 checksum
How to use checksums
f2e1caddef4289b9c6188151c47d7c2c8ba676a8a84d727e8a7f29185593c74e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / pixell-0.32.9-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pixell-0.32.9-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 2.7 MB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
bbe0409c8be468125dfc94487d86056b1b09d2227066fd0f718cf9b5742e23e5
BLAKE2b-256 checksum
How to use checksums
44192899d43515000a874b2985d94e06916f423f9ae09e1014d04ebb34bb4c7d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / pixell-0.32.9-cp311-cp311-macosx_26_0_arm64.whl

Download URL pixell-0.32.9-cp311-cp311-macosx_26_0_arm64.whl
Size 2.4 MB
Tags CPython 3.11 macOS 26.0+ ARM64
SHA-256 checksum
How to use checksums
50fde6ddcd5dceda917fba141a7d7977b0187e8e7844bbbbc80b1366797d2429
BLAKE2b-256 checksum
How to use checksums
83e68605f185cc3b4c2668aa19368d642e977beaa07c580518298221baa8af51
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / pixell-0.32.9-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pixell-0.32.9-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 2.7 MB
Tags CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
3a7ecf0391c5ebe4200e8265162bc33aea76a7fd96a476da3b338ae919a55c11
BLAKE2b-256 checksum
How to use checksums
4c0dc9737caa3f12d073e811bb464f44358deec6c9f3c5070fdfda52f698dfd0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / pixell-0.32.9-cp310-cp310-macosx_26_0_arm64.whl

Download URL pixell-0.32.9-cp310-cp310-macosx_26_0_arm64.whl
Size 2.4 MB
Tags CPython 3.10 macOS 26.0+ ARM64
SHA-256 checksum
How to use checksums
38b1e458b531f816e17166f0acb5c2d07059ad3357129a84de63463c8c406c4f
BLAKE2b-256 checksum
How to use checksums
7f26e3d0866b4d21181ccabc990d25431f69d606e7848db58e5a5514948d6336
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Security for pixell 0.32.9

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

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.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.32.9 This release

11 release files No provenance

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