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
- 🌌 Galactic Charts - shows a Mollweide projection in galactic coordinates
- 🪐 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 Chinese, French, Italian, Lithuanian, Persian, and Spanish
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 in California:
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
Demo
For a demo of Starplot's zenith charts, check out:
Sky Atlas - Star Chart Creator
Getting Help / Updates
- Chat with other starplotters on our Discord server
- Follow us on Bluesky
- Join our newsletter
- See more examples at Starplotting.com
Contributing
Contributing to Starplot is welcome and very much appreciated! Please see here for details.
Coming Soon
- 🧮 Coordinate system helpers
- 🌑 Planet moons
- ✴️ Custom markers
- 😄 🔭 Clear skies
See more details on the Public Roadmap
Related Repositories
- starplot-bigsky
- starplot-constellations
- starplot-ongc
- starplot-hyg
- starplot-gaia-dr3
- starplot-hyperleda
- starplot-milkyway
License
Release files for starplot 0.20.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| starplot-0.20.6.tar.gz | 3.8 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| starplot-0.20.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 6.3 MB
Release files / starplot-0.20.6.tar.gz
| Download URL | starplot-0.20.6.tar.gz |
|---|---|
| Size | 3.8 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a43c58f011d965b9e58d038fd079348afafa44e6d452b25554b6f4797764006e
|
|
BLAKE2b-256 checksum How to use checksums |
b7c5a82da6e51e7eae58e4557914b5d6f3a80153ea39d52a37d9644776c3f40e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
python-requests/2.34.2
|
Release files / starplot-0.20.6-py3-none-any.whl
| Download URL | starplot-0.20.6-py3-none-any.whl |
|---|---|
| Size | 2.5 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
785e3b5bf73ce2f0eff30511a2c11353e80931f0ad7ddb03ff54fef684886e50
|
|
BLAKE2b-256 checksum How to use checksums |
cd1b2454941f7cfdb5e38c63cbde6dd8b07d78bdb463fe081683ed3645c43029
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
python-requests/2.34.2
|