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

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