Skip to main content

Reliable data downloader for Unistellar telescopes (eVscope, eQuinox, Odyssey)

Project description

Unistellar Telescope Data Downloader

Reliable command-line tool to download FITS, TIFF, or PNG observation data from Unistellar telescopes (eVscope, eQuinox, Odyssey) over WiFi.

Why?

The official Unistellar web UI at http://192.168.100.1 bundles all selected observations into one giant zip download. On the telescope's Raspberry Pi WiFi, this frequently fails mid-transfer — especially for large science observations with thousands of FITS frames.

This tool fixes that by:

  • Downloading one observation at a time — a failure doesn't lose the others
  • Auto-retrying on WiFi drops — up to 10 attempts per observation
  • Concurrent event polling — required by the telescope's backend to stream data (the key discovery that makes this work)
  • Validating downloads — verifies zip integrity, won't skip corrupted files
  • Canceling stuck downloads — automatically clears stale telescope state before starting

Install

pip install unistellar-data-downloader

Or clone and run directly:

git clone https://github.com/vamshikesireddy/unistellar-data-downloader.git
cd unistellar-data-downloader
pip install .

Usage

  1. Connect your laptop WiFi to the telescope (the network named like eVscope-XXXX or UNI-XXXX)
  2. Run:
unistellar-download

That's it. The tool will:

  • Connect to the telescope at 192.168.100.1
  • List all observations stored on the telescope
  • Let you pick which ones to download and in what format
  • Download each one individually with progress and retry

Options

# Just list what's on the telescope
unistellar-download --check

# Download everything as FITS without prompting
unistellar-download --all --format fits

# Download to a specific folder
unistellar-download --output ~/my_observations

# Cancel a stuck download on the telescope
unistellar-download --cancel

Alternative ways to run

# As a Python module
python -m unistellar_downloader

# Directly (without installing)
python unistellar_download.py

Supported Telescopes

Works with any Unistellar telescope that uses the Direct Data Download web interface at http://192.168.100.1:

  • eVscope / eVscope 2
  • eQuinox / eQuinox 2
  • Odyssey / Odyssey Pro

All models run the same evsoft firmware and expose the same API.

How It Works

The telescope runs a Raspberry Pi with a web server. The official web UI is a Vue.js app that communicates via:

Endpoint Purpose
GET /api/observations/list List all stored observations
GET /api/observations/zip/{format}/0x0/{vpaths} Download observations as zip
GET /api/event Long-poll for download progress events
POST /api/event Send commands (e.g., cancel download)

Key discovery: The telescope backend will not stream zip data unless a client is actively long-polling /api/event. The browser's Vue.js app does this automatically. This tool replicates that behavior with a background EventPoller thread, which is why it works where a simple requests.get() to the zip URL would hang and return 502.

Requirements

  • Python 3.9+
  • requests (installed automatically)

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

unistellar_data_downloader-1.0.0.tar.gz (9.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

unistellar_data_downloader-1.0.0-py3-none-any.whl (10.3 kB view details)

Uploaded Python 3

File details

Details for the file unistellar_data_downloader-1.0.0.tar.gz.

File metadata

File hashes

Hashes for unistellar_data_downloader-1.0.0.tar.gz
Algorithm Hash digest
SHA256 cdb241993a79afbbe4334437f744896dcecd29f94d7120e8e95a1d893d8debeb
MD5 f1a04782b95c71240608f32f74a69ffe
BLAKE2b-256 fa2cc1d2342462de12424267975dd335cc2e74ad1da9fd90e853f9d884d8a926

See more details on using hashes here.

File details

Details for the file unistellar_data_downloader-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for unistellar_data_downloader-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7e8753c119f0bbc9e0252c97a3f757b7080664b361186edf41432385899b60b8
MD5 44c9b482f853787704b02cfd1cb45107
BLAKE2b-256 f293218e8fdc0daa031abbfe1b9610dc789db939275e22ebc47395d5e0ce571b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page