SeeStar-Py

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.

PyPI Version

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

Feedback

Found an issue or have a feature request? Open an issue on GitHub.