AstroToolkit 1.4.0__tar.gz → 1.4.1__tar.gz

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 (53) hide show
  1. AstroToolkit-1.4.0/README.md → astrotoolkit-1.4.1/PKG-INFO +31 -79
  2. AstroToolkit-1.4.0/PKG-INFO → astrotoolkit-1.4.1/README.md +6 -108
  3. {AstroToolkit-1.4.0 → astrotoolkit-1.4.1}/pyproject.toml +11 -15
  4. {AstroToolkit-1.4.0 → astrotoolkit-1.4.1}/src/AstroToolkit/Data/data.py +0 -1
  5. {AstroToolkit-1.4.0 → astrotoolkit-1.4.1}/src/AstroToolkit/Data/imaging.py +7 -6
  6. {AstroToolkit-1.4.0 → astrotoolkit-1.4.1}/src/AstroToolkit/Data/overlays.py +0 -1
  7. {AstroToolkit-1.4.0 → astrotoolkit-1.4.1}/src/AstroToolkit/Data/sed.py +0 -1
  8. {AstroToolkit-1.4.0 → astrotoolkit-1.4.1}/src/AstroToolkit/Datapages/grid.py +0 -1
  9. {AstroToolkit-1.4.0 → astrotoolkit-1.4.1}/src/AstroToolkit/Datapages/metadata.py +0 -1
  10. {AstroToolkit-1.4.0 → astrotoolkit-1.4.1}/src/AstroToolkit/Examples/datapage_creation.py +6 -9
  11. {AstroToolkit-1.4.0 → astrotoolkit-1.4.1}/src/AstroToolkit/Misc/ProperMotionCorrection.py +0 -1
  12. {AstroToolkit-1.4.0 → astrotoolkit-1.4.1}/src/AstroToolkit/Plotting/HRD.py +0 -2
  13. {AstroToolkit-1.4.0 → astrotoolkit-1.4.1}/src/AstroToolkit/Plotting/imaging.py +1 -2
  14. {AstroToolkit-1.4.0 → astrotoolkit-1.4.1}/src/AstroToolkit/Plotting/lightcurves.py +2 -2
  15. {AstroToolkit-1.4.0 → astrotoolkit-1.4.1}/src/AstroToolkit/Plotting/sed.py +3 -3
  16. {AstroToolkit-1.4.0 → astrotoolkit-1.4.1}/src/AstroToolkit/Plotting/spectra.py +1 -3
  17. AstroToolkit-1.4.0/src/AstroToolkit/Timeseries/aov.cp38-win_amd64.pyd → astrotoolkit-1.4.1/src/AstroToolkit/Timeseries/aov.cp311-win_amd64.pyd +0 -0
  18. {AstroToolkit-1.4.0 → astrotoolkit-1.4.1}/src/AstroToolkit/Tools.py +40 -84
  19. {AstroToolkit-1.4.0 → astrotoolkit-1.4.1}/src/AstroToolkit.egg-info/PKG-INFO +15 -92
  20. {AstroToolkit-1.4.0 → astrotoolkit-1.4.1}/src/AstroToolkit.egg-info/SOURCES.txt +1 -1
  21. astrotoolkit-1.4.1/src/AstroToolkit.egg-info/requires.txt +12 -0
  22. AstroToolkit-1.4.0/src/AstroToolkit.egg-info/requires.txt +0 -16
  23. {AstroToolkit-1.4.0 → astrotoolkit-1.4.1}/LICENSE +0 -0
  24. {AstroToolkit-1.4.0 → astrotoolkit-1.4.1}/MANIFEST.in +0 -0
  25. {AstroToolkit-1.4.0 → astrotoolkit-1.4.1}/setup.cfg +0 -0
  26. {AstroToolkit-1.4.0 → astrotoolkit-1.4.1}/src/AstroToolkit/Data/lightcurve_sigma_clip.py +0 -0
  27. {AstroToolkit-1.4.0 → astrotoolkit-1.4.1}/src/AstroToolkit/Data/lightcurves.py +0 -0
  28. {AstroToolkit-1.4.0 → astrotoolkit-1.4.1}/src/AstroToolkit/Data/photometry.py +0 -0
  29. {AstroToolkit-1.4.0 → astrotoolkit-1.4.1}/src/AstroToolkit/Data/reddening.py +0 -0
  30. {AstroToolkit-1.4.0 → astrotoolkit-1.4.1}/src/AstroToolkit/Data/spectra.py +0 -0
  31. {AstroToolkit-1.4.0 → astrotoolkit-1.4.1}/src/AstroToolkit/Datapages/buttons.py +0 -0
  32. {AstroToolkit-1.4.0 → astrotoolkit-1.4.1}/src/AstroToolkit/Misc/coord_conversion.py +0 -0
  33. {AstroToolkit-1.4.0 → astrotoolkit-1.4.1}/src/AstroToolkit/Misc/database_queries.py +0 -0
  34. {AstroToolkit-1.4.0 → astrotoolkit-1.4.1}/src/AstroToolkit/Misc/file_handling.py +0 -0
  35. {AstroToolkit-1.4.0 → astrotoolkit-1.4.1}/src/AstroToolkit/Misc/file_naming.py +0 -0
  36. {AstroToolkit-1.4.0 → astrotoolkit-1.4.1}/src/AstroToolkit/Misc/input_validation.py +0 -0
  37. {AstroToolkit-1.4.0 → astrotoolkit-1.4.1}/src/AstroToolkit/Misc/read_fits.py +0 -0
  38. {AstroToolkit-1.4.0 → astrotoolkit-1.4.1}/src/AstroToolkit/Plotting/backdrop_hrd_allmags.fits +0 -0
  39. {AstroToolkit-1.4.0 → astrotoolkit-1.4.1}/src/AstroToolkit/Plotting/powspec.py +0 -0
  40. {AstroToolkit-1.4.0 → astrotoolkit-1.4.1}/src/AstroToolkit/Settings/__init__.py +0 -0
  41. {AstroToolkit-1.4.0 → astrotoolkit-1.4.1}/src/AstroToolkit/Timeseries/README - Windows.txt +0 -0
  42. {AstroToolkit-1.4.0 → astrotoolkit-1.4.1}/src/AstroToolkit/Timeseries/README.txt +0 -0
  43. {AstroToolkit-1.4.0 → astrotoolkit-1.4.1}/src/AstroToolkit/Timeseries/__init__.py +0 -0
  44. {AstroToolkit-1.4.0 → astrotoolkit-1.4.1}/src/AstroToolkit/Timeseries/aov.f90 +0 -0
  45. {AstroToolkit-1.4.0 → astrotoolkit-1.4.1}/src/AstroToolkit/Timeseries/aovconst.f90 +0 -0
  46. {AstroToolkit-1.4.0 → astrotoolkit-1.4.1}/src/AstroToolkit/Timeseries/aovsub.f90 +0 -0
  47. {AstroToolkit-1.4.0 → astrotoolkit-1.4.1}/src/AstroToolkit/Timeseries/build.sh +0 -0
  48. {AstroToolkit-1.4.0 → astrotoolkit-1.4.1}/src/AstroToolkit/Timeseries/buildwin.bat +0 -0
  49. {AstroToolkit-1.4.0 → astrotoolkit-1.4.1}/src/AstroToolkit/Timeseries/pyaov.pdf +0 -0
  50. {AstroToolkit-1.4.0 → astrotoolkit-1.4.1}/src/AstroToolkit/Timeseries/pyaov.py +0 -0
  51. {AstroToolkit-1.4.0 → astrotoolkit-1.4.1}/src/AstroToolkit/Timeseries/ztfanalysis.py +0 -0
  52. {AstroToolkit-1.4.0 → astrotoolkit-1.4.1}/src/AstroToolkit.egg-info/dependency_links.txt +0 -0
  53. {AstroToolkit-1.4.0 → astrotoolkit-1.4.1}/src/AstroToolkit.egg-info/top_level.txt +0 -0
