photutils
An Astropy package for source detection and photometry
Decision gist · record as of 2026-08-14
Yes. Photutils is a well-maintained, actively developed library with no security issues, permissive licensing, and broad adoption in the astronomy community. The medium install friction from compiled extensions is standard for scientific Python packages and offset by pre-built wheels. Install it if you work with astronomical imaging data and need production-grade source detection or photometry tools.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.11 or later; compiled wheels available for macOS (x86_64, arm64), Linux (x86_64), and Windows (x86_64), but installation from source requires a C compiler and Cython.
- Medium install friction due to compiled Cython extensions, but actively maintained with recent releases and well-integrated with the Astropy ecosystem.
- Requires Python 3.11 or later.
License · maintenance · safety
BSD-3-Clause (permissive) — BSD-3-Clause permissive license allows use in most projects, including commercial and proprietary work, with minimal restrictions beyond attribution.
last release 2026-04-17 (119 days) · last repo commit 2026-08-14 · 305 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 164,043 downloads/mo, #10,557 on PyPI
Alternatives
Verify before relying
pip install photutils
import photutils
from photutils.detection import find_peaks
from photutils.aperture import aperture_photometry
import numpy as np
# Detect sources and perform aperture photometry
sources = find_peaks(image_data, threshold=3.0)
phot = aperture_photometry(image_data, apertures)- Performance characteristics for real-time or large-scale survey pipelines.
- Specific version compatibility with other Astropy affiliated packages beyond core Astropy.
- Whether monthly download volume reflects active production use or broader adoption patterns.
What it is and what it does
Photutils is an Astropy-affiliated Python library for detecting and measuring astronomical sources in images. It provides a suite of tools covering the full photometry workflow: background estimation and subtraction, star and source detection, aperture and PSF photometry, image segmentation, centroid calculation, radial profile extraction, and elliptical isophote fitting. The package is built on numpy and scipy for numerical computation and integrates tightly with Astropy's coordinate and unit systems, making it a standard choice for astronomical image analysis pipelines.
The library is actively maintained and supports current Python versions (3.11+). It includes compiled Cython extensions for performance-critical operations, available as pre-built wheels for common platforms. With no known security vulnerabilities, it is a mature and widely-used component of the astronomical Python ecosystem.
Use it for
- Detect point sources and extended objects in survey images or deep field observations.
- Measure flux and magnitudes of stars and galaxies using aperture or PSF-fitting photometry.
- Estimate and subtract background in astronomical images for improved source detection.
- Segment and analyze morphology of galaxies or nebulae in multi-wavelength imaging.
- Extract radial profiles and fit isophotes to characterize source structure and properties.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
Photutils is a well-maintained, actively developed library with no security issues, permissive licensing, and broad adoption in the astronomy community. The medium install friction from compiled extensions is standard for scientific Python packages and offset by pre-built wheels. Install it if you work with astronomical imaging data and need production-grade source detection or photometry tools.
Install
photutils on PyPI
Before you install
Medium install friction due to compiled Cython extensions, but actively maintained with recent releases and well-integrated with the Astropy ecosystem. Requires Python 3.11 or later.
Requires Python 3.11 or later; compiled wheels available for macOS (x86_64, arm64), Linux (x86_64), and Windows (x86_64), but installation from source requires a C compiler and Cython.
License in practice
BSD-3-Clause permissive license allows use in most projects, including commercial and proprietary work, with minimal restrictions beyond attribution.
Quickstart
pip install photutils
import photutils
from photutils.detection import find_peaks
from photutils.aperture import aperture_photometry
import numpy as np
# Detect sources and perform aperture photometry
sources = find_peaks(image_data, threshold=3.0)
phot = aperture_photometry(image_data, apertures)
Verify before relying
- Performance characteristics for real-time or large-scale survey pipelines.
- Specific version compatibility with other Astropy affiliated packages beyond core Astropy.
- Whether monthly download volume reflects active production use or broader adoption patterns.
Package facts
| License | BSD-3-Clause permissive |
| Python support | Supports the current Python release >=3.11 |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | 3 packagesastropynumpyscipy |
| Maintenance | Actively maintained 119 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 164,043 / month, #10,557 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Intended Audience :: Science/ResearchNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: CythonProgramming Language :: PythonProgramming Language :: Python :: 3Topic :: Scientific/Engineering :: Astronomy |
Evidence: photutils-3.0.0-cp311-abi3-macosx_10_9_x86_64.whl; photutils-3.0.0-cp311-abi3-macosx_11_0_arm64.whl; photutils-3.0.0-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; photutils-3.0.0-cp311-abi3-win_amd64.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “astronomical source detection”
- photutilsPhotutils provides tools for detecting and measuring astronomical…
- astroqueryAstroquery provides a Python interface to query and retrieve data…
- regionsRegions provides tools for defining, manipulating, and analyzing…
Give your agent the search over MCP, or paste the wish link into any chat.
More Astronomy packages
Albumentations applies image transformations to training data, supporting classification, segmentation, object detection, and pose estimation with a unified API for images, masks, bounding boxes, and keypoints.
Install it if you need a unified, production-grade augmentation API for computer vision tasks.
Converts dates between the Gregorian calendar and 15+ alternative calendar systems including Hebrew, Islamic, Julian, French Republican, Mayan, and others, plus calculates holidays across North American, Jewish, and other traditions.
Install only if you actually need multi-calendar support; the single pymeeus dependency is manageable.
Converts between Julian dates and Gregorian or Julian calendar dates, storing Julian dates as pairs of floating-point numbers for maximum precision.
However, be aware that it will not receive bug fixes or updates—verify that its behavior matches your requirements before committing to it in a production system.
PyERFA wraps the ERFA C library (Essential Routines for Fundamental Astronomy) as NumPy universal functions, exposing key astronomy algorithms for scalar or array inputs.
Install it if you need fundamental astronomy calculations or if another package depends on it.
PyMeeus implements astronomical algorithms from Jean Meeus's classical reference, providing Python classes for computing celestial positions, lunar phases, planetary phenomena, and time conversions with minimal dependencies.
However, verify Python version compatibility first and consider whether other libraries better suit production-grade use cases.
PyEphem computes high-precision positions of planets, moons, stars, comets, and asteroids in the sky for any observer location and date, using C-based numeric routines from the XEphem astronomy application.
See also regions · specutils · astropy-healpix · astroquery · gwcs · reproject · pyds9 · healpy · PeakUtils