pyds9
Python/DS9 connection via XPA (with numpy and pyfits support)
Decision gist · record as of 2026-08-14
No, unless you are maintaining legacy astronomy code that already depends on pyds9. The package is abandoned (no updates since 2016-08-05), has unclear licensing, requires non-trivial system dependencies and C compilation, and offers no assurance of compatibility with modern Python or X11 environments. For new projects, consider whether DS9 integration is necessary or if alternative approaches would be more maintainable.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires X11 development headers (libXt-devel on openSUSE, libxt-dev on Ubuntu), a working C compiler, and DS9 installed separately; installation involves C compilation.
- Installation requires compilation of C code and X11 development libraries (libXt-devel or libxt-dev), making setup non-trivial on many systems.
- The package has been abandoned since 2016-08-05 with no maintenance activity, presenting significant risk for compatibility issues with modern Python and system libraries.
License · maintenance · safety
UNKNOWN (unclear) — License treatment is unclear (marked UNKNOWN with no SPDX identifier), making it difficult to assess legal implications for commercial or redistributed use without consulting the source repository directly.
last release 2016-08-05 (3661 days) · last repo commit 2016-08-05 · 2 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 238,847 downloads/mo, #8,929 on PyPI
Alternatives
Verify before relying
import pyds9
print(pyds9.ds9_targets())
d = pyds9.DS9()
d.set("file /path/to/fits")- Compatibility with Python versions released after 2016 (requires_python is unspecified)
- Whether the package works with modern X11 implementations and current DS9 releases
- Current maintenance status of the repository (archived status unclear despite last commit in 2016)
What it is and what it does
pyds9 is a Python wrapper around the XPA messaging system that enables programmatic control of SAO DS9, an interactive astronomical image viewer. It allows you to open DS9 windows, load FITS image files, and send commands to DS9 from Python code, bridging the gap between Python data analysis and interactive visualization.
The package wraps XPA to communicate with DS9 instances. It has no runtime dependencies, but requires compilation of bundled C code during installation, which depends on X11 development libraries. The package has received no updates since its initial release in 2016-08-05, and shows no recent maintenance activity, making it a legacy tool with uncertain compatibility on modern systems.
Use it for
- Automate loading and display of FITS astronomical images in DS9 from Python analysis pipelines
- Query which DS9 windows are currently open and send commands to specific instances programmatically
- Build interactive astronomy workflows that combine Python data processing with DS9 visualization
- Test or script DS9 functionality as part of astronomy software testing suites
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
No, unless you are maintaining legacy astronomy code that already depends on pyds9.
The package is abandoned (no updates since 2016-08-05), has unclear licensing, requires non-trivial system dependencies and C compilation, and offers no assurance of compatibility with modern Python or X11 environments. For new projects, consider whether DS9 integration is necessary or if alternative approaches would be more maintainable.
Install
pyds9 on PyPI
Before you install
Installation requires compilation of C code and X11 development libraries (libXt-devel or libxt-dev), making setup non-trivial on many systems. The package has been abandoned since 2016-08-05 with no maintenance activity, presenting significant risk for compatibility issues with modern Python and system libraries.
Requires X11 development headers (libXt-devel on openSUSE, libxt-dev on Ubuntu), a working C compiler, and DS9 installed separately; installation involves C compilation.
License in practice
License treatment is unclear (marked UNKNOWN with no SPDX identifier), making it difficult to assess legal implications for commercial or redistributed use without consulting the source repository directly.
Quickstart
import pyds9
print(pyds9.ds9_targets())
d = pyds9.DS9()
d.set("file /path/to/fits")
Verify before relying
- Compatibility with Python versions released after 2016 (requires_python is unspecified)
- Whether the package works with modern X11 implementations and current DS9 releases
- Current maintenance status of the repository (archived status unclear despite last commit in 2016)
Package facts
| License | UNKNOWN unclear |
| Python support | Not specified |
| Install friction | High. Source build required |
| Runtime dependencies | None |
| Maintenance | Abandoned 3,661 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 238,847 / month, #8,929 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
Evidence: pyds9-1.8.1.tar.gz
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 › “ds9 python interface”
- pyds9pyds9 provides a Python interface to communicate with SAO DS9 (an…
- python-interfaceDeclares interfaces and statically asserts that classes implement…
- zope.interfaceProvides a Python implementation of object interfaces for declaring…
Give your agent the search over MCP, or paste the wish link into any chat.
More Scientific/Engineering packages
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
pandas provides fast, flexible data structures (Series and DataFrame) for loading, cleaning, transforming, and analyzing labeled or relational data in Python.
scipy provides numerical algorithms for mathematics, science, and engineering—including optimization, integration, linear algebra, Fourier transforms, signal and image processing, and ODE solvers—built on numpy arrays.
scikit-learn provides a comprehensive Python library for supervised and unsupervised machine learning, including classification, regression, clustering, dimensionality reduction, and model evaluation tools built on NumPy and SciPy.
Install it if you need to train, evaluate, or deploy supervised or unsupervised learning models.
dill extends Python's pickle module to serialize and deserialize a much wider range of Python objects, including functions, lambdas, classes, and interpreter sessions, to byte streams for storage or network transmission.
Multiprocess is an enhanced fork of Python's standard multiprocessing library that uses dill for better serialization, allowing you to spawn processes with a threading-like API and share complex objects between them.
Install it if you use multiprocessing and encounter pickle serialization limits with lambdas or complex objects.
See also pyvo · specutils · PyAVM · xlib · photutils · lsst-daf-butler · astroquery · regions · ephem · reproject