Plan your night, understand every object, tell your science.
NightScribe is the working tool of an amateur astronomical observatory: it gathers the whole cycle of an observation in one place, from choosing what to look at tonight with your sky and your equipment, to understanding the object, capturing and reducing the images and telling what you have found.
GPL v3, freeLinux and WindowsSpanish and EnglishNo account, no telemetry
What is NightScribe?
Four missions, one loop:
Plan the night: the best targets visible from your observatory, under your real constraints, ranked and explained.
Understand every object: orbital and physical parameters translated into accurate, engaging explanations, in Spanish and English.
Capture and reduce: it drives your mount and camera through CCDciel or NINA/PINS, and it calibrates, stacks and measures your own frames: photometry (variables, exoplanets, supernovae) and MPC-ready astrometry of minor bodies, without leaving the window.
Tell it: a bilingual (ES/EN) draft and the night's charts, written with the real data of your session.
Every chosen target becomes a project: a persistent entity with its own folder that walks you through Card → Capture → Analysis → Publishing without asking again what it already knows (coordinates, window, magnitude, exposure plan). Weeks later the project is still there: follow-up visits, the light curve, the final outcome.
What you can follow
Eight kinds of targets share the same list every night, with the Sun and the sky as context. Each one has its own chapter in the user guide: what it is, why it matters tonight and how it is measured.
Near-Earth objects (NEOs)
Asteroids and comets on paths that pass close to Earth: the confirmed ones with score, priority, apparent rate, sky uncertainty and flags (NEOCP, impact risk, radar, NHATS), plus the unconfirmed…
NEOfixer's site-specific list + NEOCP (MPC); positions from NASA Horizons
The newest discoveries, with the complete follow-up: a confirmation blink of your FITS against a PanSTARRS reference, the light curve drawn against the typical templates of each type, an evolution…
Rochester Astronomy discovery list + a PanSTARRS (MAST) reference for the blink
Exoplanets crossing their star tonight from your site, with the transit time, how much the observed timing is drifting from the prediction (O-C), whether the whole transit fits in your night, the…
ExoClock (ESA Ariel ephemeris programme) + NASA Exoplanet Archive; times from NASA Horizons (HJD)
Upcoming close approaches from ESA NEOCC (how the visitor gets by, roughly how big, how bright at the closest pass) to catch the week's fast mover, plus the AAVSO editorial channel: community alerts…
ESA NEOCC + the AAVSO editorial channel (alerts and campaigns)
High-amplitude delta Scuti variables: they pulse so fast and so strongly that you can watch them vary in a single session; your run folds by phase into the classic saw-tooth.
Your campaign members that are due by cadence, stars with an event in progress, stars nearing a predicted extremum, and your standing vigils (the T CrB eruption, the R CrB fade) checked day by day…
AAVSO VSX + AAVSO community photometry + a ZTF check for the vigils
Six screens of the running program, with real observations: the object card, the track & stack, the photometry, a transit reduced by EXOTIC, a light curve and a measurement. Click any of them to see it larger.
The object card: what it is in plain words (here a type-Ia supernova), how bright it is, when it is above your horizon and how long the window lasts.The track & stack: the frames are stacked following the asteroid, so its light concentrates while the stars leave a trail; the run measures every observation and prepares the MPC report.Photometry in the editor: the plate with the comparison stars proposed next to the target (never the brightest of the field: they saturate) and the recipe that will measure it.An exoplanet transit reduced by EXOTIC from inside the app: the mid-transit instant, the planet-to-star radius ratio and the folded light curve with its residuals.The light curve of the series: one calibrated point per frame, with the ensemble of comparison stars holding the zero point night after night.Measuring on the plate: with a faint object the centre can be placed by hand, and the measurement then says exactly what it did and how much it trusts it.
What you need
Required
Linux or Windows · Python 3.11+ (3.12 recommended) or the standalone installer (no Python needed) · ~500 MB of disk · an internet connection for the live data (everything else works offline)
Recommended
Your MPC observatory code (three characters, the ones assigned to your station): the first-run wizard resolves your coordinates automatically and it unlocks the site-specific NEO list · your local horizon file (TheSkyX .hrz or simple az alt pairs) · your telescope aperture and camera pixel/focal length
Optional
CCDciel or NINA/PINS running locally, if you want the app to drive the mount and camera (the observatory integration; one backend at a time) · five free API keys that each unlock one extra (NEOfixer report, Astrometry.net blind solve, light-pollution atlas, TNS bot, AAVSO token) · the optional assistant (a model you configure) · EXOTIC (the transit reduction), the one external tool you install by hand, and the project publishes it ready to unzip: Find_Orb travels inside the installers and the Linux packages; see Optional integrations
No account, no registration, no telemetry: NightScribe runs on your computer and talks only to the public data services listed below.
Your first five minutes
Install. No Python needed: every file lives on the Releases page. Pick your system: - Windows: run the NightScribeSetup-*.exe installer (per-user, no admin rights). It is not code signed, so Windows has two ways to stop it: SmartScreen warns and lets you through with More info → Run anyway, while Smart App Control (Windows 11, on by default on new installations) blocks it with no way through at all. Prefer not to install anything? Unzip the portable NightScribe-*-windows-x64.zip and run nightscribe.exe gui (the same two gates apply to it). What to do about Smart App Control is in the guide. - Linux: install the .deb (Debian, Ubuntu, Mint) with sudo apt install ./nightscribe_*_amd64.deb, or the .rpm (Fedora, openSUSE) with sudo dnf install ./nightscribe-*.x86_64.rpm, then run nightscribe gui.
The full per-system steps are in INSTALL.md. Running from a source checkout is the last option there, for contributors.
The wizard asks for one thing: your observatory. Type your MPC code and your coordinates are filled in from the MPC list; or enter name, latitude, longitude and altitude by hand.
The Tonight view (from + NEW PROJECT in the header) computes your night on its own: it downloads the target lists, filters them by your site and gear, and ranks everything.
Click any target and you get its full explained card. Like what you see? One button: Create project.
When you have a minute, open Tools → Settings…: horizon file, limiting magnitude, camera plate scale, session defaults. Everything has a sensible default; nothing else is mandatory.
From source (contributors)
NightScribe also runs from a checkout; the full, per-system walkthrough is in INSTALL.md. The short version:
The tutorial playlist on YouTube collects the walkthroughs of the project. The narration is in Spanish and the interface in English; the user guide is the written reference.
A whole night (and the weeks after)
The guide walks a real night from the first click to the report. The short version:
Late afternoon. One click on + NEW PROJECT computes the night: the best target first, a chip saying how lit the Moon is and another announcing a shadow transit on Jupiter, and a one-line reason for the top row.
You click it. The card says what the object is, how fast it moves and, because it knows your camera, your longest trail-free exposure. You press Create project.
Plan and capture. Size the session; the app confirms it fits inside the safe window. Export the ephemeris and the sequence, or, with CCDciel or NINA/PINS connected, send the plan and start the run without leaving the app.
Analysis. Back home you open the visit in the editor: it solves the reference frame, registers the sequence and stacks it following the object, measures every observation and checks the result against the other stations. The MPC report comes out ready to send.
The weeks after. The journal remembers that night by itself, the light curve grows, the dashboard nudges you when a revisit is due and the bilingual draft is already written with the real session data.
Where the data comes from
Tonight's list and the object cards are fed by public services, each with its own refresh: NEOfixer, the MPC (PCCP, observatory codes, published observations), COBS, Rochester Astronomy, ExoClock, ESA NEOCC, the HADS catalogue, AAVSO (VSX, forum, campaigns and photometry), ALeRCE/ZTF, JPL (SBDB, Horizons, CAD), SIMBAD, TNS, the NASA Exoplanet Archive, VizieR, NOAA SWPC, SILSO, NASA SDO and the DESI Legacy Survey.
All network access goes through an SQLite cache with per-source TTLs: repeat queries are instant and free for the service, and a source that is down never breaks the rest of the app. Sun, Moon and planet positions, the sky calendar and the whole reduction (registration, stack, measurement, periods) are computed locally, with no service involved. The full table, with what each source gives you and whether it needs a key, is in docs/DATA_SOURCES.md.
Optional integrations
Everything below is optional; each missing piece degrades gracefully and tells you so. Configure them in Tools → Settings → Integrations.
Integration
What it unlocks
CCDciel (local, host/port)
The Capture step of each project: status, point telescope, astrometric goto, Stop goto, staging the saved plan (read back) and live capture. Only while CCDciel is running
NINA / PINS (local, host/port)
The same Capture step over the Advanced API v2 plugin: status, point telescope, astrometric goto (Center), Stop goto, filter wheel and a one-shot snapshot capture. NINA on Windows, PINS on Linux; one backend at a time
NEOfixer API key
Report will_observe / observed back for community coordination
Astrometry.net key (free)
Blind solve of WCS-less FITS in the blink
TNS bot credentials
Discovery images shown inside the app (respecting each survey's licence)
AAVSO API token
Community photometry for the bright-star vigils
AAVSO observer code
Filled into the photometry exports and the EXOTIC handoff
The sky-brightness atlas at your site: the Bortle context the sky-quality notes use
Assistant (optional, off by default)
A chat panel that answers from the app's own guide and design notes, offline and without embeddings. It needs a model you configure; without it the app is unchanged
Find_Orb (ships with the installers and the Linux packages)
The check of your astrometric measurement against the observations other stations published, before the MPC report. It travels inside NightScribe, so it works out of the box; from a source checkout you install it yourself, and the app says so instead of pretending
EXOTIC (external Python 3.10 to 3.12, or the ready-made environment the project publishes)
The transit reduction: the app writes the handoff, runs EXOTIC for you and imports its light curve and parameters into the project. The ready-made environment is a zip that brings its own Python, so there is nothing to install: unzip it and point Settings at its interpreter. Without it the handoff is still yours to run by hand
Your data stays with you
Everything NightScribe knows lives in a local SQLite database in your user's data directory: the HTTP cache, your projects, sessions, photometry, campaigns and settings. Each project gets its own container folder (plans, sequences, reports, charts, posts) under a root you choose and can change later. No accounts, no cloud, no telemetry. Uninstall and delete the folder: nothing remains anywhere else.
Quickstart and CLI
Install first (see Your first five minutes). Then everything the GUI does for planning and publishing has a command-line counterpart:
tonight, explore, post, solar, blink, sequence, history, project and inject are the rest (--help on each for the details), and chapter 09. The command line has the whole list. The reduction (calibration, track & stack, astrometry, photometry, periods) lives in the GUI.
See INSTALL.md for the full per-OS instructions (the standalone installer and the Linux packages first), and CONTRIBUTING.md to hack on it.
Documentation
The user guide (español) walks the whole cycle, from the first run to the MPC report, in short chapters with the "why" of each option. It is published as a website: <https://irydeo.github.io/nightscribe/> (Help → User guide (web)).
Design, architecture, data sources, scoring, workflows and every design decision live in docs/, in Spanish and English.
NightScribe is free software, published under the GPL v3: you can use it, study it, change it and share it, and whatever you pass on stays free for the next person. There is no paid edition and no locked feature.