starplot 0.15.8__py2.py3-none-any.whl → 0.16.1__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.
Files changed (43) hide show
  1. starplot/__init__.py +7 -2
  2. starplot/base.py +57 -60
  3. starplot/cli.py +3 -3
  4. starplot/config.py +56 -0
  5. starplot/data/__init__.py +5 -5
  6. starplot/data/bigsky.py +3 -3
  7. starplot/data/db.py +2 -2
  8. starplot/data/library/sky.db +0 -0
  9. starplot/geometry.py +48 -0
  10. starplot/horizon.py +194 -90
  11. starplot/map.py +71 -168
  12. starplot/mixins.py +0 -55
  13. starplot/models/dso.py +10 -2
  14. starplot/observer.py +71 -0
  15. starplot/optic.py +61 -26
  16. starplot/plotters/__init__.py +2 -0
  17. starplot/plotters/constellations.py +4 -6
  18. starplot/plotters/dsos.py +3 -2
  19. starplot/plotters/gradients.py +153 -0
  20. starplot/plotters/legend.py +247 -0
  21. starplot/plotters/milkyway.py +8 -5
  22. starplot/plotters/stars.py +5 -3
  23. starplot/projections.py +155 -55
  24. starplot/styles/base.py +98 -22
  25. starplot/styles/ext/antique.yml +0 -1
  26. starplot/styles/ext/blue_dark.yml +0 -1
  27. starplot/styles/ext/blue_gold.yml +60 -52
  28. starplot/styles/ext/blue_light.yml +0 -1
  29. starplot/styles/ext/blue_medium.yml +7 -7
  30. starplot/styles/ext/blue_night.yml +178 -0
  31. starplot/styles/ext/cb_wong.yml +0 -1
  32. starplot/styles/ext/gradient_presets.yml +158 -0
  33. starplot/styles/ext/grayscale.yml +0 -1
  34. starplot/styles/ext/grayscale_dark.yml +0 -1
  35. starplot/styles/ext/nord.yml +0 -1
  36. starplot/styles/extensions.py +90 -0
  37. starplot/zenith.py +174 -0
  38. {starplot-0.15.8.dist-info → starplot-0.16.1.dist-info}/METADATA +18 -11
  39. {starplot-0.15.8.dist-info → starplot-0.16.1.dist-info}/RECORD +42 -36
  40. starplot/settings.py +0 -26
  41. {starplot-0.15.8.dist-info → starplot-0.16.1.dist-info}/WHEEL +0 -0
  42. {starplot-0.15.8.dist-info → starplot-0.16.1.dist-info}/entry_points.txt +0 -0
  43. {starplot-0.15.8.dist-info → starplot-0.16.1.dist-info}/licenses/LICENSE +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: starplot
3
- Version: 0.15.8
3
+ Version: 0.16.1
4
4
  Summary: Star charts and maps of the sky
5
5
  Keywords: astronomy,stars,charts,maps,constellations,sky,plotting
6
6
  Author-email: Steve Berardi <hello@steveberardi.com>
@@ -14,7 +14,8 @@ License-File: LICENSE
14
14
  Requires-Dist: matplotlib >= 3.8.0
15
15
  Requires-Dist: numpy >= 1.26.2
16
16
  Requires-Dist: pandas >= 1.4.0
17
- Requires-Dist: pydantic >= 2.0.3
17
+ Requires-Dist: pydantic >= 2.10.6
18
+ Requires-Dist: pydantic-settings >= 2.10.1
18
19
  Requires-Dist: shapely >= 2.0.1
19
20
  Requires-Dist: skyfield >= 1.41
20
21
  Requires-Dist: cartopy >= 0.21.1
@@ -25,7 +26,7 @@ Requires-Dist: pyarrow >= 14.0.2
25
26
  Requires-Dist: pyogrio >= 0.10.0
26
27
  Requires-Dist: rtree >= 1.2.0
27
28
  Requires-Dist: requests >= 2.31.0
28
- Requires-Dist: duckdb ~= 1.1.3
29
+ Requires-Dist: duckdb >= 1.1.3
29
30
  Requires-Dist: ibis-framework[duckdb, geospatial] < 11
30
31
  Project-URL: Documentation, https://starplot.dev
31
32
  Project-URL: Home, https://starplot.dev
@@ -65,18 +66,23 @@ To create a star chart for tonight's sky as seen from [Palomar Mountain](https:/
65
66
 
