Welcome to SeeStar-Py’s Documentation!
Danger
Firmware 7.18+ requires authentication.
See Authentication (Firmware 7.18+) for more details and the legal basis for interoperability.
seestarpy is a Python SDK for driving ZWO Seestar smart telescopes over your local network. It wraps the Seestar’s JSON-RPC command interface and binary image streaming protocol into a clean Python API — no phone app required.
Installation
pip install seestarpy
Getting started
The shortest path from install to imaging:
import seestarpy as ssp
# 1. Connect — the Seestar is auto-discovered via mDNS
ssp.connection.test_connection()
# 2. Open the arm
ssp.open()
# 3. Goto a target (coordinates resolved automatically)
ssp.goto_target("M42")
# 4. Start stacking
ssp.start_stack()
That’s it — the Seestar will slew to M42, plate-solve, and begin stacking sub-exposures.
To see what the Seestar is currently looking at, grab the latest stacked frame and pop it up in a matplotlib window:
from seestarpy import stream
stream.show_current_stack() # one Seestar
stream.show_current_stack(ips="all") # all Seestars in a subplot grid
If auto-discovery doesn’t find your Seestar, set the IP manually:
ssp.connection.DEFAULT_IP = "192.168.1.246"
You can find your Seestar’s IP in the official phone app under the station-mode settings.
Controlling multiple Seestars
Most commands accept an ips keyword to broadcast to multiple
Seestars at once:
# Discover all Seestars on the network
ssp.connection.find_available_ips(n_ip=3)
# Open all arms simultaneously
ssp.open(ips="all")
# Goto the same target on all Seestars
ssp.goto_target("M42", ips="all")
See the Connecting to your Seestar page for more details.
When you’re done
ssp.stop_view()
ssp.close()
Contents
Tutorials
Feedback
Found an issue or have a feature request? Open an issue on GitHub.