Starplot logo

Starplot

Archives
Subscribe
January 27, 2026

Starplot - New Version! v0.19.2

Starplot v0.19.2 🎉

A new version, v0.19.2, of Starplot is now available on PyPI and includes:

💥 Label Collision Handlers

There's now a CollisionHandler class that determines how to handle label collisions. When creating a plot, you can pass a default collision handler, but you can also pass a collision handler to any function that plots text (either directly like the text function or as a side effect like the stars function).

📐 Easier True-Size Plotting

It's now easier to plot some deep sky objects (DSOs) as their true size and some as the style's marker size. The true_size kwarg has been replaced with a where_true_size kwarg that lets you define exactly which DSOs should be plotted as their true apparent size:

p.dsos(
    where=[_.magnitude < 10)],
    where_true_size=[_.size > 1],
)

🟦 Constellation Geometry Fixes

The boundary data for constellations that cross the meridian at RA=0 had various issues that produced unexpected results when using them for clip paths, intersections, etc. These issues have been fixed, and a border field has been added to the constellation model that lets you plot the border of an individual constellation (versus plotting all of them).

The Canis Major example has been updated to reflect these improvements.

Coming Soon: Better documentation on using geometry fields in Starplot (e.g. querying on them, plotting them, etc)

📓 Catalogs for Milky Way and Constellation Borders

To further reduce the size of our PyPI package, the Milky Way outline and constellation borders are now in downloadable catalogs. This also opens up support for better Milky Way outlines (e.g. smoother curves, multiple levels, etc). Fonts will likely be removed next.

🌖 Fixes bug with Solar System apparent sizes

This one is embarrassing, but there was a bug with plotting the apparent size of Solar System objects (Sun, Moon, and planets). It was plotting them two times bigger (in diameter) than they should be. This has been fixed.

🌐 Spanish Translation

Big thanks to @enzodbspace 👏

This was actually included in the v0.18.3 release, but I realized I never announced it on the newsletter.


🐍 Now Available on Conda

Starplot is now available on the popular package management system, Conda. New versions will be uploaded there automatically about a day after they're on PyPI. So, v0.19.2 should be there by tomorrow.

conda install conda-forge::starplot

✨ Showcase

hyperleda.jpg

Plotted above are 983,261 galaxies from the HyperLeda catalog. Each galaxy is plotted as a constant-sized marker (not their true apparent extent). I thought it was interesting how there's obvious gaps for the Milky Way, Virgo cluster, Large and Small Magellanic Clouds, and a few other spots.

Use this catalog in Starplot ↗️


🚀 Coming Soon

In the next minor version of Starplot (v0.20), I was planning to focus on adding more coordinate systems and helpers for converting between them, but I may push this out to v0.21 or later and re-organize priorities. Stay tuned!


🙋 Help Wanted

Want to help make Starplot better? Here are a few things we need help with right now:

  • Anything on our roadmap. If you're interested in helping with any of these, let me know, and I'd be happy to help you get started with contributing (setting up your environment, etc).
  • Check for errors on the Gaia DR3 catalog builder
  • Adding more language translations - details here
  • Creating more catalog builders

Read more about contributing here ↗️


💙 Show your support for Starplot

  • All Sky Map - made with Starplot!
  • Starplot stickers

Happy Starplotting!

Steve Berardi

steve@starplot.dev

Don't miss what's next. Subscribe to Starplot:
Discord
starplot.dev
Powered by Buttondown, the easiest way to start and grow your newsletter.