66
67
  ```python
67
68
  from datetime import datetime
68
- from pytz import timezone
69
- import starplot as sp
69
+ from zoneinfo import ZoneInfo
70
70
 
71
- tz = timezone("America/Los_Angeles")
71
+ from starplot import ZenithPlot, Observer, styles, _
72
72
 
73
- p = sp.MapPlot(
74
- projection=sp.Projection.ZENITH,
73
+ tz = ZoneInfo("America/Los_Angeles")
74
+ dt = datetime.now(tz).replace(hour=22)
75
+
76
+ observer = Observer(
77
+ dt=dt,
75
78
  lat=33.363484,
76
79
  lon=-116.836394,
77
- dt=datetime.now(tz).replace(hour=22),
78
- style=sp.styles.PlotStyle().extend(
79
- sp.styles.extensions.BLUE_MEDIUM,
80
+ )
81
+
82
+ p = ZenithPlot(
83
+ observer=observer,
84
+ style=styles.PlotStyle().extend(
85
+ styles.extensions.BLUE_MEDIUM,
80
86
  ),
81
87
  resolution=4096,
82
88
  autoscale=True,
@@ -84,6 +90,7 @@ p = sp.MapPlot(
84
90
  p.constellations()
85
91
  p.stars(where=[_.magnitude < 4.6])
86
92
  p.constellation_labels()
93
+ p.horizon()
87
94
  p.export("starchart.png")
88
95
  ```
89
96
 
@@ -1,65 +1,71 @@
1
- starplot/__init__.py,sha256=vOqisTpc-0yKEJR9jKWJKoQC__x8vg_PRaKi8MT9Cgc,558
2
- starplot/base.py,sha256=s-mixdIBeT5QcKYuGXy52oBrg7wJO2rpmHmXqorex1c,43223
1
+ starplot/__init__.py,sha256=fLOhpD9OsJeDhrltRafE2sg13AYsR4pkjvFqj4pRW-I,726
2
+ starplot/base.py,sha256=6Iu9_EK65sJljxWnmQehaa-eB3inBxYoqkzEpAuG7BE,43062
3
3
  starplot/callables.py,sha256=_zDGCAJTqqNLvCtcIt4PVEe2L0Ggvl6pj-7ZFI-0zqI,4043
4
- starplot/cli.py,sha256=W-V-h1DeD8zwzdhYuQ-i26LSZWYcS_NJ0zRXa-dmy1o,711
4
+ starplot/cli.py,sha256=ZcOtEAzwX7pLtLHxwDhIVb8sStZjSZr9Er9vJ4cc1J4,718
5
+ starplot/config.py,sha256=p8zXKQWxlPJPr9L3jQp_zQE2591Zrm1g4IRrw-QUk4c,1810
5
6
  starplot/coordinates.py,sha256=7LDz32VTKa8H-4F67-XvzmjpcTVojZwYVJzXZkBaZ3U,136
6
7
  starplot/geod.py,sha256=pVnDr-yxGjOIXwKCknbtCZiRle5IqRnqpY43s0PMnmA,2574
7
- starplot/geometry.py,sha256=wr1vJo-WWP51bfblVC2CAR7288yWrG31dZg9ks9vfYg,4359
8
- starplot/horizon.py,sha256=vsJCsJE5VJEe0vlx6A-L70LAGjbey9xMjgUcRSj1F4Y,15808
9
- starplot/map.py,sha256=CIJC2CoAhH4SlV-dgLC4xDqCoyqXl7DOGegZafRIoqU,23441
10
- starplot/mixins.py,sha256=8X-LhFbsVNBZN1PKIjlftknppRpcQMOMYE15gdNC-sE,4857
11
- starplot/optic.py,sha256=aj7Ks8np6f6aefqGtNHbxk3mwcUydhNAsZAo5qO2OBU,15568
8
+ starplot/geometry.py,sha256=e9YupWEWJmUT_FywTLEvk3RUzksmbTcR5p5b6VQ3uF4,5575
9
+ starplot/horizon.py,sha256=-pdbJZ26Izp5VsCaxIgZNvms_pXtMSVN8AOOKzprx_c,19839
10
+ starplot/map.py,sha256=0ZSHZEb1f9KaWTLe1cGMwf0mtaghrQJO9C0PsbLJKeU,19241
11
+ starplot/mixins.py,sha256=n_Ei0COGdMW1P1herJSya_6afqJ13n-fmoyJ_f_Bpqk,3372
12
+ starplot/observer.py,sha256=R15X0DZhDSFQ06mf4Tv-q7Qf-o1GR3CSz-9H_CBDFg8,1825
13
+ starplot/optic.py,sha256=dzVlinYdnnNMOzmJmt58_nonEjDjf3-i5yppqMy522I,16682
12
14
  starplot/optics.py,sha256=v94Ff8bIruVBrME7lzwORlayadpoFIGQsAK0sFlx43Y,9314
