Skip to content

✨ Night Sky star charts and maps in Python

License

Notifications You must be signed in to change notification settings

observerly/starplot

 
 

Repository files navigation

Starplot

GitHub Workflow Status Python PyPI License

Starplot is a Python library for creating star charts and maps.

  • Zenith Plots - showing the stars from a specific time/location
  • 🗺️ Map Plots - including North/South polar and Mercator projections
  • 🔭 Optic Plots - simulates what you'll see through an optic (e.g. binoculars, telescope) from a time/location
  • 🪐 Planets and Deep Sky Objects (DSOs)
  • 🎨 Custom Styles - for all objects
  • 📥 Export - png, svg
  • 🧭 Label Collision Avoidance

Examples

Zenith plot of the stars from a specific time/location: starchart-blue

Map around the constellation Orion, with M42 marked: map-orion

Optic plot of The Pleiades through a refractor as seen from a specific time/location: optic-pleiades

Basic Usage

To create a star chart for tonight's sky as seen from Palomar Mountain in California:

from datetime import datetime
from pytz import timezone
import starplot as sp

tz = timezone("America/Los_Angeles")

p = sp.ZenithPlot(
    lat=33.363484, 
    lon=-116.836394,
    dt=datetime.now(tz).replace(hour=22),
    limiting_magnitude=4.6,
    resolution=2000,
)
p.export("starchart.png")

Documentation

https://starplot.dev

Demo

For a demo of Starplot's zenith plots, check out:

Sky Atlas - Star Chart Creator

Core Dependencies

  • matplotlib
  • pandas
  • numpy
  • geopandas
  • cartopy
  • skyfield
  • pydantic
  • adjustText

Coming Soon

  • ⚖️ Better auto font-size adjustment
  • ☄️ Better label collision detection and handling

License

MIT License

About

✨ Night Sky star charts and maps in Python

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 97.9%
  • Makefile 1.7%
  • Dockerfile 0.4%