Active development — pre-1.0, no App Store release

Point a camera at the sky.
Get a live view, right on your Mac.

Sky For Mac is a free, open-source, native SwiftUI + Metal capture app for astrophotography cameras — a SharpCap-style tool built from scratch for macOS, not ported through Wine or a JVM. ZWO ASI cameras are supported natively today, with more brands on the roadmap. Live stacking, planetary bursts, polar alignment, and full FITS/TIFF/PNG export, straight off the sensor.

macOS 14+ · GPLv3 · no telemetry, no account, no cloud dependency

Why a native Mac app

Most ASI capture software treats macOS as an afterthought.

SharpCap, FireCapture, and most of the rest of the ZWO ecosystem are Windows-native or Java-based — running on a Mac only through Wine, Parallels, or a JVM, none of which were built with Apple Silicon or this hardware in mind. Sky For Mac is SwiftUI/AppKit from the ground up, which makes a few things possible that a ported tool generally can't do:

⚡ Real GPU acceleration

Debayering, display stretch, denoise, wavelet sharpening, histograms, and live stacking all run as genuine Metal compute shaders on Apple Silicon — not a CPU fallback because the fast path was written for DirectX only.

📱 An iPhone as a capture source

Continuity Camera turns a paired iPhone into a live afocal-projection camera — real focus-lock and frame-stacked Night Mode — an Apple-ecosystem capability a cross-platform tool can't offer on any OS.

🔭 Apple's Vision framework

Star/streak/planet detection and the live plate-solve run through the same on-device Vision framework macOS itself uses, instead of a bundled third-party computer-vision library.

🧵 Swift's actor model, enforced

Every blocking ZWO SDK call is isolated onto its own actor — not just a convention to remember, but something the compiler checks — so a multi-second USB handshake or a long exposure can never freeze the UI.

🔒 Runs entirely locally

No telemetry, no cloud account, no network dependency beyond what the camera itself needs — and the source is open, so all of this is verifiable rather than taken on faith.

🆓 Free and open source

GPLv3-licensed, with an explicit exception permitting linking against ZWO's closed-source camera SDK. No purchase, no subscription, no account.

Features

Everything from first light to a finished stack

A live preview, deep per-camera controls, and dedicated workflows for planetary bursts, deep-sky stacking, and long-term projects.

📷

Live camera control

Connect a ZWO ASI camera over USB — the first supported brand, with more on the roadmap — or an iPhone via Continuity Camera, or any webcam, for a live preview with full gain/exposure/binning/offset control and one-tap gain/offset presets.

🌀

Live Stack & Smart Live Stack

Running-average stacking with optional single-star drift correction or experimental mesh-based tracking for field rotation. Smart Live Stack auto-curates, skipping soft or cloud-flagged frames with a live SNR readout.

🪐

Planetary & Lucky Imaging

Small-ROI, high-FPS burst capture with sharpness-ranked frame stacking, Vision-tracked auto-centering, and one-tap presets for Saturn, Jupiter, Mars, Venus, and the Moon.

🧭

Acquisition Wizard

Pick a target — planet, Moon, or a curated deep-sky list — and get ROI, gain, exposure, and the right stacking mode set up in one step. Save and load full setups as reusable presets, or start the same way from the Home page's own Quick Start.

🎯

Polar alignment & ST4 guiding

A two-frame rotation-center solve with a live on-screen correction vector, plus manual ST4 pulse-guide controls for cameras that report a real ST4 port.

🖤

Dark/flat calibration

Capture and manage any number of named dark and flat frames, with subtraction/correction toggled independently on the GPU or CPU path.

🎚️

Histogram & Curves

Per-channel histogram with independent Black/White Point sliders for correcting a light-polluted sky's color cast, plus a Photoshop-style master + RGB Curves panel that detaches into its own window.

🧠

Denoise & wavelet sharpening

Real-time bilateral denoise and wavelet sharpening as Metal compute kernels, plus a satellite/aircraft trail masker and a Cloud Cover & Drift Sentinel — never baked into exported raw data.

🎞️

SER video & export

Record every incoming frame undiscarded to a single .ser file for AutoStakkert!/PIPP/RegiStax, or export single frames/stacks to FITS (with BAYERPAT header), PNG, or TIFF.

🗂️

Projects & sessions

An iMovie-style library of projects and sessions with timelines, auto-generated capture notes, GPS/manual location, tags, ratings, favorites, and a sky-position Atlas view. See it in the App Tour below.

🛠️

Equipment manager

Named equipment systems — camera, mount, optical tube, and optional guiding/power/eyepiece gear — assignable per project and inherited by each session.

🤖

Local AI panel

A grounded chat panel talking to a local Ollama server — nothing leaves your machine — that can propose a project, a session, or a camera setting change, always behind an explicit Approve/Reject card.

📊

Insights

Most-captured objects, most-used equipment, most common acquisition mode, and a monthly activity chart, aggregated across every project — with "try this next" suggestions.

App Tour

More than a live view — a whole observing workflow

Beyond the camera view, Sky For Mac keeps a running library of every project, session, and capture, plus the equipment behind them and the insights across all of it.

Captures

Straight off the sensor

Unedited live-view captures from real first-light test sessions — no post-processing beyond the app's own live GPU pipeline. See the full, up-to-date catalog in EXAMPLES.md.

Roadmap

What's next