13
15
  starplot/profile.py,sha256=V5LOZFDdnGo-P8ikWvV3jmUVJIKO3gd4H2bjBlk7aUM,300
14
- starplot/projections.py,sha256=o5wHLoaU8o0s0Z2kkWKxeNbOrskvWG88ULAXDoLOGeA,3423
15
- starplot/settings.py,sha256=DCylQwkrgUki1yHrelMF483t98NIDQ1bivCeWfeknJw,627
16
+ starplot/projections.py,sha256=6mj8uJkWE-79giXF-OVS8ixUbbojOHuwI51C-ovHyIo,5101
16
17
  starplot/utils.py,sha256=49m8QXJl188Pgpef_82gyykly7ZjfAuHVEcSA5QFITA,3720
17
18
  starplot/warnings.py,sha256=uKvGSAVpWKZIHMKxxegO5owFJnKvBYLyq3pJatD0qQ4,594
18
- starplot/data/__init__.py,sha256=3M_uHlwyIsc9cyfabnOp-6CoXoMteYAaWuj4St9_1BE,308
19
- starplot/data/bigsky.py,sha256=SiHzzhoy-DAZpJ-Q_-lmJqHRLwTKgosaVOEXYWQ94PI,2820
19
+ starplot/zenith.py,sha256=Hb_Dq4-xVIIGc1iCmtdFoOLbPX1BL9LKQ3T7TcilqmQ,6557
20
+ starplot/data/__init__.py,sha256=caxXwutqzBf9XeVMuiK_R-RaM-Tfqbj-sKcHergsPOw,299
21
+ starplot/data/bigsky.py,sha256=3Tb_WI_6mSQVD5x1JFg1CXQoJRFBbfRLTrp36SyY1XM,2827
20
22
  starplot/data/constellation_lines.py,sha256=RLyFSoxGRL7kj9gGT4DDUubClKZEDu5wGUMG3PlpYfY,19344
21
23
  starplot/data/constellation_stars.py,sha256=l2GeyJWuVtzH-MIw1oGR6jeMBvfqX-q-S2V_ilcEZG8,38221
22
24
  starplot/data/constellations.py,sha256=05fjaLy5gBDQYyxMV_Etq2O2OMzOh0ozYWT_BwNmfMc,15745
23
- starplot/data/db.py,sha256=77oWr2HkZ95K_mG4vLc-ivP_SOFIiFYwoqrtTw-YWtk,384
25
+ starplot/data/db.py,sha256=UFzjyWL5U1yDf6dIPyS_FLy3WUltHT-7lhVljTyOLuc,391
24
26
  starplot/data/dsos.py,sha256=Tc264aSA3J8eVmVTUhjrMYMkijP870dqaleMk7xr3hE,1509
25
27
  starplot/data/ecliptic.py,sha256=Qre9YdFbTC9mAx-vd2C0Ou4CsnRehIScnTpmEUDDYcM,4638
26
28
  starplot/data/stars.py,sha256=ImcD0lwGgnOlVICQyM62nXVHoSvkS82x1TNIldFprCU,12288
27
29
  starplot/data/utils.py,sha256=RPk3bnfL-KtjMk1VQygDD27INz_gEya_B1hu7X4K8hU,772
28
30
  starplot/data/library/bigsky.0.4.0.stars.mag11.parquet,sha256=-_D6bghArUh1cmOKktxmmBFQNThiCWjVleI0wduP1GI,38884673
29
31
  starplot/data/library/de421_2001.bsp,sha256=ymkZigAd8Vgscq_DYkdR4nZ1VGD5wwPd-sxe6HiiTns,5341104
30
- starplot/data/library/sky.db,sha256=yl-pokiPUgHvlek7HhAbURwz4NFQ8N7WgX0b1oYjYrk,38023168
32
+ starplot/data/library/sky.db,sha256=Dnr7imUHP3nL_OqiCU4WM5Wp0erGNugeoJOQcRiqQHk,38023168
31
33
  starplot/models/__init__.py,sha256=qi4arVatzEcR9TAbHadSbhq8xRhSb1_Br3UKNv4FP7o,330
