starplot

✨ Star charts and maps in Python

https://github.com/steveberardi/starplot

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.1%) to scientific vocabulary

Keywords

astronomy chart constellations maps plot plotting python sky stars
Last synced: 4 months ago · JSON representation ·

Repository

✨ Star charts and maps in Python

Basic Info
  • Host: GitHub
  • Owner: steveberardi
  • License: mit
  • Language: Python
  • Default Branch: main
  • Homepage: https://starplot.dev
  • Size: 172 MB
Statistics
  • Stars: 65
  • Watchers: 8
  • Forks: 14
  • Open Issues: 9
  • Releases: 52
Topics
astronomy chart constellations maps plot plotting python sky stars
Created over 2 years ago · Last pushed 5 months ago
Metadata Files
Readme Contributing Funding License Code of conduct Citation

README.md

Starplot

Python PyPI License GitHub Workflow Status

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

  • Zenith Plots - shows the entire sky at a specific time and place
  • 🗺️ Map Plots - including many map projections
  • 🌃 Horizon Plots - shows the horizon at a specific time and place
  • 🔭 Optic Plots - shows what you'll see through an optic (e.g. telescope) at a specific time and place
  • 🪐 Planets and Deep Sky Objects (DSOs) - more than 14,000 objects built-in
  • 🎨 Custom Styles - for all objects
  • 📥 Export - png, svg, jpeg
  • 🚀 Data Backend - powered by DuckDB + Ibis for fast object lookup
  • 🧭 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:

```python from datetime import datetime from zoneinfo import ZoneInfo

from starplot import ZenithPlot, Observer, styles, _

tz = ZoneInfo("America/Los_Angeles") dt = datetime.now(tz).replace(hour=22)

observer = Observer( dt=dt, lat=33.363484, lon=-116.836394, )

p = ZenithPlot( observer=observer, style=styles.PlotStyle().extend( styles.extensions.BLUEMEDIUM, ), resolution=4096, autoscale=True, ) p.constellations() p.stars(where=[.magnitude < 4.6]) p.constellation_labels() p.horizon() 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

  • 🧮 Coordinate system helpers
  • 🌑 Planet moons
  • ✴️ Custom markers
  • ☄️ Comet model
  • 😄 🔭 Clear skies

See more details on the Public Roadmap

License

MIT License

Owner

  • Name: Steve Berardi
  • Login: steveberardi
  • Kind: user
  • Location: San Diego, CA

Citation (CITATION.cff)

cff-version: 1.2.0
title: Starplot
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Steve
    family-names: Berardi
    orcid: https://orcid.org/0009-0005-6106-1450
repository-code: 'https://github.com/steveberardi/starplot'
url: 'https://starplot.dev'
abstract: >-
  Starplot is a Python library for creating star charts and
  maps of the sky
keywords:
  - astronomy
  - maps
  - charts
  - graphs
  - plotting
license: MIT
version: 0.16.0
date-released: '2025-08-31'

GitHub Events

Total
  • Create event: 35
  • Release event: 13
  • Issues event: 30
  • Watch event: 24
  • Delete event: 22
  • Issue comment event: 47
  • Push event: 87
  • Pull request review event: 1
  • Pull request event: 50
  • Fork event: 4
Last Year
  • Create event: 35
  • Release event: 13
  • Issues event: 30
  • Watch event: 24
  • Delete event: 22
  • Issue comment event: 47
  • Push event: 87
  • Pull request review event: 1
  • Pull request event: 50
  • Fork event: 4

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 9
  • Total pull requests: 20
  • Average time to close issues: about 1 month
  • Average time to close pull requests: about 3 hours
  • Total issue authors: 9
  • Total pull request authors: 2
  • Average comments per issue: 1.22
  • Average comments per pull request: 0.0
  • Merged pull requests: 17
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 9
  • Pull requests: 19
  • Average time to close issues: about 1 month
  • Average time to close pull requests: about 3 hours
  • Issue authors: 9
  • Pull request authors: 2
  • Average comments per issue: 1.22
  • Average comments per pull request: 0.0
  • Merged pull requests: 16
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • HealthyPear (6)
  • codingfar (4)
  • hemisemidemipresent (3)
  • bathoorn (2)
  • EsatAkkasoglu (2)
  • hettlage (1)
  • ricardo-dlc (1)
  • 13-Characters (1)
  • zkbt (1)
  • ea1ii (1)
  • steveberardi (1)
  • SultanOrazbayev (1)
  • sizzzzlerz (1)
  • heinkurz (1)
  • thunkii (1)
Pull Request Authors
  • steveberardi (67)
  • HamBoneGS (6)
  • hemisemidemipresent (2)
  • bathoorn (2)
  • HealthyPear (1)
  • Niphredil123 (1)
  • lgrossard (1)
Top Labels
Issue Labels
bug (5) enhancement (4) ⭐ on roadmap (3) Work In Progress (2) 😃 good first issue (2) 🕵️ needs investigation (1) documentation (1) question (1) good first issue (1)
Pull Request Labels
bug (1)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 574 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 1
  • Total versions: 54
  • Total maintainers: 1
pypi.org: starplot

Star charts and maps of the sky

  • Versions: 54
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 574 Last month
Rankings
Downloads: 10.0%
Dependent packages count: 10.0%
Average: 19.8%
Dependent repos count: 21.7%
Stargazers count: 27.8%
Forks count: 29.8%
Maintainers (1)
Last synced: 4 months ago

Dependencies

.github/workflows/release.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/test.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
Dockerfile docker
  • base latest build
  • python 3.9.17-bullseye build
pyproject.toml pypi
  • adjustText >= 0.8
  • matplotlib >= 3.5.1
  • numpy >= 1.22.1
  • pandas >= 1.4.0
  • pydantic >= 1.10.8
  • skyfield >= 1.41
requirements-dev.txt pypi
  • black ==23.3.0 development
  • flake8 ==6.0.0 development
  • flit ==3.9.0 development
  • imagehash ==4.1.0 development
  • mypy ==1.3.0 development
  • pytest ==7.3.2 development
  • pytest-cov ==4.1.0 development
requirements.txt pypi
  • adjustText ==0.8
  • matplotlib ==3.5.1
  • numpy ==1.22.1
  • pandas ==1.4.0
  • pydantic ==1.10.8
  • skyfield ==1.41
.github/workflows/docs.yml actions
  • actions/checkout v3 composite
  • google-github-actions/auth v1 composite
  • google-github-actions/setup-gcloud v1 composite