Skip to content

steveberardi/starplot

Repository files navigation

Starplot

GitHub Workflow Status Python PyPI License

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

  • Zenith Plots - showing the whole sky from a specific time/location
  • 🗺️ Map Plots - including many map 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, jpeg
  • 🧭 Label Collision Avoidance

Examples

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

Map around the constellation Orion: map-orion

The Pleiades star cluster, as seen through a refractor telescope from a specific time and 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.MapPlot(
    projection=sp.Projection.ZENITH,
    lat=33.363484,
    lon=-116.836394,
    dt=datetime.now(tz).replace(hour=22),
    style=sp.styles.PlotStyle().extend(
        sp.styles.extensions.BLUE_MEDIUM,
    ),
    resolution=3200,
    autoscale=True,
)
p.constellations()
p.stars(mag=4.6)
p.export("starchart.png")

Documentation

https://starplot.dev

Demo

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

Sky Atlas - Star Chart Creator

Discord

Chat with other starplotters on our Discord server:

https://discord.gg/WewJJjshFu

Contributing

Contributing to Starplot is welcome and very much appreciated! Please see here for details.

Coming Soon

  • 🌄 Horizon plots
  • 🌑 Planet moons
  • ✴️ Custom markers
  • ☄️ Comet model
  • 💫 Better constellation label placement
  • 😄 🔭 Clear skies

See more details on the Public Roadmap

License

MIT License