32
34
  starplot/models/base.py,sha256=sQ_qTUOUfGxtgLdJVnSbMG328_d_AO5GSIcnC-e0m80,2681
33
35
  starplot/models/constellation.py,sha256=ayIGfafFs2eymWHlFdDgZPJkx115x_avPC1egqVZWnI,3220
34
- starplot/models/dso.py,sha256=ZcAlMn5-y3A_IxfCjhMxmmQzSBeXbxb_P-Jw8T4DQPI,7022
36
+ starplot/models/dso.py,sha256=qfjbw5gJcd-OTEYLken7kANnyIoVcrFltsGwuiSg9Fs,7385
35
37
  starplot/models/moon.py,sha256=dW0N70DFx4yO9Zawfo96Z3LZxzLTMZDDpBHrP9rqfa0,4546
36
38
  starplot/models/objects.py,sha256=BXwUMT-zPiOYBWYV7L-TRDfPo6lsx_AIk3yxJ3qi0ck,683
37
39
  starplot/models/planet.py,sha256=TyPGMQnlq4NwMXNSRrIgbpL4rAWTdKyNeo5jpSR0Crg,4661
38
40
  starplot/models/star.py,sha256=gw36P1BB9qq4IfvS4TqcZsmltKeNWvcnw87wSDxmE1w,4555
39
41
  starplot/models/sun.py,sha256=3EaRJclmYX-jhSJav5nGCazH-9_YHT6Qr2irDSsC63I,2342
40
- starplot/plotters/__init__.py,sha256=p2wpyY_jK5_zOWWbGtokw4tcHBTuILjAhuobghDvdvM,223
41
- starplot/plotters/constellations.py,sha256=ZkI3VfbI7yZfuzg3vG8de4AdxzolXgRj8gBDzwfiHo0,13274
42
- starplot/plotters/dsos.py,sha256=u_V6b9ADk2YnqwXM6YNayju4SWxe1kLKKT-cMLJva5Y,9095
42
+ starplot/plotters/__init__.py,sha256=qxfzgsrOxu3Xvuh7Ucbq_ZFWvohbc4iGqOCEBFZ31oo,337
43
+ starplot/plotters/constellations.py,sha256=3aGFbxBewYb6Ex5pBPjGsVgBbO59aEmNhaOt8E2JyXg,13290
44
+ starplot/plotters/dsos.py,sha256=HxURv4a0UZyT9tp8vbLUXbx6ZyX5AUz5cSajV3A8G4Y,9146
43
45
  starplot/plotters/experimental.py,sha256=P4T9jJyAnViv6k2RJpmYEY8uI-0dyd-E6NeIRUWbu6c,5909
44
- starplot/plotters/milkyway.py,sha256=ofenSqpqeeg7_LlWnH1PJiiHstzD-qQL7Lk6-WlEv2M,1122
45
- starplot/plotters/stars.py,sha256=4k_OUMiNuGT28cMZfm-R9kMzUptPgtW55iqB9vH9WBo,12441
46
+ starplot/plotters/gradients.py,sha256=ZonNeIEmbcZZWjFtlPahGtGCgeTCeimp84PZnqj8dXY,5781
47
+ starplot/plotters/legend.py,sha256=RMdAL1t1PcfYzcizkHl_lksK2Ql-BDALNdxz2bXgyew,8573
48
+ starplot/plotters/milkyway.py,sha256=WpWwHefSHE2bDI_vTve-tbma31kk1CIGOp1ukLy-BiE,1189
49
+ starplot/plotters/stars.py,sha256=j-wI2fCvsMwCCUyswmqHxYWRQUu877rKGKNdr7LwnDY,12507
46
50
  starplot/styles/__init__.py,sha256=rtwzAylENUGIYGDPl106RGjU6e89yNURoxmPD3I_HM0,193
