Skip to the content

Hoshi Stars星

The stars you can see without a telescope, with names, colours and distances; the 88 constellations with their lines and boundaries; the Messier objects; and seven map projections to draw them on.

Hoshi is the Japanese word 星 for a star. About the name

Contents

Changelog

[Unreleased]

[0.7.0] - 2026-11-08

  • Data files for other languages: every release attaches the stars, nearby stars, constellations, lines, boundaries, Messier, NGC/IC and star names as CSV and Parquet, each with a schema, checksums and a data licence note (which credit each table needs). pnpm export:data writes them locally. New guides: data files (loading from Python, R and Rust) and serve it yourself (a small Node query server you host).

[0.6.0] - 2026-11-08

  • New entry point @johnmorrisdotca/hoshi-stars/nearby: nearbyStars(options) and nearbyStarByName(text) give 5,565 more stars from the Yale General Catalogue of Trigonometric Stellar Parallaxes (Proxima Centauri, Barnard's Star, Wolf 359 and the red dwarfs), none of them among the 5,080 bright stars, each with names and identifiers, a J2000 position with its source and error (4,352 from 2MASS, 1,213 the Yale catalogue's own and flagged coarse), parallax and distance with their errors, proper motion, V magnitude, spectral type and flags. About 240 kB gzipped, its own import; the bright-star import is unchanged. nearest(..., { by: "space", among: [...stars(), ...nearbyStars()] }) counts them, and works out error for a nearby star. scripts/make-nearby-data.py builds the table (the Yale file is checked against a SHA-256, 2MASS is read from IRSA in batches). NOTICE.md carries the credits: the Yale catalogue states no licence and is removed on request; 2MASS's acknowledgement.

[0.5.0] - 2026-11-08

  • New entry point @johnmorrisdotca/hoshi-stars/nearest: nearest(target, { count, within, kind, by, date, magnitude, among }) and within(target, radius, options) give the stars or Messier objects nearest a star, an object, a name or a point, nearest first, by angle on the sky ({ thing, angle }) or by distance in space from the parallaxes ({ thing, distance, parsecs, error }, with a skipped count; a point { x, y, z } in parsecs is a target too), and neighbouringConstellations(text) gives the constellations that share a piece of boundary. One query over all 5,080 stars takes about 1 ms. The space answers cover only the bright-star catalogue until a nearby-star catalogue lands.
  • The demo has a Nearby panel: pick a star, a Messier object or a constellation and it lists the ten nearest stars (in the sky, or in space for a star with a parallax) or the constellations that touch it, and rings them on the chart; by=space is kept in the address. The embed page does the same from near=S:2491 (or D:M31, C:Ori) and by=space, and the code to copy carries them.

