Skip to main content

Transparent desktop sky viewer with stars, planets, eclipses, and optional real-time satellite cloud overlay.

Project description

zstarview 🌌

See the starry sky, even when it's cloudy or the sun is out.

Zenith Star View is an application that displays the starry sky from any city on Earth. The name emphasizes the zenith—the point directly overhead—conveying the experience of looking straight up into the night sky from your location.

Features:

  • Real-time rendering of bright stars, planets, the celestial equator, and the ecliptic.

  • Supports Sun, Moon, and major planets. Minor planets (asteroids) are not displayed yet.

  • Location specified by city name (based on GeoNames), or directly by latitude/longitude.

  • Adjustable view center: -A (altitude) and -Z (azimuth).

  • Real-time satellite cloud imagery (Himawari/GOES), rendered as a stylized hatched (striped) overlay.

Installation (Recommended: pipx)

It is intended to be installed using pipx.

pipx install git+https://github.com/tos-kamiya/zstarview.git

Note: Troubleshooting tips (including X11 libraries and slow network) are summarized below.

Usage

zstarview [options] [city]

Note (Ubuntu/Wayland, GNOME): If the taskbar icon does not appear when launching from a terminal, follow the steps in Generating a .desktop launcher (GNOME only).

Argument

Argument Description Default
city Specify the city name to display, or directly specify latitude/longitude in the form "<lat>;<lon>". Examples: 35.68;139.76, N35.68;E139.76, -35.68;139.76. If omitted, the last run city/coordinates will be used (defaults to Tokyo on the first run). Last run city/coords (or Tokyo)

Options

Option Description Default
-h, --help Show this help message and exit.
-Z, --view-center-az VIEW_CENTER_AZ Viewing azimuth (degrees or compass points). 180
-A, --view-center-alt VIEW_CENTER_ALT Viewing altitude angle (90=zenith, 0=horizon). 90
-c, --cloud-opacity CLOUD_OPACITY Opacity of cloud rendering (0.0–1.0). Use 0.0 to disable. *2 0.2
--sky-opacity SKY_OPACITY Opacity of the simulated sky-color disc (0.0–1.0). Use 0.0 to disable. 0.2
-m, --enlarge-moon Show the moon in 5x size.
-s, --star-base-radius STAR_BASE_RADIUS Base size of stars. 8.0
-V, --vmag-limit V_MAG_LIMIT Maximum visual magnitude of stars to display. 6.0
-i, --sky-update-interval SECONDS Interval for updating stars/sky-color disc in seconds. 180
-t, --theme {night,day,white,black} Theme preset for background and star contrast. night
-H, --hours HOURS Number of hours to add to the current time. *1 0
-D, --days DAYS Number of days to add to the current time. *1 0
--datetime "YYYY-MM-DD HH[:MM[:SS]] [TZ]" Specify an absolute date/time. Time may be given as HH, HH:MM, or HH:MM:SS. If no TZ is specified, UTC is assumed. *1

*1 When using non-realtime sky options (--hours, --days, --datetime), cloud rendering will not be shown.

*2 Cloud rendering uses infrared data from meteorological satellites (Himawari and NOAA GOES series), retrieved from their public S3 buckets. See Troubleshooting for tips on slow networks or offline use (e.g., disabling clouds with -c 0).

About the view center options

The -Z (azimuth) and -A (altitude) options specify the center of the displayed sky.

By default, -Z 180 (facing south) and -A 90 (zenith) are used. In this view, the bottom of the screen is south, the left side is east, and the display is a circular view looking straight up toward the zenith.

For example, setting -Z 90 (facing east) and -A 5 (altitude 5°, i.e., looking 5° above the horizon) will produce a roughly semicircular sky view.

→ Eastern sky showing the Summer Triangle (Vega, Altair, Deneb)