47
- starplot/styles/base.py,sha256=eSVITtg_dGp8ChI4pm4g3glpiW_Pd0irwNGQp9HND3g,36454
48
- starplot/styles/extensions.py,sha256=Mv9FTSbwEtB4IFuo_5MFDlHRYQsKdC-19uLYtmJSUuE,649
51
+ starplot/styles/base.py,sha256=W4lT7J3QPTNUTiTdRhOjiCxBzOt7BRgN7MQ8RDO4SBY,39044
52
+ starplot/styles/extensions.py,sha256=GFM_s5YRXSdhj77pcCUX52RdcdfZqRsnyZx6SfR2Sss,2506
49
53
  starplot/styles/fonts.py,sha256=wC3cHuFkBUaZM5fKpT_ExV7anrRKMJX46mjEfcSRQMU,379
50
54
  starplot/styles/helpers.py,sha256=AGgHWaHLzJZ6jicvwPzY-p5oSHE0H8gDk1raCmeRFtg,3032
51
55
  starplot/styles/markers.py,sha256=gEkKBXP2wL3_GA2skIwg3TP86MnmZqDtbrL3OtEq1lk,9135
52
- starplot/styles/ext/antique.yml,sha256=54Qdiqg_i4poh4GUlon-JfGwDx_gQh5Eqvz7yO6tkSc,3271
53
- starplot/styles/ext/blue_dark.yml,sha256=XJxgHiR_1u1U-Y_mhK_Y2A5-D5pgPcF-7v3Zwogw89U,3048
54
- starplot/styles/ext/blue_gold.yml,sha256=6MyhJflpV88YRxuzMqHmRJbcpUO9YeFl4iJC4qoIuNI,2432
55
- starplot/styles/ext/blue_light.yml,sha256=GHRUgCPuod1uNQ0qg86UDB_2oqUQtPwK6w52ybt5IQY,2215
56
- starplot/styles/ext/blue_medium.yml,sha256=DETMuqeo4qbMsELl4xO62AGRYT10do2-wy-JZ2SmwWM,2453
57
- starplot/styles/ext/cb_wong.yml,sha256=SLD6t-VJm2izS7l0RDdQXyFt8xvEdqtG6WnHMdw3Dm8,2364
56
+ starplot/styles/ext/antique.yml,sha256=f_FRnPC0_-1QoyxYRpZudKcPKMvBpygwmC37nmGgwwg,3242
57
+ starplot/styles/ext/blue_dark.yml,sha256=63v0p0hSAnbMUxefDlq5ZuHJqZ1Nw4EqYR_cferVMT0,3019
58
+ starplot/styles/ext/blue_gold.yml,sha256=0zJzOgzyGfdE3UcCHDp7fZS20XggAaWiTT_VyF7WBNs,2657
59
+ starplot/styles/ext/blue_light.yml,sha256=ZzO8djIAWzVzxVx9zwSg7IzfPdxQBNWevbG916_zSpE,2186
60
+ starplot/styles/ext/blue_medium.yml,sha256=zv99FJTwSpGVyfXFZZ65mmo9TNnxTDZXvWAgJVILhsQ,2468
61
+ starplot/styles/ext/blue_night.yml,sha256=82pxZeTzzaJvKtPT_g5oAEwwL_eek9ByhULD-qNUJxs,3210
62
+ starplot/styles/ext/cb_wong.yml,sha256=AGPXaEgaiqcC-EEDo1iGsl2-knWEubPsmK1VZyfoZjM,2335
58
63
  starplot/styles/ext/color_print.yml,sha256=z9kh39yHvgUnZaBwn3ZHYXwkvhPIt2QKLnEwVyUksY0,1812
59
- starplot/styles/ext/grayscale.yml,sha256=7LTv8gwW6Btojk25iFBTWESnnzXJs0P_YBIsMHdlGnA,1332
60
- starplot/styles/ext/grayscale_dark.yml,sha256=saD0WTTloCBnL_ThcM7DKP5DD3YSq0luwbw3VF7AeY8,2606
64
+ starplot/styles/ext/gradient_presets.yml,sha256=VIDwo1-y75AWcdI2UerzHsU9sqEH9kuAltsgvfZO8dw,3238
65
+ starplot/styles/ext/grayscale.yml,sha256=t22oeFZMEomUC9k-JxXSCS4UGKqhhsq81XQt8q8kPcM,1303
66
+ starplot/styles/ext/grayscale_dark.yml,sha256=x8qBtksvtFrNhRfCWjjlY2uE5WQwaJVH-A9113t10E8,2577
61
67
  starplot/styles/ext/map.yml,sha256=uN2_IPMl_XMOgFX_rsGeEIDrLBu0Z1RDP1yErPH9ZuM,142
