gwcs
Generalized World Coordinate System
What it is and what it does
GWCS is an Astropy-affiliated package that manages World Coordinate System transformations for astronomical data. It models the full pipeline from detector (pixel) coordinates to world coordinates—celestial, time, or spectral—using composable transforms built on astropy.modeling. Transforms are instances of astropy.Model, celestial coordinates are astropy.SkyCoord objects, time is represented by astropy.Time, and spectral data uses astropy.Quantity with unit conversion.
The package integrates tightly with Astropy's ecosystem, allowing you to chain and combine transforms using compound models, convert between standard celestial frames, manipulate time coordinates, and work with spectral data in different units. It takes a general approach to coordinate transformation rather than being tied to a single convention, making it suitable for diverse astronomical instruments and data types.
Use it for:
- Convert detector pixel coordinates to celestial sky coordinates for astronomical images or spectra.
- Build and manage multi-step coordinate transformation pipelines for instrument data.
- Transform celestial coordinates between different reference frames using astropy integration.
- Handle spectral coordinate conversions and unit transformations in spectroscopic data.
- Define custom WCS models for non-standard instruments or data formats.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
GWCS provides tools for managing World Coordinate System transformations in astronomical data, converting between pixel and world coordinates using a pipeline of composable transforms.
Yes, if you work with astronomical data and need to manage coordinate transformations. GWCS is actively maintained, has low install friction, and integrates seamlessly with Astropy. However, resolve the unclear license status before committing to production use—verify the actual license terms in the repository or documentation.
Install
gwcs on PyPI
pip
pip install gwcsuv
uv add gwcspoetry
poetry add gwcsInstalling gwcs
Before you install
Low install friction with a pure-wheel distribution. Actively maintained as of 2026-02-12 with recent commits, though 183 days have passed since the latest release.
License in practice
License treatment is unclear—no SPDX identifier or raw license text is recorded in the package metadata, so you cannot verify licensing terms before installation.
Quickstart
pip install gwcs
import gwcs
from astropy.coordinates import SkyCoord
from astropy.modeling import models
# Create a simple WCS pipeline using astropy models
transform = models.Linear1D(slope=1.0)
# Use with astropy coordinate objects for transformations
Requires Python 3.11 or later. Depends on astropy, numpy, scipy, asdf, and asdf-astropy at runtime.
Verify before relying
- Specific version constraints for runtime dependencies (asdf, astropy, numpy, scipy, asdf_wcs_schemas, asdf-astropy) are not documented in the fact sheet.
- Whether GWCS handles all standard WCS conventions or a subset of the FITS WCS standard.
- Performance characteristics or scalability limits for large transformation pipelines.
Package facts
| License | not declared (unclear) |
| Python support | supports the current Python release (>=3.11) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 6 — asdf, astropy, numpy, scipy, asdf_wcs_schemas, asdf-astropy |
| Maintenance | actively maintained — 183 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 184,796/month — #10,025 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: gwcs-1.0.3-py3-none-any.whl
Tags
More Scientific/Engineering packages
NumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
pandaspandas provides fast, flexible data structures…
permissive · top 100 on PyPI
scipyscipy provides numerical algorithms for…
permissive · top 100 on PyPI
scikit-learnscikit-learn provides a comprehensive Python…
permissive · top 1,000 on PyPI
dilldill extends Python's pickle module to…
permissive · top 1,000 on PyPI
multiprocessMultiprocess is an enhanced fork of Python's…
permissive · top 1,000 on PyPI
ndcubendcube manipulates, inspects, and visualizes…
unclear · top 15,000 on PyPI
reprojectReproject astronomical images between different…
permissive · top 15,000 on PyPI
regionsRegions provides tools for defining,…
permissive · top 15,000 on PyPI
astropy-iers-dataProvides IERS Earth Rotation and Leap Second…
permissive · top 5,000 on PyPI
asdf-wcs-schemasProvides ASDF schemas for validating World…
unclear · top 15,000 on PyPI
astropy-healpixProvides HEALPix spherical pixelization for…
permissive · top 15,000 on PyPI
specutilsSpecutils provides Python representations of…
permissive · top 15,000 on PyPI
PyAVMPyAVM reads, writes, and embeds Astronomy…
permissive · top 15,000 on PyPI
affineAffine provides a Python class for representing…
permissive · top 5,000 on PyPI
photutilsPhotutils provides tools for detecting and…
permissive · top 15,000 on PyPI