https://github.com/steveberardi/starplot
✨ Star charts and maps in Python
https://github.com/steveberardi/starplot
astronomy constellations maps python sky stars
Last synced: 2 months ago
JSON representation
✨ Star charts and maps in Python
- Host: GitHub
- URL: https://github.com/steveberardi/starplot
- Owner: steveberardi
- License: mit
- Created: 2023-05-29T22:04:55.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2026-01-10T23:52:34.000Z (2 months ago)
- Last Synced: 2026-01-11T04:34:08.553Z (2 months ago)
- Topics: astronomy, constellations, maps, python, sky, stars
- Language: Python
- Homepage: https://starplot.dev
- Size: 160 MB
- Stars: 143
- Watchers: 8
- Forks: 28
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Citation: CITATION.cff
Awesome Lists containing this project
README
#
Starplot




**Starplot** is a Python library for creating star charts and maps of the sky.
- 🗺️ **Maps** - including 10+ customizable projections
- ⭐ **Zenith Charts** - shows the entire sky at a specific time and place
- 🌃 **Horizon Charts** - shows the horizon at a specific time and place
- 🔭 **Optic Simulations** - shows what you'll see through an optic (e.g. telescope) at a specific time and place
- 🪐 **Planets and Deep Sky Objects (DSOs)** - with support for plotting their true extent
- ☄️ **Comets and Satellites** - easy trajectory plotting
- 🎨 **Custom Styles** - for all objects and with 8+ built-in themes
- 📥 **Export** - png, svg, jpeg
- 🚀 **Data Backend** - powered by DuckDB + Ibis for fast object lookup
- 📓 **Custom Data Catalogs** - with helpers for building and optimizing
- 🧭 **Label Collision Avoidance** - ensuring all labels are readable
- 🌐 **Localization** - label translations for French, Chinese, and Persian (coming soon!)
## Examples
*Zenith chart of the stars from a specific time/location:*

*Map around the constellation Orion:*

*The Pleiades star cluster, as seen through a refractor telescope from a specific time and location:*

## Basic Usage
To create a star chart for tonight's sky as seen from [Palomar Mountain](https://en.wikipedia.org/wiki/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.BLUE_MEDIUM,
),
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](https://starplot.dev)
## Demo
For a demo of Starplot's zenith charts, check out:
[Sky Atlas - Star Chart Creator](https://skyatlas.app/star-charts/)
## Getting Help / Updates
- Chat with other starplotters on our [Discord server](https://discord.gg/WewJJjshFu)
- [Follow us on Bluesky](https://bsky.app/profile/starplot.dev)
- [Join our newsletter](https://buttondown.com/starplot)
- [See more examples at Starplotting.com](https://starplotting.com/)
## Contributing
Contributing to Starplot is welcome and very much appreciated! Please see [here](CONTRIBUTING.md) for details.
## Coming Soon
- 🧮 Coordinate system helpers
- 🌑 Planet moons
- ✴️ Custom markers
- 😄 🔭 Clear skies
See more details on the [Public Roadmap](https://trello.com/b/sUksygn4/starplot-roadmap)
## Related Repositories
- [starplot-bigsky](https://github.com/steveberardi/starplot-bigsky)
- [starplot-constellations](https://github.com/steveberardi/starplot-constellations)
- [starplot-ongc](https://github.com/steveberardi/starplot-ongc)
- [starplot-hyg](https://github.com/steveberardi/starplot-hyg)
- [starplot-gaia-dr3](https://github.com/steveberardi/starplot-gaia-dr3)
- [starplot-hyperleda](https://github.com/steveberardi/starplot-hyperleda)
## License
[MIT License](https://github.com/steveberardi/starplot/blob/main/LICENSE)