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
- Connect your laptop WiFi to the telescope (the network named like
eVscope-XXXXorUNI-XXXX) - 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file unistellar_data_downloader-1.0.0.tar.gz.
File metadata
- Download URL: unistellar_data_downloader-1.0.0.tar.gz
- Upload date:
- Size: 9.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cdb241993a79afbbe4334437f744896dcecd29f94d7120e8e95a1d893d8debeb
|
|
| MD5 |
f1a04782b95c71240608f32f74a69ffe
|
|
| BLAKE2b-256 |
fa2cc1d2342462de12424267975dd335cc2e74ad1da9fd90e853f9d884d8a926
|
File details
Details for the file unistellar_data_downloader-1.0.0-py3-none-any.whl.
File metadata
- Download URL: unistellar_data_downloader-1.0.0-py3-none-any.whl
- Upload date:
- Size: 10.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7e8753c119f0bbc9e0252c97a3f757b7080664b361186edf41432385899b60b8
|
|
| MD5 |
44c9b482f853787704b02cfd1cb45107
|
|
| BLAKE2b-256 |
f293218e8fdc0daa031abbfe1b9610dc789db939275e22ebc47395d5e0ce571b
|