[0.4.0] - 2026-11-08

  • The demo's chart and the embed page take the family's hands (kazoku-ui's view controller): a drag turns the sky, two fingers pinch, Ctrl or Command and the wheel zoom about the pointer, +, -, the arrow keys and 0 work with the chart focused, and the double tap zooms. At the opening view the plain wheel scrolls the page, and a finger's up-and-down drag does too; zoomed in, the wheel and a drag move the sky. The embed page (embed.html) is no longer a still picture: it has the same hands and zoom in, zoom out and back-to-start buttons, and writes ra, dec and zoom into its own address.

  • The zoom now runs from 0.1 (the whole sky, small) to 500 (about 0.7 degree across a desk-wide chart, where Mizar and Alcor still draw as two stars), up from 0.6 to 60. Lines and the Milky Way keep drawing at the top of the range: a point is placed out to 100,000 pixels from the middle (it was six times the chart's size), so a segment that crosses the chart is not lost. Constellation names are left out below 0.25, where they cannot be told apart.

  • New npm keywords react, galaxy and component.

  • The family's thumbnail, dark thumbnail and icon (docs/images, made by pnpm images): a sky chart of Orion with its lines on the Milky Way. The README opens with it and the demo carries it as its link card (og:image) and apple-touch-icon.

  • pnpm test:readme runs every js and ts example of the README and the guides against the built package, and checks that they name every export and every picture exists. Run by CI and by the release.

  • The demo keeps less empty room under its title on a phone. Fixed: the demo's chart failed to draw (an error in the console) once zoomed in past 5, with the Milky Way on. The getting-started guide said Orion has 12 lines to draw; it has 8.

[0.3.0] - 2026-11-08

  • 199 more common star names, 335 in all: every name on the IAU Catalog of Star Names whose star is in the 5,080, among them Acrux, Alcor, the Pleiades (Alcyone, Merope, Electra, Atlas, Maia, Taygeta, Pleione, Celaeno, Asterope), Rasalas, Mesarthim, Zosma and Tiaki. Each has its katakana (アクルックス, アルコル, アルキオネ), and the demo's search finds them in both. Adhara's katakana is now アダーラ, as the National Astronomical Observatory of Japan writes it. The source and its date are in NOTICE.md.

[0.2.0] - 2026-11-08

  • New entry point @johnmorrisdotca/hoshi-stars/milky-way: a brightness map of the Milky Way (about 11 kB of numbers) with the bright core toward Sagittarius and the Great Rift, the Coalsack and the Cygnus Rift as dimmer places. milkyWayBrightness(point) gives 0 to 1 toward a point of the sky, milkyWayBands(levels, { step }) cuts it into ribbons of sky points to fill as soft bands, and toGalactic and fromGalactic change between right ascension and declination and galactic longitude and latitude. Made by scripts/make-milky-way-data.py from SAO star counts (NASA HEASARC; no licence stated, used with credit and removed on request), the IRAS 100 micron and COBE DIRBE dust maps (NASA, public domain) and a bulge of our own figures; see NOTICE.md.
  • The demo: a Milky Way (天の川) button draws the band under the stars and the lines, in every projection, on by default; layers=milky is in the address and in the embed page's.

[0.1.0] - 2026-11-08

  • New Star.nameJa: the katakana name (シリウス, ベテルギウス) of each of the 136 named stars, which starByName also finds. The spellings are the IAU names written in Japanese letters by hand, with the usual Japanese forms; see NOTICE.md.
  • The demo: a star's name or a constellation's is left out where it would sit on another label, bright stars first, and comes back when you zoom in; it opens about 90 degrees wide on a desk and 60 on a phone, centred on Orion; the Japanese page names the stars in katakana and the search finds a star by its katakana name.
  • Every one of the 5,080 stars now has its constellation (Star.constellation is a string, no longer string | undefined): the catalogue's for the 2,736 with a Bayer letter or Flamsteed number, and the boundaries' for the other 2,344. starsIn therefore lists every star in a constellation, not only the lettered ones (Orion: 128 stars, not 73). designation is unchanged and is still undefined for a star with no letter or number.
  • Fixed: a few Bayer letters were spelled in Latin and spaced from their number (Xi 2 Cet, Nu 1 Dra, Mu Sco, Pi 3 Ori; 66 stars). They are now Greek with the number joined, as every other star's: ξ2 Cet, ν1 Dra, μ1 Sco, π3 Ori, and found by those names. A name or designation typed the old way no longer finds the star.
  • Fixed: horizontalFrom read its moment as TDB while everything else in the package takes UTC, so passing UTC put another planet's sky about 69 seconds early (0.28 degree on Mars). It now takes UTC and converts to Terrestrial Time inside, with the leap seconds from 1972 and Espenak and Meeus's delta T before; TDB minus TT (under 2 ms) is ignored. A caller who added the 69 seconds by hand must stop.
  • A demo on GitHub Pages (https://johnmorrisdotca.github.io/hoshi-stars/): a sky chart you turn with a drag, zoom with the wheel or a pinch and search by name in English or Japanese; seven map projections, constellation lines and boundaries, the Messier objects, a faintest-star slider, a tap for a star's brightness, distance and colour, and "Put it in your page" code for HTML, ES modules, React, Vue, Angular, Svelte and an iframe of the embed page (embed.html, which draws what its address says). In English and Japanese, light and dark, at a phone's width and a desk's.
  • New entry point @johnmorrisdotca/hoshi-stars/lines: the stick figures of the 88 constellations (figures, figureOf), each a list of star pairs to join and the stars used, from about 2 kB of data. Our own figures, decided from the star data; every star of a line lies inside its constellation.
  • New entry points @johnmorrisdotca/hoshi-stars/deep-sky (the 110 Messier objects: messier, deepSky, deepSkyObject) and @johnmorrisdotca/hoshi-stars/deep-sky/ngc-ic (the same functions over 11,898 Messier, NGC and IC objects). Positions, types and names from Wikidata (CC0), checked against NASA/IPAC NED; each object has its cross-identifications, type, constellation, magnitude and size where known.
  • 25 more common star names (136 in all), among them Castor, Mira, Nunki, Sabik, Thuban, Alderamin, Sheliak and Sulafat, spelled as the IAU Working Group on Star Names spells them.
  • New entry point @johnmorrisdotca/hoshi-stars/sky: your sky. horizontal gives a star's altitude and azimuth (north through east) for a place and a moment, with optional refraction; also isAboveHorizon, greenwichSiderealTime, localSiderealTime and precess (J2000 to date). horizontalFrom does the same for a place on another planet from its IAU pole and prime meridian, passed in.
  • New entry point @johnmorrisdotca/hoshi-stars/boundaries: constellationAt says which of the 88 constellations a J2000 (or of-date) position is in, and boundaryOf and boundaries give the IAU boundaries as closed J2000 outlines to draw, with a point at least every degree along each edge. From N. G. Roman's table of Delporte's boundaries (VizieR VI/42), precessed to B1875.0; 8 of 8 of Roman's own test positions and all 2,736 bright stars that name a constellation agree.
  • New entry point @johnmorrisdotca/hoshi-stars/constellations: the 88 IAU constellations with abbreviation, Latin name and genitive, English name, and Japanese name (おおいぬ座) with its hiragana reading (constellations, constellation, starsIn).
  • Map projections for star charts as their own import, @johnmorrisdotca/hoshi-stars/projection: project and unproject for stereographic, orthographic, gnomonic, azimuthal equidistant, equirectangular, Mollweide and Hammer-Aitoff (hammer), with the sky's east-left convention, mirror, rotation and scale.
  • First version: the 5,080 stars of the Yale Bright Star Catalogue to magnitude 6.0 with names, positions, proper motion, distance and colour (stars, starByHr, starByName, starPosition, starDistanceLightYears, starTemperatureK, blackBodyColour, starColour). Moved unchanged from wakusei-planets' /stars.

View sourceEdit on GitHubMade from the source of @johnmorrisdotca/hoshi-stars 0.7.0.