62
- starplot/styles/ext/nord.yml,sha256=-eYXvXjv2UuwPl4_1HuIpwT22-ctMN9WbZ6YLqhII0Q,2684
68
+ starplot/styles/ext/nord.yml,sha256=AhZYFL9IbEtyeyNfqghm1sOC2SS6LYgNu6DIX7EqVAs,2655
63
69
  starplot/styles/ext/optic.yml,sha256=ZF6YXjVXeSrptd9q8JQDP175GCLHOg6IYEncBmLhyx0,270
64
70
  starplot/styles/fonts-library/gfs-didot/DESCRIPTION.en_us.html,sha256=mqYfpdiHL5yrU74_8eBAq70K8JMSB71uqdKX74lQYiM,1160
65
71
  starplot/styles/fonts-library/gfs-didot/GFSDidot-Regular.ttf,sha256=T8eEq4JOiGbu74rVWXa5Pn4XD7G4I3_U-HgbW03Sl_k,191168
@@ -92,8 +98,8 @@ starplot/styles/fonts-library/inter/Inter-SemiBoldItalic.ttf,sha256=HhKJRT16iVz7
92
98
  starplot/styles/fonts-library/inter/Inter-Thin.ttf,sha256=TDktzIrZFvD533VZq1VjsB3ZT587LbNGF_45LgAGAzk,403404
93
99
  starplot/styles/fonts-library/inter/Inter-ThinItalic.ttf,sha256=X8Ca-UpEf65vgsAPFd-u-ernxWDmy-RtPoRSQBmldKo,410232
94
100
  starplot/styles/fonts-library/inter/LICENSE.txt,sha256=JiSB6ERSGzJvXs0FPlm5jIstp4yO4b27boF0MF5Uk1o,4380
95
- starplot-0.15.8.dist-info/entry_points.txt,sha256=Sm6jC6h_RcaMGC8saLnYmT0SdhcF9_rMeQIiHneLHyc,46
96
- starplot-0.15.8.dist-info/licenses/LICENSE,sha256=jcjClHF4BQwhz-kDgia-KphO9Zxu0rCa2BbiA7j1jeU,1070
97
- starplot-0.15.8.dist-info/WHEEL,sha256=Dyt6SBfaasWElUrURkknVFAZDHSTwxg3PaTza7RSbkY,100
98
- starplot-0.15.8.dist-info/METADATA,sha256=w1KjXfQySDtPeNVmkQRP2HZsQD8TxlQwtSWVGW4wK3w,4276
99
- starplot-0.15.8.dist-info/RECORD,,
101
+ starplot-0.16.1.dist-info/entry_points.txt,sha256=Sm6jC6h_RcaMGC8saLnYmT0SdhcF9_rMeQIiHneLHyc,46
102
+ starplot-0.16.1.dist-info/licenses/LICENSE,sha256=jcjClHF4BQwhz-kDgia-KphO9Zxu0rCa2BbiA7j1jeU,1070
103
+ starplot-0.16.1.dist-info/WHEEL,sha256=Dyt6SBfaasWElUrURkknVFAZDHSTwxg3PaTza7RSbkY,100
104
+ starplot-0.16.1.dist-info/METADATA,sha256=AVKkXdENbdVZgphb-T362I1uu30EsoIp8krIUHU_Wm0,4380
105
+ starplot-0.16.1.dist-info/RECORD,,
starplot/settings.py DELETED
@@ -1,26 +0,0 @@
1
- import os
2
-
3
- from pathlib import Path
4
-
5
-
6
- def env(name, default):
7
- return os.environ.get(name) or default
8
-
9
-
10
- STARPLOT_PATH = Path(__file__).resolve().parent
11
- """Path of starplot source"""
12
-
13
- DATA_PATH = STARPLOT_PATH / "data" / "library"
14
- """Path of starplot data"""
15
-
16
- DOWNLOAD_PATH = Path(env("STARPLOT_DOWNLOAD_PATH", str(DATA_PATH / "downloads")))
17
- """Path for downloaded data"""
18
-
19
- DUCKDB_EXTENSION_PATH = Path(
20
- env("STARPLOT_DUCKDB_EXTENSIONS_PATH", str(DATA_PATH / "duckdb-extensions"))
21
- )
22
- """Path for DuckDB extensions"""
23
-
24
-
25
- RAW_DATA_PATH = STARPLOT_PATH.parent.parent / "raw"
26
- BUILD_PATH = STARPLOT_PATH.parent.parent / "build"