Azimuth can be given in degrees or compass points (case-insensitive). Examples: -Z E, -Z ne, -Z SSW (202.5°). (Compass mapping: 0=N, 90=E, 180=S, 270=W; accepts N, NNE, NE, ENE, E, ESE, SE, SSE, S, SSW, SW, WSW, W, WNW, NW, NNW.)

About magnitude limit

Use -V magnitude to limit the displayed stars to those brighter than the given magnitude. The default is -V 6.0. For example, specifying 9.0 will display about 83,000 stars. Note that higher values will increase rendering time.

→ Example: display up to magnitude 9.0

About the datetime option

Use --datetime "YYYY-MM-DD HH[:MM[:SS]] [TZ]" to specify an absolute date and time. The time part may be just hours, hours:minutes, or hours:minutes:seconds. If no timezone (TZ) is specified, UTC is assumed.

Supported timezone formats:

  • A common abbreviation (JST, UTC, GMT, KST, HKT, AWST, ACST, AEST, NZST, NZDT, MSK, EAT)
  • A full IANA timezone name (e.g., Asia/Tokyo, Europe/Moscow)
  • A UTC offset (e.g., UTC+9, UTC-07:30)

Examples:

zstarview --datetime "2025-08-17 21:00:00 JST" Tokyo
zstarview --datetime "2025-09-12 9" Tokyo         # 9 o'clock
zstarview --datetime "2025-09-12 09:00" Tokyo     # 9:00
zstarview --datetime "2025-09-12 9:0:0 JST" Tokyo # 9:00:00 JST

Latitude/Longitude direct input

Instead of a city name, you can directly specify coordinates as "<lat>;<lon>".

  • Format: latitude;longitude (semicolon separated)

  • Examples:

    • 35.68;139.76
    • N35.68;E139.76
    • -35.68;139.76
    • S35.68;W139.76
  • Latitude must be between -90 and 90, longitude between -180 and 180.

  • Direction letters N/S/E/W can be used (negative sign takes precedence if both given).

  • When starting with coordinates, the timezone defaults to UTC (you can override with --datetime and a timezone).

Example:

zstarview "35.68;139.76"
zstarview "N35.68;E139.76" --datetime "2025-09-12 21 JST"

Time zone examples for --datetime:

  • IANA zone name: --datetime "2025-09-12 21 Asia/Tokyo"
  • UTC offset: --datetime "2025-09-12 21 UTC+9"

Key Operations

  • ← / →: Rotate view azimuth by ±5°
  • M: Toggle moon enlarged to 5x size
  • F11: Toggle fullscreen display
  • ESC: Exit fullscreen
  • Q: Quit

Generating a .desktop launcher (GNOME only)

On GNOME-based environments (including Ubuntu Dock and DockToPanel), a .desktop file is required for the correct icon to appear in the taskbar.

This application includes a helper command to generate it:

# Create zstarview.desktop in the current directory
zstarview-make-desktop-file

# Install to ~/.local/share/applications
zstarview-make-desktop-file --write
  • Without --write, the file zstarview.desktop is created in the current directory.
  • With --write, it is installed to ~/.local/share/applications and registered with the desktop database.

Note: This launcher integration is only intended for GNOME-based environments. It is not required on other desktop environments, and may not work as intended elsewhere.

Troubleshooting

X11 (Ubuntu/Debian)

Qt's xcb platform plugin may require libxcb-cursor0 at runtime. If you're not watching for X11 vs Wayland differences, this can be confusing — running from a terminal may show errors like:

$ zsterview
qt.qpa.plugin: From 6.5.0, xcb-cursor0 or libxcb-cursor0 is needed to load the Qt xcb platform plugin.
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: eglfs, offscreen, wayland-egl, linuxfb, wayland, minimal, xcb, vkkhrdisplay, minimalegl, vnc.

Install the missing libcxb-cursor0 package with:

sudo apt install libxcb-cursor0

Slow or Unstable Network / Offline Use

Cloud rendering downloads satellite imagery from public S3 buckets (Himawari / NOAA GOES) and relies on heavy dependencies. If your network is slow or unavailable, disable clouds with -c 0. You can still explore stars/planets and sky colors without cloud overlays.