@@ -1,3 +1,28 @@
1
+ Metadata-Version: 2.1
2
+ Name: AstroToolkit
3
+ Version: 1.4.1
4
+ Summary: A package for the gathering and plotting of astronomical data.
5
+ Author-email: Ethan Moorfield <ethan.moorfield@hotmail.co.uk>
6
+ Project-URL: Homepage, https://github.com/WD-planets/AstroToolkit
7
+ Project-URL: Issues, https://github.com/WD-planets/AstroToolkit/issues
8
+ Classifier: Programming Language :: Python :: 3
9
+ Classifier: Operating System :: OS Independent
10
+ Requires-Python: >=3.12
11
+ Description-Content-Type: text/markdown
12
+ License-File: LICENSE
13
+ Requires-Dist: astropy==6.0.1
14
+ Requires-Dist: astroquery==0.4.7
15
+ Requires-Dist: bokeh==3.4.1
16
+ Requires-Dist: cmasher==1.8.0
17
+ Requires-Dist: matplotlib==3.8.4
18
+ Requires-Dist: importlib_resources==6.4.0
19
+ Requires-Dist: numpy==1.26.4
20
+ Requires-Dist: pandas==2.2.2
21
+ Requires-Dist: Requests==2.31.0
22
+ Requires-Dist: selenium==4.17.2
23
+ Requires-Dist: beautifulsoup4==4.12.3
24
+ Requires-Dist: scipy==1.13.0
25
+
1
26
  # AstroToolkit
2
27
 
3
28
  AstroToolkit (ATK) is a set of tools for fetching, plotting, and analysing astronomical data.
@@ -571,7 +596,7 @@ data = list/dict data in structure returned by the query tool
571
596
 
572
597
  <br>
573
598
 
574
- **Supported plot types:** image, lightcurve, sed, spectra, powspec, hrd
599
+ **Supported plot types:** image, lightcurve, sed, spectra, hrd
575
600
 
576
601
  <br>
577
602
 
@@ -591,10 +616,6 @@ Below is an outline of the usage and output of each plot type. Note that additon
591
616
 
