I built a free tool to generate Messier & Caldwell catalogs posters

6 replies353 views
Sylvain Villet avatar

Hi everyone,

I started astrophotography a month ago and took the challange to capture all the Messier objects.

I looked out for a nice way to track my progress and have a printable poster when I'm done... Couldn't find any, so I built it!

I wrote a Python script that automatically generates a grid of the Messier (110 objects) or Caldwell (109 objects) catalogs.

Just drop your pictures in a folder, run the script and here’s the result:

📷 Messier Catalog progress (20/110)Messier Catalog progress (20/110)You can configure a lot of parameters like the size, title, font, number of columns, bigger object’s size and position, etc…

Give it a shot and share your result here! It’s free on my Github account:
https://github.com/sylvainvillet/astro-catalog

Let me know if you have any feedback 🙂

Clear skies! 🌠

Well Written Helpful Engaging Supportive
andrea tasselli avatar
Thanks for sharing.
Jim Miller avatar

This is great. I would like to find a tool with a bit more flexibility, that allows for different numbers of images that may not be associated with Caldwell or Messier. Maybe it already exists.

Well Written
Ole Skanning avatar

Great feature, which I just had to try. However I could only make it work, if I changed the below line from

font: ImageFont.ImageFont | ImageFont.FreeTypeFont,

to

font: ImageFont.ImageFont, #| ImageFont.FreeTypeFont,

Otherwise I got this error: TypeError: unsupported operand type(s) for |: 'type' and 'type'

Then it worked, at least with the standard parameters.

I am on Mac M3, don’t know if I need to update python3

Helpful
Sylvain Villet avatar

Ole Skanning · Sep 14, 2025, 07:53 PM

unsupported operand type(s) for |: 'type' and 'type'

Hey Ole,

thanks for the report, indeed this operand is only available on Python 3.10+ (released in 2021), so you might want to update 🙂

I updated the README accordingly.

Otherwise I just released a new version 1.1.0, which adds the ability to group objects into the same slot (like M31, M32 and M110)

Well Written Helpful Concise Engaging
CVZ_Astro avatar

That’s really useful. Thanks Sylvian, I’ll try it!

Well Written Respectful
Sylvain Villet avatar

Hey star hunters,

I just released a brand new version of Astro Catalog, now with a nice User Interface instead of the command line script! The image is updated automatically each time you change a setting.

I also added a new Basic layout where all the objects have the same 1x1 size, as well as a global scale setting to adjust the size of the final image!

Let me know what you think!

https://github.com/sylvainvillet/astro-catalog