python
132 posts
-
Python for HPC at SDSC Summer Institute 2026
I updated the Python for HPC session I taught at the SDSC Summer Institute 2026 (August 7, 2026). The material was heavily rewritten for this year - a substantial rework, not a refresh of the 2025 version.
-
Deploy the Dask Operator for Kubernetes on Jetstream2 and access it from JupyterHub
This post describes how to deploy the Dask Operator for Kubernetes alongside a Helm-based JupyterHub installation on a Jetstream2 Kubernetes cluster (Magnum). The Operator provides a Kubernetes-native way to create and manage Dask clusters via custom resources, simplifying multi-tenant setups.
-
PySM 3.4.6 released: FLAMINGO kSZ models and c1 documentation
A practical introduction to the new FLAMINGO kinetic SZ presets and documented c1 cosmology in PySM 3.4.6.
-
healpy 1.20.0b1 beta — harmonic_ud_grade for artifact-safe map downgrading
pip install --pre healpy==1.20.0b1 harmonicudgrade changes map NSIDE through spherical-harmonic transforms with pixel-window and beam transfer corrections following Eq. 1 of Planck 2015 X (arXiv:1502.01588).
-
PySM 3.4.5: HalfDome TSZ model, scipy pin removed, Python 3.9 dropped
PySM 3.4.5 is now available on PyPI and GitHub. Changes in this release:
-
healpy harmonic_ud_grade vs skytools change_resolution: A Comparison
A comparison of healpy.harmonic_ud_grade and skytools.change_resolution for HEALPix map resolution changes, highlighting API differences, beam/pixel-window support, direct alm input, and agreement levels.
-
Do you need JupyterHub for your workshop? JupyterLite runs Python in the browser
You're organizing a Python workshop or teaching a class that uses Jupyter notebooks. The first question that comes up is almost always the same: how do I get everyone running notebooks without spending an hour on installation?
-
harmonic_ud_grade vs ud_grade: A Focused Comparison
harmonic_ud_grade vs ud_grade A Focused Comparison.
-
SPT-3G D1 high-ℓ CMB power spectra vs. Planck 2018
Load and compare the SPT-3G D1 high-ell TT power spectra with the Planck 2018 CMB power spectrum, illustrating primary vs. secondary CMB anisotropies.
-
Send email using UCSD SMTP with a Gmail-based address
If you have a GMAIL-based UCSD email address and need to send email programmatically or via an email client using SMTP, you can use Google's SMTP servers.
-
Why 3 pixels per beam? The mathematics of HEALPix resolution matching
Exploring why the Planck convention uses FWHM = 3 x pixel size for harmonic-space map downgrading, with equations from the literature and simulated demonstrations.
-
PySM 3.4.4 released with new SZ models and NumPy 2 support
PySM 3.4.4 is now available both on PyPI and on conda-forge. This release is mostly about extending the Sunyaev-Zeldovich model suite and making sure PySM works cleanly with NumPy 2.
-
Keep Jupyter notebooks clean in git, but rendered with outputs in Sphinx
A small Sphinx extension that fetches an executed notebook from a Gist or raw URL, verifies the sources still match, and replaces the local notebook during the docs build.
-
Auto-build JupyterHub images with repo2docker and GitHub Actions
This guide explains how to automatically build a custom, JupyterHub-ready Docker image directly from GitHub using repo2docker, without having to write a complicated Dockerfile from scratch.
-
Release of healpy 1.19.0
I am pleased to announce the release of healpy 1.19.0. This release includes a large number of fixes and improvements, many of which were made possible by adopting an "agentic" workflow. As detailed in my recent blog post, I have been using AI coding agents to help triage and fix issues, allowing us to close old bugs and improve the codebase significantly.