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 - SVG or PNG
- 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, Dutch, French, Italian, Lithuanian, Persian, and Spanish
Examples
Zenith chart of the stars from a specific time and place:
Map around the constellation Orion:
Horizon at a specific time and place:
The Pleiades star cluster, as seen through a refractor telescope from a specific time and place:
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,
)
p.constellations()
p.stars(where=[_.magnitude < 4.6])
p.constellation_labels()
p.horizon()
p.export("starchart.svg")
Documentation
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
Metadata
Release files for starplot 0.21.1
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.21.1.tar.gz | 1.6 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| starplot-0.21.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.8 MB
Release files / starplot-0.21.1.tar.gz
| Download URL | starplot-0.21.1.tar.gz |
|---|---|
| Size | 1.6 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
de0dfda73f6c9dbc3ff454613b3b68e6b70564f139b191069828502e28a82b2a
|
|
BLAKE2b-256 checksum How to use checksums |
a40ada121d2dc1204bbcb9c4694042dde9b46faa469b552bd968c4222d9fdee2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
python-requests/2.34.2
|
Release files / starplot-0.21.1-py3-none-any.whl
| Download URL | starplot-0.21.1-py3-none-any.whl |
|---|---|
| Size | 221.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
622e4db6404693eba940dda406989c05015c8f46620abe0308df1f3cb4179814
|
|
BLAKE2b-256 checksum How to use checksums |
ec0a25288a54d494055bdd86d6a3174454906244115f1b25da1afcba24c77058
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
python-requests/2.34.2
|