592
617
  [HRD Plotting](#25-hrd-plotting)
593
618
 
594
- [Power Spectra Plotting](#26-power-spectra-plotting)
595
-
596
- <br>
597
-
598
619
  ### 2.1 Image Plotting<a id="21-image-plotting"></a>
599
620
 
600
621
  Type argument: 'image'
@@ -721,49 +742,6 @@ Description: Plots Gaia HRD data in the format returned by [hrd queries](#19-hrd
721
742
 
722
743
  <br><br>
723
744
 
724
- ### 2.6 Power Spectra Plotting<a id="26-power-spectra-plotting"></a>
725
-
726
- Type argument: 'powspec'
727
-
728
- Description: Plots power spectra from lightcurve data in the format returned by [lightcurve queries](#16-lightcurve-query).
729
-
730
- <br>
731
-
732
- **Returns:** dict
733
-
734
- ```
735
- {
736
- 'type' : 'powspec'
737
- 'survey' : str, survey of lightcurve data given to the powspec tool
738
- 'source' : int/str, source used to get data (None if a pos was used)
739
- 'pos': [ra,dec], pos used to get data (None if a source was used)
740
- 'plot' : bokeh figure object, the actual plot
741
- 'ATKfilename' : the default filename given by ATK
742
- }
743
- ```
744
-
745
- <br><br>
746
-
747
- ### 2.7 Timeseries Analysis<a id="27-timeseries-analysis"></a>
748
-
749
- Description: Not explicitly a plotting function, but included here for completeness. Runs period analysis on lightcurve data in format returned by [lightcurve queries](#16-lightcurve-query).
750
-
751
- <br>
752
-
753
- **Usage:**
754
-
755
- ```
756
- tsanalysis(data)
757
- ```
758
-
759
- where:
760
-
761
- ```
762
- data = dict or list in format returned by lightcurve queries
763
- ```
764
-
765
- <br><br>
766
-
767
745
  ## 3. Datapage Tools<a id="3-datapage-tools"></a>
768
746
 
769
747
  These functions are used to create custom datapages from any plots/data supported by AstroToolkit.
@@ -1409,21 +1387,7 @@ showplot(plot)
1409
1387
 
1410
1388
  <br><br>
1411
1389
 
1412
- ### Example 6: Fetching ZTF ligthcurve data, and then plotting it as a power spectrum
1413
-
1414
- ```
1415
- from AstroToolkit.Tools import lightcurvequery,plotpowspec,showplot
1416
-
1417
- data=lightcurvequery(survey='ztf',source=6050296829033196032)
1418
- plot=plotpowspec(data)
1419
- showplot(plot)
1420
- ```
1421
-
1422
- ![](https://github.com/WD-planets/AstroToolkit/raw/latest/README_Images/powspec_example.png?raw=true)
1423
-
1424
- <br><br>
1425
-
1426
- ### Example 7: Fetching Gaia parallax and WISE data
1390
+ ### Example 6: Fetching Gaia parallax and WISE data
1427
1391
 
1428
1392
  ```
1429
1393
  from AstroToolkit.Tools import query
@@ -1434,7 +1398,7 @@ parallax = query(type='data',survey='gaia',source=source)['data']['parallax']
1434
1398
  wise_data = query(type='data',survey='wise',source=source)['data']
1435
1399
  ```
1436
1400
 
1437
- ### Example 8: Fetching 2MASS photometry for an object
1401
+ ### Example 7: Fetching 2MASS photometry for an object
1438
1402
 
1439
1403
  ```
1440
1404
  from AstroToolkit.Tools import query
@@ -1442,7 +1406,7 @@ from AstroToolkit.Tools import query
1442
1406
  data=query(type='phot',survey='twomass',source=6050296829033196032)['data']
1443
1407
  ```
1444
1408
 
1445
- ### Example 9: Fetching photometry from all available surveys using a bulk photometry query
1409
+ ### Example 8: Fetching photometry from all available surveys using a bulk photometry query
1446
1410
 
1447
1411
  ```
1448
1412
  from AstroToolkit.Tools import query
@@ -1455,20 +1419,8 @@ galex_data=bulk_phot['galex']
1455
1419
 
1456
1420
  <br><br>
1457
1421
 
1458
- ### Example 10: Fetching ZTF lightcurve data, and performing timeseries analysis
1459
1422
 
1460
- ```
1461
- from AstroToolkit.Tools import query,tsanalysis
1462
-
1463
- data=query(type='lightcurve',survey='ztf',source=6050296829033196032)
1464
- plot=tsanalysis(data)
1465
- ```
1466
-
1467
- ![](https://github.com/WD-planets/AstroToolkit/raw/latest/README_Images/tsanalysis_example.png?raw=true)
1468
-
1469
- <br><br>
1470
-
1471
- ### Example 11: Proper motion correction
1423
+ ### Example 9: Proper motion correction
1472
1424
 
1473
1425
  ```
1474
1426
  from AstroToolkit.Tools import query,correctpm
@@ -1477,4 +1429,4 @@ gaia_data=query(type='data',survey='gaia',source=6050296829033196032)['data']
1477
1429
  ra,dec,pmra,pmdec=gaia_data['ra'][0],gaia_data['dec'][0],gaia_data['pmra'][0],gaia_data['pmdec'][0]
1478
1430
 
1479
1431
  ra_corrected,dec_corrected=correctpm([2016,0],[2000,0],ra,dec,pmra,pmdec)
1480
- ```
1432
+ ```
@@ -1,32 +1,3 @@
1
- Metadata-Version: 2.1
2
- Name: AstroToolkit
3
- Version: 1.4.0
4
- Summary: A package for the gathering and plotting of astronomical data.
5
- Author-email: Ethan Moorfield <ethan.moorfield@hotmail.co.uk>
6
- Project-URL: Homepage, https://github.com/WD-planets/AstroToolkit
7
- Project-URL: Issues, https://github.com/WD-planets/AstroToolkit/issues
8
- Classifier: Programming Language :: Python :: 3
9
- Classifier: Operating System :: OS Independent
10
- Requires-Python: >=3.7
11
- Description-Content-Type: text/markdown
12
- License-File: LICENSE
13
- Requires-Dist: astropy==5.2.2
14
- Requires-Dist: astroquery==0.4.7
15
- Requires-Dist: bokeh==3.1.1
16
- Requires-Dist: cmasher==1.6.3
17
- Requires-Dist: importlib_resources==6.4.0
18
- Requires-Dist: matplotlib==3.7.5
19
- Requires-Dist: numba==0.58.1
20
- Requires-Dist: numpy==1.24.4
21
- Requires-Dist: pandas==2.0.3
22
- Requires-Dist: Pillow==10.2.0
23
- Requires-Dist: PyQt5==5.15.10
24
- Requires-Dist: PyQt5_sip==12.13.0
25
- Requires-Dist: Requests==2.31.0
26
- Requires-Dist: scikit_learn==1.3.2
27
- Requires-Dist: scipy==1.10.1
28
- Requires-Dist: selenium==4.17.2
29
-
30
1
  # AstroToolkit
31
2
 
32
3
  AstroToolkit (ATK) is a set of tools for fetching, plotting, and analysing astronomical data.
@@ -600,7 +571,7 @@ data = list/dict data in structure returned by the query tool
600
571
 
601
572
  <br>
602
573
 
603
- **Supported plot types:** image, lightcurve, sed, spectra, powspec, hrd
574
+ **Supported plot types:** image, lightcurve, sed, spectra, hrd
604
575
 
605
576
  <br>
606
577
 
@@ -620,10 +591,6 @@ Below is an outline of the usage and output of each plot type. Note that additon
620
591
 
621
592
  [HRD Plotting](#25-hrd-plotting)
622
593
 
623
- [Power Spectra Plotting](#26-power-spectra-plotting)
624
-
625
- <br>
626
-
627
594
  ### 2.1 Image Plotting<a id="21-image-plotting"></a>
628
595
 
629
596
  Type argument: 'image'
@@ -750,49 +717,6 @@ Description: Plots Gaia HRD data in the format returned by [hrd queries](#19-hrd
750
717
 
751
718
  <br><br>
752
719
 
753
- ### 2.6 Power Spectra Plotting<a id="26-power-spectra-plotting"></a>
754
-
755
- Type argument: 'powspec'
756
-
757
- Description: Plots power spectra from lightcurve data in the format returned by [lightcurve queries](#16-lightcurve-query).
758
-
759
- <br>
760
-
761
- **Returns:** dict
762
-
763
- ```
764
- {
765
- 'type' : 'powspec'
766
- 'survey' : str, survey of lightcurve data given to the powspec tool
767
- 'source' : int/str, source used to get data (None if a pos was used)
768
- 'pos': [ra,dec], pos used to get data (None if a source was used)
769
- 'plot' : bokeh figure object, the actual plot
770
- 'ATKfilename' : the default filename given by ATK
771
- }
772
- ```
773
-
774
- <br><br>
775
-
776
- ### 2.7 Timeseries Analysis<a id="27-timeseries-analysis"></a>
777
-
778
- Description: Not explicitly a plotting function, but included here for completeness. Runs period analysis on lightcurve data in format returned by [lightcurve queries](#16-lightcurve-query).
779
-
780
- <br>
781
-
782
- **Usage:**
783
-
784
- ```
785
- tsanalysis(data)
786
- ```
787
-
788
- where:
789
-
790
- ```
791
- data = dict or list in format returned by lightcurve queries
792
- ```
793
-
794
- <br><br>
795
-
796
720
  ## 3. Datapage Tools<a id="3-datapage-tools"></a>
797
721
 
798
722
  These functions are used to create custom datapages from any plots/data supported by AstroToolkit.
@@ -1438,21 +1362,7 @@ showplot(plot)
1438
1362
 
1439
1363
  <br><br>
1440
1364
 
1441
- ### Example 6: Fetching ZTF ligthcurve data, and then plotting it as a power spectrum
1442
-
1443
- ```
1444
- from AstroToolkit.Tools import lightcurvequery,plotpowspec,showplot
1445
-
1446
- data=lightcurvequery(survey='ztf',source=6050296829033196032)
1447
- plot=plotpowspec(data)
1448
- showplot(plot)
1449
- ```
1450
-
1451
- ![](https://github.com/WD-planets/AstroToolkit/raw/latest/README_Images/powspec_example.png?raw=true)
1452
-
1453
- <br><br>
1454
-
1455
- ### Example 7: Fetching Gaia parallax and WISE data
1365
+ ### Example 6: Fetching Gaia parallax and WISE data
1456
1366
 
1457
1367
  ```
1458
1368
  from AstroToolkit.Tools import query
@@ -1463,7 +1373,7 @@ parallax = query(type='data',survey='gaia',source=source)['data']['parallax']
1463
1373
  wise_data = query(type='data',survey='wise',source=source)['data']
1464
1374
  ```
1465
1375
 
1466
- ### Example 8: Fetching 2MASS photometry for an object
1376
+ ### Example 7: Fetching 2MASS photometry for an object
1467
1377
 
1468
1378
  ```
1469
1379
  from AstroToolkit.Tools import query
@@ -1471,7 +1381,7 @@ from AstroToolkit.Tools import query
1471
1381
  data=query(type='phot',survey='twomass',source=6050296829033196032)['data']
1472
1382
  ```
1473
1383
 
1474
- ### Example 9: Fetching photometry from all available surveys using a bulk photometry query
1384
+ ### Example 8: Fetching photometry from all available surveys using a bulk photometry query
1475
1385
 
1476
1386
  ```
1477
1387
  from AstroToolkit.Tools import query
@@ -1484,20 +1394,8 @@ galex_data=bulk_phot['galex']
1484
1394
 
1485
1395
  <br><br>
1486
1396
 
1487
- ### Example 10: Fetching ZTF lightcurve data, and performing timeseries analysis
1488
1397
 
1489
- ```
1490
- from AstroToolkit.Tools import query,tsanalysis
1491
-
1492
- data=query(type='lightcurve',survey='ztf',source=6050296829033196032)
1493
- plot=tsanalysis(data)
1494
- ```
1495
-
1496
- ![](https://github.com/WD-planets/AstroToolkit/raw/latest/README_Images/tsanalysis_example.png?raw=true)
1497
-
1498
- <br><br>
1499
-
1500
- ### Example 11: Proper motion correction
1398
+ ### Example 9: Proper motion correction
1501
1399
 
1502
1400
  ```
1503
1401
  from AstroToolkit.Tools import query,correctpm
@@ -1506,4 +1404,4 @@ gaia_data=query(type='data',survey='gaia',source=6050296829033196032)['data']
1506
1404
  ra,dec,pmra,pmdec=gaia_data['ra'][0],gaia_data['dec'][0],gaia_data['pmra'][0],gaia_data['pmdec'][0]
1507
1405
 
1508
1406
  ra_corrected,dec_corrected=correctpm([2016,0],[2000,0],ra,dec,pmra,pmdec)
1509
- ```
1407
+ ```
@@ -7,34 +7,30 @@ include-package-data = true
7
7
 
8
8
  [project]
9
9
  name = "AstroToolkit"
10
- version = "1.4.0"
10
+ version = "1.4.1"
11
11
  authors = [
12
12
  { name="Ethan Moorfield", email="ethan.moorfield@hotmail.co.uk"},
13
13
  ]
14
14
  description = "A package for the gathering and plotting of astronomical data."
15
15
  readme = "README.md"
16
- requires-python = ">=3.7"
16
+ requires-python = ">=3.12"
17
17
  classifiers = [
18
18
  "Programming Language :: Python :: 3",
19
19
  "Operating System :: OS Independent",
20
20
  ]
21
21
  dependencies = [
22
- "astropy==5.2.2",
22
+ "astropy==6.0.1",
23
23
  "astroquery==0.4.7",
24
- "bokeh==3.1.1",
25
- "cmasher==1.6.3",
24
+ "bokeh==3.4.1",
25
+ "cmasher==1.8.0",
26
+ "matplotlib==3.8.4",
26
27
  "importlib_resources==6.4.0",
27
- "matplotlib==3.7.5",
28
- "numba==0.58.1",
29
- "numpy==1.24.4",
30
- "pandas==2.0.3",
31
- "Pillow==10.2.0",
32
- "PyQt5==5.15.10",
33
- "PyQt5_sip==12.13.0",
28
+ "numpy==1.26.4",
29
+ "pandas==2.2.2",
34
30
  "Requests==2.31.0",
35
- "scikit_learn==1.3.2",
36
- "scipy==1.10.1",
37
- "selenium==4.17.2"
31
+ "selenium==4.17.2",
32
+ "beautifulsoup4==4.12.3",
33
+ "scipy==1.13.0",
38
34
  ]
39
35
 
40
36
  [project.urls]
@@ -6,7 +6,6 @@ from io import BytesIO
6
6
  import pandas as pd
7
7
  import warnings
8
8
  import xml.etree.ElementTree as ET
9
- import itertools
10
9
 
11
10
  from ..Misc.ProperMotionCorrection import PMCorrection
12
11
 
@@ -1,11 +1,7 @@
1
- from tkinter import W
2
1
  from astropy.table import Table
3
2
  from astropy.io import fits
4
- import astropy
5
3
  from astropy.visualization import PercentileInterval, AsinhStretch
6
4
  from astropy.wcs import WCS
7
- import PIL
8
- from PIL import Image
9
5
  from io import BytesIO
10
6
  import numpy as np
11
7
  import requests
@@ -34,7 +30,7 @@ def get_image_dict(survey,source=None,pos=None,location=None,size=30,band='g'):
34
30
  url_size=size*4
35
31
  service='https://ps1images.stsci.edu/cgi-bin/ps1filenames.py'
36
32
  url=f'{service}?ra={ra}&dec={dec}&band={band}'
37
-
33
+
38
34
  # get table of returned image filenames
39
35
  try:
40
36
  table=Table.read(url, format='ascii')
@@ -89,9 +85,14 @@ def get_image_dict(survey,source=None,pos=None,location=None,size=30,band='g'):
89
85
  urlMain=f'{service}?ra={ra}&d={dec}&v=3&e=J2000&f=fits&h={url_size}&w={url_size}'
90
86
 
91
87
  # send request using the URL returned for the selected survey
92
- r=requests.get(urlMain,timeout=15)
88
+ try:
89
+ r=requests.get(urlMain,timeout=15)
90
+ except:
91
+ print(f'Note: Experiencing issues with {survey}.')
92
+ return failed_search()
93
93
  if r.status_code!=200:
94
94
  print(f'Note: Experiencing issues with {survey}.')
95
+ return failed_search()
95
96
 
96
97
  try:
97
98
  fh=fits.open(BytesIO(r.content))
@@ -1,4 +1,3 @@
1
- import pandas as pd
2
1
  import math
3
2
 
4
3
  from ..Misc.ProperMotionCorrection import PMCorrection
@@ -1,4 +1,3 @@
1
- from re import S
2
1
  import astropy.units as u
3
2
  import numpy as np
4
3
  import pandas as pd
@@ -1,6 +1,5 @@
1
1
  from bokeh.plotting import figure
2
2
  from bokeh.models import Label, Range1d
3
- import bokeh
4
3
 
5
4
  def get_grid(dimensions,plots,grid_size=250):
6
5
  # Calculates the area occupied by the input plots (i.e. just normalized by /grid_size)
@@ -1,5 +1,4 @@
1
1
  from bokeh.models import ColumnDataSource,DataTable,TableColumn
2
- import pandas as pd
3
2
 
4
3
  from ..Tools import query
5
4
  from ..Data.data import get_survey_list
@@ -1,9 +1,9 @@
1
- from AstroToolkit.Tools import query,plot,getbuttons,gridsetup,getmdtable,showplot
1
+ from AstroToolkit.Tools import query,plot,getbuttons,gridsetup,getmdtable,showplot,export
2
2
  from bokeh.layouts import column,row,layout
3
3
  from bokeh.plotting import output_file
4
+ import chromedriver_binary
4
5
 
5
6
  # source = Hu Leo
6
- #source=2552928187080872832
7
7
  source=587316166180416640
8
8
 
9
9
  # set grid size (scales overally size of datapage)
@@ -31,9 +31,6 @@ lightcurve_data=query(type='lightcurve',survey='ztf',source=source)
31
31
  # plot each lightcurve in lightcurve_data and set colour of each plot
32
32
  lightcurves=plot(lightcurve_data,colours=['green','red','blue'])
33
33
 
34
- # plot power spectrum data (lightcurve_data)
35
- power_spectrum=plot(lightcurve_data,type='powspec',)
36
-
37
34
  # get SIMBAD and Vizier buttons
38
35
  buttons=getbuttons(grid_size=grid_size,source=source)
39
36
 
@@ -54,18 +51,18 @@ grid_plots=gridsetup(dimensions={'width':6,'height':5},plots=[{'name':'image','f
54
51
  {'name':'sed','figure':sed,'width':2,'height':1},
55
52
  {'name':'lightcurves','figure':lightcurves,'width':2,'height':1},
56
53
  {'name':'buttons','figure':buttons,'width':1,'height':1},
57
- {'name':'spectrum','figure':spectrum,'width':3,'height':1},
58
- {'name':'powspec','figure':power_spectrum,'width':2,'height':1},
54
+ {'name':'spectrum','figure':spectrum,'width':5,'height':1},
59
55
  {'name':'metadata_table','figure':metadata,'width':6,'height':2}],
60
56
  grid_size=grid_size)
61
57
 
62
58
  # set up the final grid
63
59
  datapage=layout(column(
64
60
  row(grid_plots['image'],grid_plots['hrd'],column(grid_plots['sed'],grid_plots['lightcurves'])),
65
- row(grid_plots['buttons'],grid_plots['spectrum'],grid_plots['powspec']),
61
+ row(grid_plots['buttons'],grid_plots['spectrum']),
66
62
  row(grid_plots['metadata_table'])
67
63
  ))
68
64
 
69
65
  output_file(f'{source}_datapage.html')
70
66
 
71
- showplot(datapage)
67
+ showplot(datapage)
68
+ export(datapage)
@@ -1,4 +1,3 @@
1
- from calendar import c
2
1
  import math
3
2
 
4
3
  '''
@@ -1,11 +1,9 @@
1
1
  from astropy.table import Table
2
- import matplotlib.pyplot as plt
3
2
  import numpy as np
4
3
  from scipy import stats
5
4
  import math
6
5
  import cmasher as cmr
7
6
  from bokeh.plotting import figure
8
- import os
9
7
  from importlib_resources import files
10
8
  from bokeh.models import CustomJS
11
9
  from bokeh import events
@@ -1,7 +1,6 @@
1
1
  from bokeh.models import Range1d, CustomJS
2
- import astropy
3
2
  import numpy as np
4
- from bokeh.plotting import figure, output_file
3
+ from bokeh.plotting import figure
5
4
  from bokeh import events
6
5
 
7
6
  def plot_image(image_dict):
@@ -1,7 +1,7 @@
1
1
  import matplotlib
2
2
  import numpy as np
3
3
  from bokeh.plotting import figure
4
- from bokeh.models import Whisker, ColumnDataSource
4
+ from bokeh.models import ColumnDataSource
5
5
  from bokeh.transform import linear_cmap
6
6
  from bokeh.models import CustomJS
7
7
  from bokeh import events
@@ -108,7 +108,7 @@ def plot_lightcurve(data,colour,colours):
108
108
  mapper=linear_cmap(field_name='mag',palette=palette,low=min(mag),high=max(mag))
109
109
 
110
110
  # plot points
111
- plot.circle(x='time',y='mag',source=source,color=mapper,legend_label=f"{data_dict['survey']} {data_dict['band']}")
111
+ plot.scatter(x='time',y='mag',source=source,color=mapper,marker='circle',legend_label=f"{data_dict['survey']} {data_dict['band']}")
112
112
 
113
113
  # plot error bars
114
114
  err_xs=[]
@@ -1,5 +1,5 @@
1
1
  from bokeh.plotting import figure
2
- from bokeh.models import Whisker, ColumnDataSource, CustomJS, PrintfTickFormatter
2
+ from bokeh.models import CustomJS, PrintfTickFormatter
3
3
  from bokeh import events
4
4
  import math
5
5
 
@@ -47,9 +47,9 @@ def plot_sed(sed_data):
47
47
  # plot data
48
48
  for i,v in enumerate(x_arr):
49
49
  if not math.isnan(err_arr[i]):
50
- plot.circle(x=x_arr[i],y=y_arr[i],color=colour_arr[current_survey_index],legend_label=f'{survey}')
50
+ plot.scatter(x=x_arr[i],y=y_arr[i],color=colour_arr[current_survey_index],marker='circle',legend_label=f'{survey}')
51
51
  else:
52
- plot.cross(x=x_arr[i],y=y_arr[i],color=colour_arr[current_survey_index],legend_label=f'{survey} (Upper Limit)',size=7.5)
52
+ plot.scatter(x=x_arr[i],y=y_arr[i],color=colour_arr[current_survey_index],marker='cross',legend_label=f'{survey} (Upper Limit)',size=7.5)
53
53
 
54
54
  # plot errors
55
55
  plot.multi_line(err_xs,err_ys,color=colour_arr[current_survey_index],legend_label=f'{survey}',level='underlay',line_width=0.5,line_cap='square')
@@ -1,10 +1,8 @@
1
- import pandas as pd
2
1
  from bokeh.plotting import figure
3
2
  from bokeh.models import Span, CheckboxGroup, CustomJS, Label, Range1d
4
- from bokeh.layouts import row,column
3
+ from bokeh.layouts import row
5
4
  from bokeh.models import PrintfTickFormatter
6
5
  from bokeh import events
7
- import math
8
6
 
9
7
  def get_plot(spectrum_dict):
10
8
  if spectrum_dict['data']==None:
@@ -12,6 +12,8 @@ Changelog:
12
12
  '''
13
13
  To-Do:
14
14
  HIGH PRIORITY
15
+ - look into plotly
16
+ - astropy readfits warnings
15
17
  - Better scaling for detection overlay sizes
16
18
  - check config for if all keys are present, if not then make a new config file with existing key:value pairs saved
17
19
  - talk to boris about combining lightcurves
@@ -47,6 +49,41 @@ newline='\n'
47
49
 
48
50
  config_file=files('AstroToolkit.Settings').joinpath('config.ini')
49
51
 
52
+ # Read config file
53
+ def readconfig():
54
+ Config=configparser.ConfigParser()
55
+ Config.read(config_file)
56
+
57
+ settings=Config['settings']
58
+ for key in settings:
59
+ if settings[key]=='True':
60
+ settings[key]='1'
61
+ elif settings[key]=='False':
62
+ settings[key]='0'
63
+
64
+ config={}
65
+
66
+ # set up dictionary with key:value pairs of the config file
67
+ config['ENABLE_NOTIFICATIONS']=int(settings['enable_notifications'])
68
+ config['DATAQUERY_RADIUS']=float(settings['dataquery_radius'])
69
+ config['PHOTQUERY_RADIUS']=float(settings['photquery_radius'])
70
+ config['BULKPHOTQUERY_RADIUS']=float(settings['bulkphotquery_radius'])
71
+ config['IMAGEQUERY_SIZE']=float(settings['imagequery_size'])
72
+ config['IMAGEQUERY_OVERLAYS']=str(settings['imagequery_overlays'])
73
+ config['LIGHTCURVEQUERY_RADIUS']=float(settings['lightcurvequery_radius'])
74
+ config['ATLAS_USERNAME']=str(settings['atlas_username'])
75
+ config['ATLAS_PASSWORD']=str(settings['atlas_password'])
76
+ config['SED_RADIUS']=float(settings['sed_radius'])
77
+ config['SPECTRUM_RADIUS']=float(settings['spectrum_radius'])
78
+ config['GRID_SIZE']=int(settings['grid_size'])
79
+ config['SIMBAD_RADIUS']=int(settings['button_simbad_radius'])
80
+ config['VIZIER_RADIUS']=int(settings['button_vizier_radius'])
81
+ config['PLOT_SIZE']=int(settings['plot_size'])
82
+ config['READFITS_SOURCENAME']=str(settings['readfits_sourcename'])
83
+ config['READFITS_COORDNAMES']=str(settings['readfits_coordnames']).split(',')
84
+
85
+ return config
86
+
50
87
  # Create default config file if the file doesn't already exist (i.e. when the package is first installed)
51
88
  # This handles all default parameters unless they are passed to a tool by the user, in which case these are overwritten
52
89
  if not os.path.isfile(config_file):
@@ -73,6 +110,8 @@ if not os.path.isfile(config_file):
73
110
 
74
111
  with open(config_file,'w') as configfile:
75
112
  config.write(configfile)
113
+ else:
114
+ existing_values=readconfig()
76
115
 
77
116
  # allows user to edit the config file
78
117
  def editconfig(options):
@@ -90,41 +129,6 @@ def editconfig(options):
90
129
 
91
130
  with open(config_file,'w') as configfile:
92
131
  edit.write(configfile)
93
-
94
- # Read config file
95
- def readconfig():
96
- Config=configparser.ConfigParser()
97
- Config.read(config_file)
98
-
99
- settings=Config['settings']
100
- for key in settings:
101
- if settings[key]=='True':
102
- settings[key]='1'
103
- elif settings[key]=='False':
104
- settings[key]='0'
105
-
106
- config={}
107
-
108
- # set up dictionary with key:value pairs of the config file
109
- config['ENABLE_NOTIFICATIONS']=int(settings['enable_notifications'])
110
- config['DATAQUERY_RADIUS']=float(settings['dataquery_radius'])
111
- config['PHOTQUERY_RADIUS']=float(settings['photquery_radius'])
112
- config['BULKPHOTQUERY_RADIUS']=float(settings['bulkphotquery_radius'])
113
- config['IMAGEQUERY_SIZE']=float(settings['imagequery_size'])
114
- config['IMAGEQUERY_OVERLAYS']=str(settings['imagequery_overlays'])
115
- config['LIGHTCURVEQUERY_RADIUS']=float(settings['lightcurvequery_radius'])
116
- config['ATLAS_USERNAME']=str(settings['atlas_username'])
117
- config['ATLAS_PASSWORD']=str(settings['atlas_password'])
118
- config['SED_RADIUS']=float(settings['sed_radius'])
119
- config['SPECTRUM_RADIUS']=float(settings['spectrum_radius'])
120
- config['GRID_SIZE']=int(settings['grid_size'])
121
- config['SIMBAD_RADIUS']=int(settings['button_simbad_radius'])
122
- config['VIZIER_RADIUS']=int(settings['button_vizier_radius'])
123
- config['PLOT_SIZE']=int(settings['plot_size'])
124
- config['READFITS_SOURCENAME']=str(settings['readfits_sourcename'])
125
- config['READFITS_COORDNAMES']=str(settings['readfits_coordnames']).split(',')
126
-
127
- return config
128
132
 
129
133
  # prints the current value of a given config parameter to the terminal, and returns it
130
134
  def getconfigvalue(parameter):
@@ -451,7 +455,7 @@ def query(type,survey=None,source=None,pos=None,radius=None,size=None,overlays='
451
455
  def plot(data,type=None,colour='black',colours=None):
452
456
  config=readconfig()
453
457
 
454
- accepted_types=['image','lightcurve','sed','spectra','powspec','hrd']
458
+ accepted_types=['image','lightcurve','sed','spectra','hrd']
455
459
 
456
460
  if colour!='black':
457
461
  print('Note: argument "colour" only has an effect in lightcurve plotting.')
@@ -605,40 +609,6 @@ def plot(data,type=None,colour='black',colours=None):
605
609
 
606
610
  return plot_dict
607
611
 
608
-
609
- elif type=='powspec':
610
- import copy
611
-
612
- from .Plotting.powspec import get_plot
613
-
614
- # stops data from being flattened by the powspec plotting
615
- data_copy=copy.deepcopy(data)
616
-
617
- plot=get_plot(dataset=data_copy)
618
-
619
- if plot!=None:
620
- # name file
621
- filename=name_file(data=data,data_type='ATKpowspec')
622
- output_file(filename)
623
-
624
- # set size of file according to defaults in config
625
- plot.width,plot.height=config['PLOT_SIZE']*2,config['PLOT_SIZE']
626
- else:
627
- filename=None
628
-
629
- plot_dict={'type':'powspec'}
630
- for i,val in enumerate(data):
631
- if val!=None:
632
- plot_dict['survey']=val['survey']
633
- plot_dict['source']=val['source']
634
- plot_dict['pos']=val['pos']
635
-
636
- plot_dict['plot']=plot
637
- plot_dict['ATKfilename']=filename
638
-
639
- return plot_dict
640
-
641
-
642
612
  elif type=='hrd':
643
613
  from .Plotting.HRD import get_plot
644
614
 
@@ -658,20 +628,6 @@ def plot(data,type=None,colour='black',colours=None):
658
628
 
659
629
  return plot_dict
660
630
 
661
- # Timeseries --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
662
-
663
- def tsanalysis(data):
664
- config=readconfig()
665
-
666
- # enables notifications of currently running tool if enabled in config
667
- if config['ENABLE_NOTIFICATIONS']==1:
668
- print(f'Running time series analysis...{newline}')
669
-
670
- from .Timeseries.ztfanalysis import get_analysis
671
-
672
- # load timeseries analysis tool
673
- get_analysis(dataset=data)
674
-
675
631
  # Data Pages --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
676
632
 
677
633
  def gridsetup(dimensions,plots,grid_size=None):
@@ -1,31 +1,27 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: AstroToolkit
3
- Version: 1.4.0
3
+ Version: 1.4.1
4
4
  Summary: A package for the gathering and plotting of astronomical data.
5
5
  Author-email: Ethan Moorfield <ethan.moorfield@hotmail.co.uk>
6
6
  Project-URL: Homepage, https://github.com/WD-planets/AstroToolkit
7
7
  Project-URL: Issues, https://github.com/WD-planets/AstroToolkit/issues
8
8
  Classifier: Programming Language :: Python :: 3
9
9
  Classifier: Operating System :: OS Independent
10
- Requires-Python: >=3.7
10
+ Requires-Python: >=3.12
11
11
  Description-Content-Type: text/markdown
12
12
  License-File: LICENSE
13
- Requires-Dist: astropy==5.2.2
13
+ Requires-Dist: astropy==6.0.1
14
14
  Requires-Dist: astroquery==0.4.7
15
- Requires-Dist: bokeh==3.1.1
16
- Requires-Dist: cmasher==1.6.3
15
+ Requires-Dist: bokeh==3.4.1
16
+ Requires-Dist: cmasher==1.8.0
17
+ Requires-Dist: matplotlib==3.8.4
17
18
  Requires-Dist: importlib_resources==6.4.0
18
- Requires-Dist: matplotlib==3.7.5
19
- Requires-Dist: numba==0.58.1
20
- Requires-Dist: numpy==1.24.4
21
- Requires-Dist: pandas==2.0.3
22
- Requires-Dist: Pillow==10.2.0
23
- Requires-Dist: PyQt5==5.15.10
24
- Requires-Dist: PyQt5_sip==12.13.0
19
+ Requires-Dist: numpy==1.26.4
20
+ Requires-Dist: pandas==2.2.2
25
21
  Requires-Dist: Requests==2.31.0
26
- Requires-Dist: scikit_learn==1.3.2
27
- Requires-Dist: scipy==1.10.1
28
22
  Requires-Dist: selenium==4.17.2
23
+ Requires-Dist: beautifulsoup4==4.12.3
24
+ Requires-Dist: scipy==1.13.0
29
25
 
30
26
  # AstroToolkit
31
27
 
@@ -600,7 +596,7 @@ data = list/dict data in structure returned by the query tool
600
596
 
601
597
  <br>
602
598
 
603
- **Supported plot types:** image, lightcurve, sed, spectra, powspec, hrd
599
+ **Supported plot types:** image, lightcurve, sed, spectra, hrd
604
600
 
605
601
  <br>
606
602
 
@@ -620,10 +616,6 @@ Below is an outline of the usage and output of each plot type. Note that additon
620
616
 
621
617
  [HRD Plotting](#25-hrd-plotting)
622
618
 
623
- [Power Spectra Plotting](#26-power-spectra-plotting)
624
-
625
- <br>
626
-
627
619
  ### 2.1 Image Plotting<a id="21-image-plotting"></a>
628
620
 
629
621
  Type argument: 'image'
@@ -750,49 +742,6 @@ Description: Plots Gaia HRD data in the format returned by [hrd queries](#19-hrd
750
742
 
751
743
  <br><br>
752
744
 
753
- ### 2.6 Power Spectra Plotting<a id="26-power-spectra-plotting"></a>
754
-
755
- Type argument: 'powspec'
756
-
757
- Description: Plots power spectra from lightcurve data in the format returned by [lightcurve queries](#16-lightcurve-query).
758
-
759
- <br>
760
-
761
- **Returns:** dict
762
-
763
- ```
764
- {
765
- 'type' : 'powspec'
766
- 'survey' : str, survey of lightcurve data given to the powspec tool
767
- 'source' : int/str, source used to get data (None if a pos was used)
768
- 'pos': [ra,dec], pos used to get data (None if a source was used)
769
- 'plot' : bokeh figure object, the actual plot
770
- 'ATKfilename' : the default filename given by ATK
771
- }
772
- ```
773
-
774
- <br><br>
775
-
776
- ### 2.7 Timeseries Analysis<a id="27-timeseries-analysis"></a>
777
-
778
- Description: Not explicitly a plotting function, but included here for completeness. Runs period analysis on lightcurve data in format returned by [lightcurve queries](#16-lightcurve-query).
779
-
780
- <br>
781
-
782
- **Usage:**
783
-
784
- ```
785
- tsanalysis(data)
786
- ```
787
-
788
- where:
789
-
790
- ```
791
- data = dict or list in format returned by lightcurve queries
792
- ```
793
-
794
- <br><br>
795
-
796
745
  ## 3. Datapage Tools<a id="3-datapage-tools"></a>
797
746
 
798
747
  These functions are used to create custom datapages from any plots/data supported by AstroToolkit.
@@ -1438,21 +1387,7 @@ showplot(plot)
1438
1387
 
1439
1388
  <br><br>
1440
1389
 
1441
- ### Example 6: Fetching ZTF ligthcurve data, and then plotting it as a power spectrum
1442
-
1443
- ```
1444
- from AstroToolkit.Tools import lightcurvequery,plotpowspec,showplot
1445
-
1446
- data=lightcurvequery(survey='ztf',source=6050296829033196032)
1447
- plot=plotpowspec(data)
1448
- showplot(plot)
1449
- ```
1450
-
1451
- ![](https://github.com/WD-planets/AstroToolkit/raw/latest/README_Images/powspec_example.png?raw=true)
1452
-
1453
- <br><br>
1454
-
1455
- ### Example 7: Fetching Gaia parallax and WISE data
1390
+ ### Example 6: Fetching Gaia parallax and WISE data
1456
1391
 
1457
1392
  ```
1458
1393
  from AstroToolkit.Tools import query
@@ -1463,7 +1398,7 @@ parallax = query(type='data',survey='gaia',source=source)['data']['parallax']
1463
1398
  wise_data = query(type='data',survey='wise',source=source)['data']
1464
1399
  ```
1465
1400
 
1466
- ### Example 8: Fetching 2MASS photometry for an object
1401
+ ### Example 7: Fetching 2MASS photometry for an object
1467
1402
 
1468
1403
  ```
1469
1404
  from AstroToolkit.Tools import query
@@ -1471,7 +1406,7 @@ from AstroToolkit.Tools import query
1471
1406
  data=query(type='phot',survey='twomass',source=6050296829033196032)['data']
1472
1407
  ```
1473
1408
 
1474
- ### Example 9: Fetching photometry from all available surveys using a bulk photometry query
1409
+ ### Example 8: Fetching photometry from all available surveys using a bulk photometry query
1475
1410
 
1476
1411
  ```
1477
1412
  from AstroToolkit.Tools import query
@@ -1484,20 +1419,8 @@ galex_data=bulk_phot['galex']
1484
1419
 
1485
1420
  <br><br>
1486
1421
 
1487
- ### Example 10: Fetching ZTF lightcurve data, and performing timeseries analysis
1488
-
1489
- ```
1490
- from AstroToolkit.Tools import query,tsanalysis
1491
-
1492
- data=query(type='lightcurve',survey='ztf',source=6050296829033196032)
1493
- plot=tsanalysis(data)
1494
- ```
1495
-
1496
- ![](https://github.com/WD-planets/AstroToolkit/raw/latest/README_Images/tsanalysis_example.png?raw=true)
1497
-
1498
- <br><br>
1499
1422
 
1500
- ### Example 11: Proper motion correction
1423
+ ### Example 9: Proper motion correction
1501
1424
 
1502
1425
  ```
1503
1426
  from AstroToolkit.Tools import query,correctpm
@@ -39,7 +39,7 @@ src/AstroToolkit/Settings/__init__.py
39
39
  src/AstroToolkit/Timeseries/README - Windows.txt
40
40
  src/AstroToolkit/Timeseries/README.txt
41
41
  src/AstroToolkit/Timeseries/__init__.py
42
- src/AstroToolkit/Timeseries/aov.cp38-win_amd64.pyd
42
+ src/AstroToolkit/Timeseries/aov.cp311-win_amd64.pyd
43
43
  src/AstroToolkit/Timeseries/aov.f90
44
44
  src/AstroToolkit/Timeseries/aovconst.f90
45
45
  src/AstroToolkit/Timeseries/aovsub.f90
@@ -0,0 +1,12 @@
1
+ astropy==6.0.1
2
+ astroquery==0.4.7
3
+ bokeh==3.4.1
4
+ cmasher==1.8.0
5
+ matplotlib==3.8.4
6
+ importlib_resources==6.4.0
7
+ numpy==1.26.4
8
+ pandas==2.2.2
9
+ Requests==2.31.0
10
+ selenium==4.17.2
11
+ beautifulsoup4==4.12.3
12
+ scipy==1.13.0
@@ -1,16 +0,0 @@
1
- astropy==5.2.2
2
- astroquery==0.4.7
3
- bokeh==3.1.1
4
- cmasher==1.6.3
5
- importlib_resources==6.4.0
6
- matplotlib==3.7.5
7
- numba==0.58.1
8
- numpy==1.24.4
9
- pandas==2.0.3
10
- Pillow==10.2.0
11
- PyQt5==5.15.10
12
- PyQt5_sip==12.13.0
13
- Requests==2.31.0
14
- scikit_learn==1.3.2
15
- scipy==1.10.1
16
- selenium==4.17.2
File without changes
File without changes
File without changes