Sky For Mac is still pre-1.0 and under active development. ZWO ASI is the first camera brand it supports, natively, via ZWO's own SDK — it won't be the last. Roughly in priority order:

Planned

📷 More camera brands

ZWO ASI is supported natively today. Additional camera brands are planned next — each one needs its own SDK integration and real hardware to test against, so support lands brand by brand rather than all at once.

In progress

🔐 App Sandbox

Currently off. Turning it on needs a real migration for existing users' ~/Documents project data, plus verifying the vendored ZWO SDK's raw USB access still works under a sandboxed, hardened-runtime build.

Planned

✅ Notarized, Developer ID-signed builds

Today's releases are ad-hoc signed for local execution only. A real Apple Developer Program membership and Developer ID certificate would let releases launch without a Gatekeeper right-click.

Planned

🎯 ST4 guiding on real hardware

The manual ST4 pulse-guide controls are implemented but untested end to end — no ST4-cabled mount has been available yet to confirm a pulse produces a real correction.

Exploring

🏪 Mac App Store submission

Blocked on more than paperwork: Apple's Store terms have historically been read as conflicting with GPLv3 §6. Worth resolving — legal advice, FSF guidance, or relicensing the distributed binary — before a submission, not after. See why it isn't there yet.

Get involved

🔧 Hardware to test against

If you have a ZWO (or other) camera, mount, or other astro gear you'd be willing to lend or send for compatibility testing, that directly speeds up this list — reach out via Issues.

Download

Get the latest build

Distributed directly from GitHub Releases — not the Mac App Store. See why below.

macOS build, signed

A universal build of Sky For Mac, code-signed for local execution. It is not notarized by Apple (that requires a paid Apple Developer Program membership — see below), so Gatekeeper will flag it as being from an unidentified developer on first launch.

  • Requires: macOS 14.0 or later, Apple Silicon or Intel
  • Camera: a ZWO ASI camera over USB (first supported brand — more planned), or any webcam / Continuity Camera iPhone
  • Format: .dmg (drag-to-Applications installer) or .zip, same contents
  • License: GPLv3, free to use and modify
Latest release · v0.4.0
⬇ Download .dmg (v0.4.0) Or the .zip (v0.4.0-macOS.zip) All releases
Installing the .dmg: open it, drag skyformac.app onto the Applications shortcut, then double-click Fix Gatekeeper Warning.command (still inside the mounted .dmg window) — it opens a Terminal window and closes on its own once done.

Installing the .zip: unzip it, then open a Terminal in that folder and run:
bash "Fix Gatekeeper Warning.command"

Either way, the script moves skyformac.app into /Applications, clears the Gatekeeper quarantine flag, and resets the Camera permission (needed once per release, since the iPhone/webcam source can otherwise get silently stuck denied — the ZWO ASI camera isn't affected). Running it from Terminal skips the extra "Apple could not verify this app" prompt that double-clicking it in Finder triggers first — if you do double-click it in Finder instead, right-click it → OpenOpen again in the confirmation dialog, then do the same for skyformac.app in /Applications once the script has moved/copied it there.
FAQ

Why isn't this on the Mac App Store?

⚠ It's GPLv3-licensed, and that's a real, unresolved conflict

  • License incompatibility. Apple's App Store Terms have historically been read by the FSF and others as imposing usage/DRM restrictions that conflict with GPLv3 §6 ("Conveying Non-Source Forms") — this has caused real GPLv3 apps to be pulled from, or never submitted to, the App Store in the past.
  • App Sandbox isn't on yet. Store distribution requires App Sandbox, and turning it on isn't a small toggle here: existing users' project data lives in ~/Documents, which a sandboxed app can no longer see without a real migration step, and the vendored ZWO ASI camera SDK's behavior under a sandboxed, hardened-runtime build is untested against real hardware.
  • No Apple Developer Program enrollment yet. Store distribution needs a paid ($99/year) membership tied to a real Team ID — administrative setup that hasn't happened, independent of the licensing question above.

None of this is against the spirit of open source — quite the opposite. Distributing directly from GitHub keeps Sky For Mac's GPLv3 freedoms (use, study, modify, redistribute) fully intact, with nothing depending on Apple's review or continued Store presence to keep working.

License

Free and open source — GPLv3

Sky For Mac is licensed under the GNU General Public License v3, with one explicit additional permission.

📜 GPLv3

You're free to use, study, modify, and redistribute Sky For Mac — including commercially — as long as derivative works are shared under the same license. Full text in LICENSE.md.

🔌 Special exception for the camera SDK

An additional permission under GPLv3 §7 explicitly allows linking Sky For Mac against closed-source camera driver SDKs — specifically ZWO's proprietary ASI Camera SDK (libASICamera2) — and distributing the resulting binary, without that closed-source dependency "infecting" the rest of the license.

🛰️ Third-party notices

The vendored ZWO ASI Camera SDK is © ZWO Co., Ltd. under its own SDK terms. The bundled Messier/Caldwell/bright-star catalog is a small subset of the Stellarium project's DSO data (GPLv2). Full attributions in THIRD_PARTY_NOTICES.md.

🤝 No telemetry, ever

Everything runs locally. No analytics SDK, no crash reporter phoning home, no account, no cloud dependency beyond what the camera itself needs — and since the source is open, that's independently verifiable rather than a claim to take on faith.