Note: On the very first launch, the app downloads a planetary ephemeris file (de440s.bsp). This requires network connectivity once. After it is cached, the app can run offline (especially with clouds disabled).

Sky Update Interval and CPU Load

Frequent sky updates can be CPU‑intensive on lower‑end machines. Increase the interval to reduce load (e.g., -i 300 for every 5 minutes). Lower it only if your machine can keep up.

Viewing Logs

Launching from a terminal as $ zstarview shows startup messages and errors. Logs are also written to a file (platform‑dependent). Examples:

  • Linux: ~/.cache/zstarview/logs/app.log
  • macOS: ~/Library/Logs/zstarview/app.log
  • Windows: %LOCALAPPDATA%/tos-kamiya/zstarview/Logs/app.log

License

This software is provided under the MIT License.

However, the included data is redistributed according to their respective licenses.

All paths below are relative to src/zstarview/data/.

File Content Source License
cities1000.txt, admin1CodesASCII.txt List of cities with a population of 1000 or more GeoNames CC BY 4.0
stars/hip_main.dat.zip Hipparcos and Tycho Catalogues (ESA 1997) CDS Strasbourg ODbL or CC BY-NC 3.0 IGO Non-commercial
stars/IAU-Catalog of Star Names (always up to date).csv IAU WGSN catalog of approved star names exopla.net CC BY 4.0
Noto_Sans/*, Noto_Sans_Symbols/* Font for displaying text / planetary symbols Google Fonts SIL Open Font License 1.1

Credits

  • Astronomical data provided by CDS Strasbourg and the ESA Hipparcos Mission.
  • City data based on GeoNames.
  • Star proper names provided by the IAU Working Group on Star Names (via exopla.net).
  • Cloud data are based on infrared observations from the Himawari satellite (provided by JMA) and the NOAA GOES series (provided by NOAA/NESDIS), retrieved from their public S3 buckets.
  • Fonts provided by the Google Noto Project.
  • The window title "Zenith Star View" was suggested by ChatGPT.
  • Specification discussions, code generation, and debugging were greatly assisted by Gemini and ChatGPT.

Appendix

Developer Docs

Specification, Design

Lunar eclipses in 2026-2028, Solar eclipses 2026-2028

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

zstarview-0.12.3.tar.gz (94.8 MB view details)

Uploaded Source

Built Distribution

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

zstarview-0.12.3-py3-none-any.whl (91.1 MB view details)

Uploaded Python 3

File details

Details for the file zstarview-0.12.3.tar.gz.

File metadata

  • Download URL: zstarview-0.12.3.tar.gz
  • Upload date:
  • Size: 94.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Hatch/1.16.4 cpython/3.12.3 HTTPX/0.28.1

File hashes

Hashes for zstarview-0.12.3.tar.gz
Algorithm Hash digest
SHA256 cad89e3fa8ef1587d7e5383e3484ea5b913b9ec0e18416e2a09d5fbdcd08bf2c
MD5 06e1e254e96ef20b6d016d9ead415d6c
BLAKE2b-256 82b4de68b3a564ffce3b770d70320b3aa7ce9ad7e9edb505a15a0eb5c38272b7

See more details on using hashes here.

File details

Details for the file zstarview-0.12.3-py3-none-any.whl.

File metadata

  • Download URL: zstarview-0.12.3-py3-none-any.whl
  • Upload date:
  • Size: 91.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Hatch/1.16.4 cpython/3.12.3 HTTPX/0.28.1

File hashes

Hashes for zstarview-0.12.3-py3-none-any.whl
Algorithm Hash digest
SHA256 ef3d6cafbe931cd6c4e132855ff244abb764921842d933f78d4b6b2a47b734bb
MD5 8ed197507c987eba1447806abbd65074
BLAKE2b-256 de1e6f2887c38967d1b72bc450e8378dd7a26bd1ba1664ace5714dc38a46ef18

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