Night Sky Pi 1.0.0 Released

After months of steady work, Night Sky Pi has reached version 1.0.0. The release is not about chasing features for their own sake. It is about meeting the original goal and doing it reliably enough to use every clear night. The project page is here: https://github.com/joe-mccarthy/night-sky-pi, and the release notes are here: https://github.com/joe-mccarthy/night-sky-pi/releases/tag/1.0.0.

Why 1.0 matters

The checklist that defined success was clear from the start. Capture the night automatically. Keep files structured and easy to find. Adjust exposure when conditions change. Record the details needed for later analysis. Package the results so they are simple to move. Signal progress to anything listening. Avoid filling the device with old data. Make all of it configurable without editing code. Version 1.0.0 delivers on that list.

What is in 1.0.0

  • Automatic overnight capture
    The service runs from sunset to sunrise without supervision. There is no need for alarms or manual starts. Once enabled, the device handles the session on its own.

  • Date based storage
    Images are written into a predictable folder structure grouped by date. The layout makes it straightforward to browse observations or script post processing later.

  • Adaptive exposure
    Frames are assessed during the session and exposure is adjusted when conditions swing brighter or darker. The result is steadier image quality across a full night.

  • Metadata for every image
    Each frame has an accompanying JSON record with the data needed for later analysis. Keeping that sidecar data close to the image saves time when processing observations after the fact.

  • Packaged observations
    At the end of a session, files and metadata are packaged. A single artefact travels more cleanly than a loose folder, which reduces mistakes when moving data off the device.

  • MQTT signals at key moments
    Messages are published during important points in the lifecycle so other systems can react. It is a simple integration point that keeps services decoupled while still coordinated.

  • Automatic cleanup
    Retention rules clear out old data so storage does not silently fill. The behaviour is configurable and designed to be conservative by default.

  • Configuration instead of code edits
    Settings are exposed so behaviour can be tuned without modifying source files. That keeps upgrades simple and makes it easier to run multiple devices with different preferences.

Quality checks

The codebase ships with decent test coverage and passes Sonar quality gates. Getting there took time, but it raises confidence that changes will not undo the basics that make the system dependable.

How the ecosystem grows

The core does the capture work. Extra behaviour belongs in modules that connect to the core through simple interfaces. Two modules are already underway:

Keeping these pieces separate avoids piling responsibility onto the core. The result is easier to reason about and easier to extend later.

What is next

From here the plan is straightforward. Fix bugs as they appear, harden the packaging and cleanup paths with more real world use, and keep module work moving. The first goal for modules is to make it effortless to receive a push when a session changes state and to ship a finished observation to long term storage without touching the device.

This release is a line in the sand. The tool now does the job it was built to do, and it does it in a way that is practical to run every night there is a clear sky.

Thanks for reading. If you try Night Sky Pi and have feedback on packaging or the metadata schema, share it so others can benefit while the next round of work takes shape.


↤ Previous Post
Next Post ↦