starplot 0.13.0__py2.py3-none-any.whl → 0.14.0__py2.py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of starplot might be problematic. Click here for more details.
- starplot/__init__.py +3 -2
- starplot/base.py +187 -185
- starplot/coordinates.py +6 -0
- starplot/data/constellations.py +564 -2
- starplot/geometry.py +82 -0
- starplot/horizon.py +237 -177
- starplot/map.py +57 -369
- starplot/models/base.py +9 -2
- starplot/models/constellation.py +1 -1
- starplot/optic.py +7 -1
- starplot/plotters/__init__.py +2 -0
- starplot/plotters/constellations.py +339 -0
- starplot/plotters/experimental.py +171 -0
- starplot/plotters/milkyway.py +41 -0
- starplot/plotters/stars.py +56 -27
- starplot/styles/base.py +49 -17
- starplot/styles/ext/antique.yml +11 -9
- starplot/styles/ext/blue_dark.yml +8 -10
- starplot/styles/ext/blue_light.yml +9 -8
- starplot/styles/ext/blue_medium.yml +12 -13
- starplot/styles/ext/cb_wong.yml +9 -7
- starplot/styles/ext/grayscale.yml +4 -3
- starplot/styles/ext/grayscale_dark.yml +7 -5
- starplot/styles/ext/map.yml +9 -6
- starplot/styles/ext/nord.yml +7 -7
- starplot/styles/ext/optic.yml +1 -1
- starplot/utils.py +19 -0
- starplot/warnings.py +16 -0
- {starplot-0.13.0.dist-info → starplot-0.14.0.dist-info}/METADATA +10 -9
- {starplot-0.13.0.dist-info → starplot-0.14.0.dist-info}/RECORD +32 -26
- {starplot-0.13.0.dist-info → starplot-0.14.0.dist-info}/LICENSE +0 -0
- {starplot-0.13.0.dist-info → starplot-0.14.0.dist-info}/WHEEL +0 -0
starplot/styles/base.py
CHANGED
|
@@ -135,7 +135,7 @@ class MarkerSymbolEnum(str, Enum):
|
|
|
135
135
|
CIRCLE_DOTTED_RINGS = "circle_dotted_rings"
|
|
136
136
|
|
|
137
137
|
CIRCLE_LINE = "circle_line"
|
|
138
|
-
"""\u29B5"""
|
|
138
|
+
"""\u29B5 the standard symbol for double stars"""
|
|
139
139
|
|
|
140
140
|
COMET = "comet"
|
|
141
141
|
"""\u2604"""
|
|
@@ -204,6 +204,8 @@ class AnchorPointEnum(str, Enum):
|
|
|
204
204
|
"""Options for the anchor point of labels"""
|
|
205
205
|
|
|
206
206
|
CENTER = "center"
|
|
207
|
+
LEFT_CENTER = "left center"
|
|
208
|
+
RIGHT_CENTER = "right center"
|
|
207
209
|
TOP_LEFT = "top left"
|
|
208
210
|
TOP_RIGHT = "top right"
|
|
209
211
|
TOP_CENTER = "top center"
|
|
@@ -235,6 +237,12 @@ class AnchorPointEnum(str, Enum):
|
|
|
235
237
|
elif self.value == AnchorPointEnum.CENTER:
|
|
236
238
|
style["va"] = "center"
|
|
237
239
|
style["ha"] = "center"
|
|
240
|
+
elif self.value == AnchorPointEnum.LEFT_CENTER:
|
|
241
|
+
style["va"] = "center"
|
|
242
|
+
style["ha"] = "right"
|
|
243
|
+
elif self.value == AnchorPointEnum.RIGHT_CENTER:
|
|
244
|
+
style["va"] = "center"
|
|
245
|
+
style["ha"] = "left"
|
|
238
246
|
|
|
239
247
|
return style
|
|
240
248
|
|
|
@@ -392,6 +400,12 @@ class LineStyle(BaseStyle):
|
|
|
392
400
|
|
|
393
401
|
return result
|
|
394
402
|
|
|
403
|
+
def matplot_line_collection_kwargs(self, scale: float = 1.0) -> dict:
|
|
404
|
+
plot_kwargs = self.matplot_kwargs(scale)
|
|
405
|
+
plot_kwargs["linewidths"] = plot_kwargs.pop("linewidth")
|
|
406
|
+
plot_kwargs["colors"] = plot_kwargs.pop("color")
|
|
407
|
+
return plot_kwargs
|
|
408
|
+
|
|
395
409
|
|
|
396
410
|
class PolygonStyle(BaseStyle):
|
|
397
411
|
"""
|
|
@@ -423,7 +437,7 @@ class PolygonStyle(BaseStyle):
|
|
|
423
437
|
styles = dict(
|
|
424
438
|
edgecolor=self.edge_color.as_hex() if self.edge_color else "none",
|
|
425
439
|
facecolor=self.fill_color.as_hex() if self.fill_color else "none",
|
|
426
|
-
fill=True if self.fill_color else False,
|
|
440
|
+
fill=True if self.fill_color or self.color else False,
|
|
427
441
|
linewidth=self.edge_width * scale,
|
|
428
442
|
linestyle=self.line_style,
|
|
429
443
|
alpha=self.alpha,
|
|
@@ -435,6 +449,21 @@ class PolygonStyle(BaseStyle):
|
|
|
435
449
|
|
|
436
450
|
return styles
|
|
437
451
|
|
|
452
|
+
def to_marker_style(self, symbol: MarkerSymbolEnum):
|
|
453
|
+
color = self.color.as_hex() if self.color else None
|
|
454
|
+
fill_color = self.fill_color.as_hex() if self.fill_color else None
|
|
455
|
+
fill_style = FillStyleEnum.FULL if color or fill_color else FillStyleEnum.NONE
|
|
456
|
+
return MarkerStyle(
|
|
457
|
+
symbol=symbol,
|
|
458
|
+
color=color or fill_color,
|
|
459
|
+
fill=fill_style,
|
|
460
|
+
edge_color=self.edge_color.as_hex() if self.edge_color else None,
|
|
461
|
+
edge_width=self.edge_width,
|
|
462
|
+
alpha=self.alpha,
|
|
463
|
+
zorder=self.zorder,
|
|
464
|
+
line_style=self.line_style,
|
|
465
|
+
)
|
|
466
|
+
|
|
438
467
|
|
|
439
468
|
class LabelStyle(BaseStyle):
|
|
440
469
|
"""
|
|
@@ -648,6 +677,8 @@ class PlotStyle(BaseStyle):
|
|
|
648
677
|
AnchorPointEnum.BOTTOM_LEFT,
|
|
649
678
|
AnchorPointEnum.BOTTOM_CENTER,
|
|
650
679
|
AnchorPointEnum.TOP_CENTER,
|
|
680
|
+
AnchorPointEnum.RIGHT_CENTER,
|
|
681
|
+
AnchorPointEnum.LEFT_CENTER,
|
|
651
682
|
]
|
|
652
683
|
"""If a label's preferred anchor point results in a collision, then these fallbacks will be tried in sequence until a collision-free position is found."""
|
|
653
684
|
|
|
@@ -720,8 +751,10 @@ class PlotStyle(BaseStyle):
|
|
|
720
751
|
planets: ObjectStyle = ObjectStyle(
|
|
721
752
|
marker=MarkerStyle(
|
|
722
753
|
symbol=MarkerSymbolEnum.CIRCLE,
|
|
723
|
-
size=
|
|
754
|
+
size=28,
|
|
724
755
|
fill=FillStyleEnum.LEFT,
|
|
756
|
+
zorder=ZOrderEnum.LAYER_3,
|
|
757
|
+
alpha=1,
|
|
725
758
|
),
|
|
726
759
|
label=LabelStyle(
|
|
727
760
|
font_size=28,
|
|
@@ -932,17 +965,8 @@ class PlotStyle(BaseStyle):
|
|
|
932
965
|
)
|
|
933
966
|
"""Styling for 'duplicate record' (as designated by OpenNGC) types of deep sky objects"""
|
|
934
967
|
|
|
935
|
-
#
|
|
936
|
-
|
|
937
|
-
line=LineStyle(color="#c8c8c8"),
|
|
938
|
-
label=LabelStyle(
|
|
939
|
-
font_size=21,
|
|
940
|
-
font_weight=FontWeightEnum.NORMAL,
|
|
941
|
-
zorder=ZOrderEnum.LAYER_3,
|
|
942
|
-
anchor_point=AnchorPointEnum.TOP_RIGHT,
|
|
943
|
-
),
|
|
944
|
-
)
|
|
945
|
-
"""Styling for constellation lines and labels (only applies to map plots)"""
|
|
968
|
+
constellation_lines: LineStyle = LineStyle(color="#c8c8c8")
|
|
969
|
+
"""Styling for constellation lines"""
|
|
946
970
|
|
|
947
971
|
constellation_borders: LineStyle = LineStyle(
|
|
948
972
|
color="#000",
|
|
@@ -951,7 +975,15 @@ class PlotStyle(BaseStyle):
|
|
|
951
975
|
alpha=0.4,
|
|
952
976
|
zorder=ZOrderEnum.LAYER_3,
|
|
953
977
|
)
|
|
954
|
-
"""Styling for constellation borders
|
|
978
|
+
"""Styling for constellation borders"""
|
|
979
|
+
|
|
980
|
+
constellation_labels: LabelStyle = LabelStyle(
|
|
981
|
+
font_size=21,
|
|
982
|
+
font_weight=FontWeightEnum.NORMAL,
|
|
983
|
+
zorder=ZOrderEnum.LAYER_3,
|
|
984
|
+
anchor_point=AnchorPointEnum.CENTER,
|
|
985
|
+
)
|
|
986
|
+
"""Styling for constellation labels"""
|
|
955
987
|
|
|
956
988
|
# Milky Way
|
|
957
989
|
milky_way: PolygonStyle = PolygonStyle(
|
|
@@ -976,7 +1008,7 @@ class PlotStyle(BaseStyle):
|
|
|
976
1008
|
zorder=ZOrderEnum.LAYER_2,
|
|
977
1009
|
),
|
|
978
1010
|
label=LabelStyle(
|
|
979
|
-
font_size=
|
|
1011
|
+
font_size=20,
|
|
980
1012
|
font_color="#000",
|
|
981
1013
|
font_alpha=1,
|
|
982
1014
|
anchor_point=AnchorPointEnum.BOTTOM_CENTER,
|
|
@@ -992,7 +1024,7 @@ class PlotStyle(BaseStyle):
|
|
|
992
1024
|
style=LineStyleEnum.DOTTED,
|
|
993
1025
|
dash_capstyle=DashCapStyleEnum.ROUND,
|
|
994
1026
|
alpha=1,
|
|
995
|
-
zorder=ZOrderEnum.LAYER_3,
|
|
1027
|
+
zorder=ZOrderEnum.LAYER_3 - 1,
|
|
996
1028
|
),
|
|
997
1029
|
label=LabelStyle(
|
|
998
1030
|
font_size=22,
|
starplot/styles/ext/antique.yml
CHANGED
|
@@ -46,19 +46,21 @@ celestial_equator:
|
|
|
46
46
|
line:
|
|
47
47
|
color: hsl(188, 35%, 76%)
|
|
48
48
|
alpha: 0.62
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
49
|
+
|
|
50
|
+
# Constellations
|
|
51
|
+
constellation_lines:
|
|
52
|
+
alpha: 0.3
|
|
53
|
+
color: hsl(48, 80%, 14%)
|
|
54
|
+
constellation_labels:
|
|
55
|
+
font_weight: light
|
|
56
|
+
font_color: hsl(60, 3%, 52%)
|
|
57
|
+
font_alpha: 0.46
|
|
58
|
+
font_name: "serif"
|
|
58
59
|
constellation_borders:
|
|
59
60
|
color: hsl(37, 33%, 40%)
|
|
60
61
|
alpha: 0.8
|
|
61
62
|
zorder: -500
|
|
63
|
+
|
|
62
64
|
ecliptic:
|
|
63
65
|
label:
|
|
64
66
|
font_color: hsl(26, 63%, 50%)
|
|
@@ -38,15 +38,14 @@ ecliptic:
|
|
|
38
38
|
color: '#e33b3b'
|
|
39
39
|
alpha: 1
|
|
40
40
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
41
|
+
# Constellations
|
|
42
|
+
constellation_lines:
|
|
43
|
+
alpha: 0.36
|
|
44
|
+
color: hsl(209, 23%, 76%)
|
|
45
|
+
constellation_labels:
|
|
46
|
+
font_alpha: 0.37
|
|
47
|
+
font_color: hsl(209, 23%, 80%)
|
|
48
|
+
font_weight: light
|
|
50
49
|
constellation_borders:
|
|
51
50
|
width: 2
|
|
52
51
|
color: hsl(209, 50%, 74%)
|
|
@@ -120,7 +119,6 @@ gridlines:
|
|
|
120
119
|
label:
|
|
121
120
|
font_alpha: 1
|
|
122
121
|
font_color: hsl(209, 53%, 94%)
|
|
123
|
-
font_weight: light
|
|
124
122
|
line:
|
|
125
123
|
alpha: 0.7
|
|
126
124
|
color: hsl(209, 53%, 37%)
|
|
@@ -29,14 +29,15 @@ celestial_equator:
|
|
|
29
29
|
font_color: '#2d5ec2'
|
|
30
30
|
line:
|
|
31
31
|
color: '#2d5ec2'
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
32
|
+
|
|
33
|
+
# Constellations
|
|
34
|
+
constellation_labels:
|
|
35
|
+
font_alpha: 0.27
|
|
36
|
+
font_color: '#000'
|
|
37
|
+
constellation_lines:
|
|
38
|
+
alpha: 0.52
|
|
39
|
+
color: '#6ba832'
|
|
40
|
+
width: 3
|
|
40
41
|
|
|
41
42
|
dso_double_star:
|
|
42
43
|
marker:
|
|
@@ -5,7 +5,7 @@ figure_background_color: '#fff'
|
|
|
5
5
|
|
|
6
6
|
text_border_color: '#f1f6ff'
|
|
7
7
|
|
|
8
|
-
border_bg_color:
|
|
8
|
+
border_bg_color: hsl(212, 27%, 56%)
|
|
9
9
|
border_font_color: '#f1f6ff'
|
|
10
10
|
border_line_color: '#2f4358'
|
|
11
11
|
|
|
@@ -18,13 +18,13 @@ bayer_labels:
|
|
|
18
18
|
font_alpha: 1
|
|
19
19
|
font_color: '#000'
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
21
|
+
# Constellations
|
|
22
|
+
constellation_labels:
|
|
23
|
+
font_alpha: 0.75
|
|
24
|
+
font_color: hsl(212, 20%, 34%)
|
|
25
|
+
constellation_lines:
|
|
26
|
+
alpha: 0.5
|
|
27
|
+
color: '#6ba832'
|
|
28
28
|
|
|
29
29
|
celestial_equator:
|
|
30
30
|
label:
|
|
@@ -41,8 +41,8 @@ ecliptic:
|
|
|
41
41
|
|
|
42
42
|
planets:
|
|
43
43
|
marker:
|
|
44
|
-
alpha:
|
|
45
|
-
color:
|
|
44
|
+
alpha: 1
|
|
45
|
+
color: hsl(37, 78%, 80%)
|
|
46
46
|
fill: full
|
|
47
47
|
milky_way:
|
|
48
48
|
alpha: 0.14
|
|
@@ -51,8 +51,7 @@ milky_way:
|
|
|
51
51
|
gridlines:
|
|
52
52
|
label:
|
|
53
53
|
font_alpha: 1
|
|
54
|
-
font_color: '#
|
|
55
|
-
font_weight: light
|
|
54
|
+
font_color: '#f1f6ff'
|
|
56
55
|
line:
|
|
57
56
|
alpha: 0.6
|
|
58
57
|
color: '#888'
|
|
@@ -64,7 +63,7 @@ sun:
|
|
|
64
63
|
|
|
65
64
|
horizon:
|
|
66
65
|
line:
|
|
67
|
-
color:
|
|
66
|
+
color: hsl(212, 27%, 56%)
|
|
68
67
|
edge_color: '#2f4358'
|
|
69
68
|
label:
|
|
70
69
|
font_color: '#f1f6ff'
|
starplot/styles/ext/cb_wong.yml
CHANGED
|
@@ -34,13 +34,15 @@ celestial_equator:
|
|
|
34
34
|
font_color: hsl(202, 100%, 35%)
|
|
35
35
|
line:
|
|
36
36
|
color: hsl(202, 100%, 35%)
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
37
|
+
|
|
38
|
+
# Constellations
|
|
39
|
+
constellation_labels:
|
|
40
|
+
font_color: '#c5c5c5'
|
|
41
|
+
constellation_lines:
|
|
42
|
+
alpha: 0.346
|
|
43
|
+
color: hsl(202, 100%, 35%)
|
|
44
|
+
width: 2
|
|
45
|
+
|
|
44
46
|
dso_double_star:
|
|
45
47
|
marker:
|
|
46
48
|
alpha: 0.6
|
|
@@ -8,17 +8,18 @@ border_line_color: '#000'
|
|
|
8
8
|
|
|
9
9
|
title:
|
|
10
10
|
font_color: '#000'
|
|
11
|
+
|
|
11
12
|
celestial_equator:
|
|
12
13
|
label:
|
|
13
14
|
font_color: '#999'
|
|
14
15
|
line:
|
|
15
16
|
color: '#999'
|
|
16
|
-
|
|
17
|
-
line:
|
|
18
|
-
color: '#c8c8c8'
|
|
17
|
+
|
|
19
18
|
star:
|
|
20
19
|
marker:
|
|
21
20
|
edge_color: '#fff'
|
|
21
|
+
|
|
22
|
+
# DSOs
|
|
22
23
|
dso_double_star:
|
|
23
24
|
marker:
|
|
24
25
|
color: '#000'
|
|
@@ -45,14 +45,16 @@ celestial_equator:
|
|
|
45
45
|
font_color: '#999'
|
|
46
46
|
line:
|
|
47
47
|
color: '#999'
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
48
|
+
|
|
49
|
+
# Constellations
|
|
50
|
+
constellation_labels:
|
|
51
|
+
font_color: hsl(136, 0%, 77%)
|
|
52
|
+
constellation_lines:
|
|
53
|
+
color: hsl(136, 0%, 30%)
|
|
53
54
|
constellation_borders:
|
|
54
55
|
color: hsl(136, 0%, 42%)
|
|
55
56
|
alpha: 0.5
|
|
57
|
+
|
|
56
58
|
dso_double_star:
|
|
57
59
|
label:
|
|
58
60
|
font_color: hsl(136, 0%, 97%)
|
starplot/styles/ext/map.yml
CHANGED
starplot/styles/ext/nord.yml
CHANGED
|
@@ -27,13 +27,13 @@ celestial_equator:
|
|
|
27
27
|
line:
|
|
28
28
|
color: '#77A67F'
|
|
29
29
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
30
|
+
# Constellations
|
|
31
|
+
constellation_labels:
|
|
32
|
+
font_alpha: 0.7
|
|
33
|
+
font_color: rgb(230, 204, 147)
|
|
34
|
+
constellation_lines:
|
|
35
|
+
alpha: 0.36
|
|
36
|
+
color: rgb(230, 204, 147)
|
|
37
37
|
constellation_borders:
|
|
38
38
|
color: hsl(220, 16%, 12%)
|
|
39
39
|
alpha: 0.8
|
starplot/styles/ext/optic.yml
CHANGED
starplot/utils.py
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import math
|
|
2
2
|
from datetime import datetime
|
|
3
3
|
|
|
4
|
+
import numpy as np
|
|
4
5
|
from pytz import timezone
|
|
5
6
|
|
|
6
7
|
|
|
@@ -149,3 +150,21 @@ def azimuth_to_string(azimuth_degrees: int):
|
|
|
149
150
|
|
|
150
151
|
def dt_or_now(dt):
|
|
151
152
|
return dt or timezone("UTC").localize(datetime.now())
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
def points_on_line(start, end, num_points=100):
|
|
156
|
+
"""Generates points along a line segment.
|
|
157
|
+
|
|
158
|
+
Args:
|
|
159
|
+
start (tuple): (x, y) coordinates of the starting point.
|
|
160
|
+
end (tuple): (x, y) coordinates of the ending point.
|
|
161
|
+
num_points (int): Number of points to generate.
|
|
162
|
+
|
|
163
|
+
Returns:
|
|
164
|
+
list: List of (x, y) coordinates of the generated points.
|
|
165
|
+
"""
|
|
166
|
+
|
|
167
|
+
x_coords = np.linspace(start[0], end[0], num_points)
|
|
168
|
+
y_coords = np.linspace(start[1], end[1], num_points)
|
|
169
|
+
|
|
170
|
+
return list(zip(x_coords, y_coords))
|
starplot/warnings.py
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import warnings
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
def suppress():
|
|
5
|
+
# ignore noisy matplotlib warnings
|
|
6
|
+
warnings.filterwarnings(
|
|
7
|
+
"ignore",
|
|
8
|
+
message="Setting the 'color' property will override the edgecolor or facecolor properties",
|
|
9
|
+
)
|
|
10
|
+
|
|
11
|
+
# Silence all user warnings
|
|
12
|
+
warnings.filterwarnings("ignore", category=UserWarning)
|
|
13
|
+
|
|
14
|
+
# Silence noisy cartopy warnings
|
|
15
|
+
warnings.filterwarnings("ignore", module="cartopy")
|
|
16
|
+
warnings.filterwarnings("ignore", module="shapely")
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: starplot
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.14.0
|
|
4
4
|
Summary: Star charts and maps of the sky
|
|
5
|
-
Keywords: astronomy,stars,charts,maps,constellations
|
|
5
|
+
Keywords: astronomy,stars,charts,maps,constellations,sky,plotting
|
|
6
6
|
Author-email: Steve Berardi <hello@steveberardi.com>
|
|
7
7
|
Description-Content-Type: text/markdown
|
|
8
8
|
Classifier: License :: OSI Approved :: MIT License
|
|
@@ -17,7 +17,6 @@ Requires-Dist: pandas >= 1.4.0
|
|
|
17
17
|
Requires-Dist: pydantic >= 2.0.3
|
|
18
18
|
Requires-Dist: shapely >= 2.0.1
|
|
19
19
|
Requires-Dist: skyfield >= 1.41
|
|
20
|
-
Requires-Dist: adjustText >= 1.0
|
|
21
20
|
Requires-Dist: cartopy >= 0.21.1
|
|
22
21
|
Requires-Dist: geopandas >= 0.13.2
|
|
23
22
|
Requires-Dist: pillow >= 10.0.0
|
|
@@ -39,10 +38,11 @@ Project-URL: Source, https://github.com/steveberardi/starplot
|
|
|
39
38
|
|
|
40
39
|
**Starplot** is a Python library for creating star charts and maps of the sky.
|
|
41
40
|
|
|
42
|
-
- ⭐ **Zenith Plots** -
|
|
41
|
+
- ⭐ **Zenith Plots** - shows the entire sky at a specific time and place
|
|
43
42
|
- 🗺️ **Map Plots** - including many map projections
|
|
44
|
-
-
|
|
45
|
-
-
|
|
43
|
+
- 🌃 **Horizon Plots** - shows the horizon at a specific time and place
|
|
44
|
+
- 🔭 **Optic Plots** - shows what you'll see through an optic (e.g. telescope) at a specific time and place
|
|
45
|
+
- 🪐 **Planets and Deep Sky Objects (DSOs)** - more than 14,000 objects built-in
|
|
46
46
|
- 🎨 **Custom Styles** - for all objects
|
|
47
47
|
- 📥 **Export** - png, svg, jpeg
|
|
48
48
|
- 🧭 **Label Collision Avoidance**
|
|
@@ -76,11 +76,12 @@ p = sp.MapPlot(
|
|
|
76
76
|
style=sp.styles.PlotStyle().extend(
|
|
77
77
|
sp.styles.extensions.BLUE_MEDIUM,
|
|
78
78
|
),
|
|
79
|
-
resolution=
|
|
79
|
+
resolution=4096,
|
|
80
80
|
autoscale=True,
|
|
81
81
|
)
|
|
82
82
|
p.constellations()
|
|
83
83
|
p.stars(mag=4.6)
|
|
84
|
+
p.constellation_labels()
|
|
84
85
|
p.export("starchart.png")
|
|
85
86
|
```
|
|
86
87
|
|
|
@@ -105,11 +106,11 @@ https://discord.gg/WewJJjshFu
|
|
|
105
106
|
Contributing to Starplot is welcome and very much appreciated! Please see [here](CONTRIBUTING.md) for details.
|
|
106
107
|
|
|
107
108
|
## Coming Soon
|
|
108
|
-
-
|
|
109
|
+
- 🗄️ Data optimizations
|
|
110
|
+
- 🧮 Coordinate system helpers
|
|
109
111
|
- 🌑 Planet moons
|
|
110
112
|
- ✴️ Custom markers
|
|
111
113
|
- ☄️ Comet model
|
|
112
|
-
- 💫 Better constellation label placement
|
|
113
114
|
- 😄 🔭 Clear skies
|
|
114
115
|
|
|
115
116
|
See more details on the [Public Roadmap](https://trello.com/b/sUksygn4/starplot-roadmap)
|
|
@@ -1,18 +1,21 @@
|
|
|
1
|
-
starplot/__init__.py,sha256=
|
|
2
|
-
starplot/base.py,sha256=
|
|
1
|
+
starplot/__init__.py,sha256=pZN_iLpiZ66DmatdGu7Rs4WI1Hf9S7A0UM0A1nOlLaI,493
|
|
2
|
+
starplot/base.py,sha256=6yC2TAT_hAl1WrTuc_97yy_20wSuHTgUAZeQssQmiIQ,39396
|
|
3
3
|
starplot/callables.py,sha256=_zDGCAJTqqNLvCtcIt4PVEe2L0Ggvl6pj-7ZFI-0zqI,4043
|
|
4
|
+
starplot/coordinates.py,sha256=7LDz32VTKa8H-4F67-XvzmjpcTVojZwYVJzXZkBaZ3U,136
|
|
4
5
|
starplot/geod.py,sha256=QJmF6dOa4dpLoLQ32QsiXaG4gBpTBuagzSFquM9OzsM,2665
|
|
5
|
-
starplot/
|
|
6
|
-
starplot/
|
|
6
|
+
starplot/geometry.py,sha256=Ehqq3cDIyVc99DI8Ts6KYzJ44nSnM-Jzv1wW9HwA_5M,1979
|
|
7
|
+
starplot/horizon.py,sha256=sir4aEom7xbhszVSLI2UkQEKLl4jsqa_rGboeRMpNEk,15290
|
|
8
|
+
starplot/map.py,sha256=0TWRoG4IWpOds_UZ9E5LC-uVxJrNp_wttFHGLUmbUT8,24993
|
|
7
9
|
starplot/mixins.py,sha256=Gp6qzlz-QWHI5pxWLSbrmBF7LltY0isBZm-Z4saSZo0,3249
|
|
8
|
-
starplot/optic.py,sha256=
|
|
10
|
+
starplot/optic.py,sha256=DYk5LxnS50kNKt5Gx8-p6o3eKVWlytI7nFcB58BLDBQ,15368
|
|
9
11
|
starplot/optics.py,sha256=JfSzfrCx_g8r3upyukgJUtXekwyVkCJ3dZxdOclfzU4,8624
|
|
10
12
|
starplot/projections.py,sha256=o5wHLoaU8o0s0Z2kkWKxeNbOrskvWG88ULAXDoLOGeA,3423
|
|
11
|
-
starplot/utils.py,sha256=
|
|
13
|
+
starplot/utils.py,sha256=49m8QXJl188Pgpef_82gyykly7ZjfAuHVEcSA5QFITA,3720
|
|
14
|
+
starplot/warnings.py,sha256=Zhw-9LkBv9uC1-MrdrQf_2M--rP4kIk1UwZImfupDNM,469
|
|
12
15
|
starplot/data/__init__.py,sha256=XSnIztqk4wxF-h9xBVVpjS6isSgNrB1wjHin3S4pDG0,926
|
|
13
16
|
starplot/data/bayer.py,sha256=xUHXVUI14-trDCNOKMTv5t3JABQ6VCDSP5JKyNymf00,60243
|
|
14
17
|
starplot/data/bigsky.py,sha256=R8-NQOCPcdnp7mQmCqI93k3aDudK4hDAiPHmF6sBkgM,2166
|
|
15
|
-
starplot/data/constellations.py,sha256=
|
|
18
|
+
starplot/data/constellations.py,sha256=Zi5izPTTudpV_KVEAjLh-chqnu8IWsDR2r270CGJXVw,15219
|
|
16
19
|
starplot/data/dsos.py,sha256=UsLF8WN1yOa8DoshKV2ddExSozEnVLrt3VuP5_3yAm8,4460
|
|
17
20
|
starplot/data/ecliptic.py,sha256=Qre9YdFbTC9mAx-vd2C0Ou4CsnRehIScnTpmEUDDYcM,4638
|
|
18
21
|
starplot/data/flamsteed.py,sha256=dPilpeIO9NIJC-vZquiPAA1SULs4GRMIvKNKI04gszg,40085
|
|
@@ -35,8 +38,8 @@ starplot/data/prep/constellations.py,sha256=bZDUrtOpWjf6mvdskF7BGdUechfCS1QyXV00
|
|
|
35
38
|
starplot/data/prep/dsos.py,sha256=X9UowAT8WdPvxoNQ04XZLqFREfr5LD_iMDBzCJR77z8,7273
|
|
36
39
|
starplot/data/prep/utils.py,sha256=cTlJu0uDnn8GvGC_QUlRgJN1f-B8IV8r5qyXdZSxYVE,417
|
|
37
40
|
starplot/models/__init__.py,sha256=nLs7icsvDYxJMS6onhjicR5pSSeOrO_YDrrktAaqlAQ,321
|
|
38
|
-
starplot/models/base.py,sha256=
|
|
39
|
-
starplot/models/constellation.py,sha256=
|
|
41
|
+
starplot/models/base.py,sha256=ENcpr3K5XeglPHBdK_iv27USYafLe6QdsxxKuXdc9uI,5081
|
|
42
|
+
starplot/models/constellation.py,sha256=DukJAJ2jjcAPRFvUX8SEYNM4IfeuTh3vr5XHHwUx0eE,2573
|
|
40
43
|
starplot/models/dso.py,sha256=ZLHOz0JSL3ZVJdd-roXkUkFk7K0JJgn1m5qDPdXsz2w,4987
|
|
41
44
|
starplot/models/geometry.py,sha256=znxcqYyhockGl1CrAHVONezZ9MFB7JFxHKI-n5aeRN8,1240
|
|
42
45
|
starplot/models/moon.py,sha256=Y8SXaaD6g_PhWQFV63kXh0XVdvaRhxLDC89QS_Yra1o,5496
|
|
@@ -44,26 +47,29 @@ starplot/models/objects.py,sha256=BXwUMT-zPiOYBWYV7L-TRDfPo6lsx_AIk3yxJ3qi0ck,68
|
|
|
44
47
|
starplot/models/planet.py,sha256=Smo6JdNKuqFILmRBbU4tcte7Q3qJWZNirTTZtHbd7yg,5498
|
|
45
48
|
starplot/models/star.py,sha256=o7NrQbk2ZXfK_uFDFt-vWZtyZ8URFqbRu9i2n3pDzcg,3463
|
|
46
49
|
starplot/models/sun.py,sha256=lv2L7S1JJavRciFGGiOYyDqTTYZaLy7_wkGpFCzS6nw,3094
|
|
47
|
-
starplot/plotters/__init__.py,sha256=
|
|
50
|
+
starplot/plotters/__init__.py,sha256=p2wpyY_jK5_zOWWbGtokw4tcHBTuILjAhuobghDvdvM,223
|
|
51
|
+
starplot/plotters/constellations.py,sha256=XZp_VV31VzpU1mNnup2bm3YnWW6bwfC74ABNErT4t0E,12557
|
|
48
52
|
starplot/plotters/dsos.py,sha256=toT0qCeDEa8h1zQ5M2hgkR0cRILdIiXebri2z0FfcbA,9247
|
|
49
|
-
starplot/plotters/
|
|
53
|
+
starplot/plotters/experimental.py,sha256=u68Q5tUGYgea238uL6zOG7qP5qiH7PdIAiRgGotuCCk,5915
|
|
54
|
+
starplot/plotters/milkyway.py,sha256=Jo3TmUKa1iXX1oajOh7ZBk7u9jY2kjWOIALFK-YQxHA,1379
|
|
55
|
+
starplot/plotters/stars.py,sha256=i_h6wZta8sW_5R-AYW_K44rBBU_JYKqXSPWwV-XwJmA,12827
|
|
50
56
|
starplot/styles/__init__.py,sha256=luEPtL8bIpcCCUlvBojmYn7XQtGYapId-8xuA2m783U,124
|
|
51
|
-
starplot/styles/base.py,sha256=
|
|
57
|
+
starplot/styles/base.py,sha256=HIimRmsbLfCinI5k3RXjJcZmIdBw2vsH-HHTkiUHX2A,36576
|
|
52
58
|
starplot/styles/extensions.py,sha256=4DsFMOHy3PHpam14o-S7f73jNTR7ARNFE21ZUo8_RGU,615
|
|
53
59
|
starplot/styles/fonts.py,sha256=wC3cHuFkBUaZM5fKpT_ExV7anrRKMJX46mjEfcSRQMU,379
|
|
54
60
|
starplot/styles/helpers.py,sha256=AGgHWaHLzJZ6jicvwPzY-p5oSHE0H8gDk1raCmeRFtg,3032
|
|
55
61
|
starplot/styles/markers.py,sha256=gEkKBXP2wL3_GA2skIwg3TP86MnmZqDtbrL3OtEq1lk,9135
|
|
56
|
-
starplot/styles/ext/antique.yml,sha256=
|
|
57
|
-
starplot/styles/ext/blue_dark.yml,sha256=
|
|
58
|
-
starplot/styles/ext/blue_light.yml,sha256=
|
|
59
|
-
starplot/styles/ext/blue_medium.yml,sha256=
|
|
60
|
-
starplot/styles/ext/cb_wong.yml,sha256=
|
|
62
|
+
starplot/styles/ext/antique.yml,sha256=54Qdiqg_i4poh4GUlon-JfGwDx_gQh5Eqvz7yO6tkSc,3271
|
|
63
|
+
starplot/styles/ext/blue_dark.yml,sha256=8XcD5nphKE2oR37MbhD01X3fo0TVAwQw3ptpom-Z51g,3048
|
|
64
|
+
starplot/styles/ext/blue_light.yml,sha256=hTEw-xjXqi5PkYMTi7lPu2lMir0RBsQpMuBSNiGEYWo,2155
|
|
65
|
+
starplot/styles/ext/blue_medium.yml,sha256=R5xN2J3AKb2PgokMQUTWiQoOXPi-AuhRDawtkejkKV4,2330
|
|
66
|
+
starplot/styles/ext/cb_wong.yml,sha256=SLD6t-VJm2izS7l0RDdQXyFt8xvEdqtG6WnHMdw3Dm8,2364
|
|
61
67
|
starplot/styles/ext/color_print.yml,sha256=z9kh39yHvgUnZaBwn3ZHYXwkvhPIt2QKLnEwVyUksY0,1812
|
|
62
|
-
starplot/styles/ext/grayscale.yml,sha256=
|
|
63
|
-
starplot/styles/ext/grayscale_dark.yml,sha256=
|
|
64
|
-
starplot/styles/ext/map.yml,sha256=
|
|
65
|
-
starplot/styles/ext/nord.yml,sha256
|
|
66
|
-
starplot/styles/ext/optic.yml,sha256=
|
|
68
|
+
starplot/styles/ext/grayscale.yml,sha256=7LTv8gwW6Btojk25iFBTWESnnzXJs0P_YBIsMHdlGnA,1332
|
|
69
|
+
starplot/styles/ext/grayscale_dark.yml,sha256=saD0WTTloCBnL_ThcM7DKP5DD3YSq0luwbw3VF7AeY8,2606
|
|
70
|
+
starplot/styles/ext/map.yml,sha256=uN2_IPMl_XMOgFX_rsGeEIDrLBu0Z1RDP1yErPH9ZuM,142
|
|
71
|
+
starplot/styles/ext/nord.yml,sha256=-eYXvXjv2UuwPl4_1HuIpwT22-ctMN9WbZ6YLqhII0Q,2684
|
|
72
|
+
starplot/styles/ext/optic.yml,sha256=ZF6YXjVXeSrptd9q8JQDP175GCLHOg6IYEncBmLhyx0,270
|
|
67
73
|
starplot/styles/fonts-library/gfs-didot/DESCRIPTION.en_us.html,sha256=mqYfpdiHL5yrU74_8eBAq70K8JMSB71uqdKX74lQYiM,1160
|
|
68
74
|
starplot/styles/fonts-library/gfs-didot/GFSDidot-Regular.ttf,sha256=T8eEq4JOiGbu74rVWXa5Pn4XD7G4I3_U-HgbW03Sl_k,191168
|
|
69
75
|
starplot/styles/fonts-library/gfs-didot/METADATA.pb,sha256=ANrWV7hje3V4-YfQRowrh8Z6zGZHEracmrxzSrd0vtA,438
|
|
@@ -95,7 +101,7 @@ starplot/styles/fonts-library/inter/Inter-SemiBoldItalic.ttf,sha256=HhKJRT16iVz7
|
|
|
95
101
|
starplot/styles/fonts-library/inter/Inter-Thin.ttf,sha256=TDktzIrZFvD533VZq1VjsB3ZT587LbNGF_45LgAGAzk,403404
|
|
96
102
|
starplot/styles/fonts-library/inter/Inter-ThinItalic.ttf,sha256=X8Ca-UpEf65vgsAPFd-u-ernxWDmy-RtPoRSQBmldKo,410232
|
|
97
103
|
starplot/styles/fonts-library/inter/LICENSE.txt,sha256=JiSB6ERSGzJvXs0FPlm5jIstp4yO4b27boF0MF5Uk1o,4380
|
|
98
|
-
starplot-0.
|
|
99
|
-
starplot-0.
|
|
100
|
-
starplot-0.
|
|
101
|
-
starplot-0.
|
|
104
|
+
starplot-0.14.0.dist-info/LICENSE,sha256=jcjClHF4BQwhz-kDgia-KphO9Zxu0rCa2BbiA7j1jeU,1070
|
|
105
|
+
starplot-0.14.0.dist-info/WHEEL,sha256=ssQ84EZ5gH1pCOujd3iW7HClo_O_aDaClUbX4B8bjKY,100
|
|
106
|
+
starplot-0.14.0.dist-info/METADATA,sha256=jKuMCVrfqZ9K3H-HeQTPXjD8i8P12IUzWjSrYZJWtLY,4195
|
|
107
|
+
starplot-0.14.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|