AstroToolkit 1.5.4__tar.gz → 1.6.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 (94) hide show
  1. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/MANIFEST.in +6 -6
  2. astrotoolkit-1.6.1/PKG-INFO +66 -0
  3. astrotoolkit-1.6.1/README.md +38 -0
  4. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/pyproject.toml +48 -41
  5. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/setup.cfg +4 -4
  6. astrotoolkit-1.6.1/src/AstroToolkit/Config.py +74 -0
  7. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit/Configuration/baseconfig.py +174 -174
  8. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit/Data/bin_lightcurves.py +110 -113
  9. astrotoolkit-1.6.1/src/AstroToolkit/Data/crop_lightcurves.py +110 -0
  10. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit/Data/data_printing.py +110 -110
  11. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit/Data/data_saving.py +28 -18
  12. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit/Data/dataquery.py +625 -570
  13. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit/Data/fetch_crts.py +112 -113
  14. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit/Data/fetch_tess.py +75 -75
  15. astrotoolkit-1.6.1/src/AstroToolkit/Data/hrdquery.py +172 -0
  16. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit/Data/imageoverlay.py +279 -279
  17. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit/Data/imagequery.py +416 -289
  18. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit/Data/lightcurvequery.py +1082 -820
  19. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit/Data/photquery.py +181 -181
  20. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit/Data/reddeningquery.py +319 -319
  21. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit/Data/rename_headers.py +237 -237
  22. astrotoolkit-1.6.1/src/AstroToolkit/Data/sedquery.py +225 -0
  23. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit/Data/sigmaclip.py +112 -112
  24. astrotoolkit-1.6.1/src/AstroToolkit/Data/spectrumquery.py +184 -0
  25. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit/DatapageElements/datapage_buttons.py +70 -70
  26. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit/DatapageElements/metadata_table.py +121 -121
  27. astrotoolkit-1.6.1/src/AstroToolkit/Datapages.py +211 -0
  28. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit/Examples/datapage.py +81 -81
  29. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit/Examples/hrd.py +10 -10
  30. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit/Examples/image.py +47 -47
  31. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit/Examples/lightcurve.py +13 -13
  32. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit/Examples/localfiles.py +13 -13
  33. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit/Examples/pyaov.py +4 -4
  34. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit/Examples/sed.py +10 -10
  35. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit/Examples/spectrum.py +8 -8
  36. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit/Examples/timeseries.py +16 -16
  37. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit/FileHandling/file_naming.py +42 -26
  38. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit/FileHandling/file_reading.py +352 -373
  39. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit/FileHandling/file_writing.py +211 -218
  40. astrotoolkit-1.6.1/src/AstroToolkit/Gui.py +1000 -0
  41. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit/Input/input_validation.py +679 -679
  42. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit/Misc/coordinate_conversions.py +23 -23
  43. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit/Misc/fitsfiles.py +34 -34
  44. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit/Misc/gridsetup.py +95 -95
  45. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit/Misc/identifier_generation.py +55 -55
  46. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit/Misc/pmcorrection.py +174 -174
  47. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit/Misc/search.py +59 -59
  48. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit/Models.py +121 -59
  49. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit/Plotting/hrdplotting.py +124 -124
  50. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit/Plotting/imageplotting.py +122 -122
  51. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit/Plotting/lightcurveplotting.py +191 -185
  52. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit/Plotting/plotmap.py +223 -184
  53. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit/Plotting/sedplotting.py +114 -109
  54. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit/Plotting/spectrumplotting.py +132 -132
  55. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit/Setup.py +162 -128
  56. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit/Timeseries/lomb_scargle.py +243 -179
  57. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit/Timeseries/pyaov/aovwrapper.f90 +221 -221
  58. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit/Timeseries/pyaov/buildwin.bat +24 -24
  59. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit/Timeseries/pyaov/pyaov_interface.py +996 -958
  60. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit/Timeseries/timeseries_formatting.py +41 -31
  61. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit/Tools.py +700 -403
  62. astrotoolkit-1.6.1/src/AstroToolkit.egg-info/PKG-INFO +66 -0
  63. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit.egg-info/SOURCES.txt +8 -3
  64. astrotoolkit-1.6.1/src/AstroToolkit.egg-info/entry_points.txt +6 -0
  65. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit.egg-info/top_level.txt +1 -0
  66. astrotoolkit-1.6.1/src/bin/atkquery_command.py +156 -0
  67. astrotoolkit-1.6.1/src/bin/atkread_command.py +26 -0
  68. astrotoolkit-1.6.1/src/bin/opengui_command.py +5 -0
  69. astrotoolkit-1.6.1/src/bin/tsbuild_command.py +5 -0
  70. astrotoolkit-1.6.1/src/bin/tsguide_command.py +5 -0
  71. astrotoolkit-1.5.4/PKG-INFO +0 -2672
  72. astrotoolkit-1.5.4/README.md +0 -2644
  73. astrotoolkit-1.5.4/src/AstroToolkit/Config.py +0 -33
  74. astrotoolkit-1.5.4/src/AstroToolkit/Data/crop_lightcurves.py +0 -2
  75. astrotoolkit-1.5.4/src/AstroToolkit/Data/hrdquery.py +0 -64
  76. astrotoolkit-1.5.4/src/AstroToolkit/Data/sedquery.py +0 -112
  77. astrotoolkit-1.5.4/src/AstroToolkit/Data/spectrumquery.py +0 -75
  78. astrotoolkit-1.5.4/src/AstroToolkit/Datapages.py +0 -73
  79. astrotoolkit-1.5.4/src/AstroToolkit/Timeseries/pyaov/aov test.f90 +0 -889
  80. astrotoolkit-1.5.4/src/AstroToolkit/Timeseries/pyaov/aovwrapper +0 -0
  81. astrotoolkit-1.5.4/src/AstroToolkit.egg-info/PKG-INFO +0 -2672
  82. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/LICENSE +0 -0
  83. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit/Plotting/backdrop_hrd_allmags.fits +0 -0
  84. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit/Timeseries/pyaov/README/Linux_README.txt +0 -0
  85. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit/Timeseries/pyaov/README/Windows_README.txt +0 -0
  86. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit/Timeseries/pyaov/README/aov_README.pdf +0 -0
  87. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit/Timeseries/pyaov/aov.f90 +0 -0
  88. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit/Timeseries/pyaov/aovconst.f90 +0 -0
  89. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit/Timeseries/pyaov/aovgui.py +0 -0
  90. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit/Timeseries/pyaov/aovsub.f90 +0 -0
  91. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit/Timeseries/pyaov/build.sh +0 -0
  92. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit/Timeseries/pyaov/pyaov.py +0 -0
  93. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit.egg-info/dependency_links.txt +0 -0
  94. {astrotoolkit-1.5.4 → astrotoolkit-1.6.1}/src/AstroToolkit.egg-info/requires.txt +0 -0
@@ -1,7 +1,7 @@
1
- include src/AstroToolkit/Timeseries/pyaov/*.f90
2
- include src/AstroToolkit/Timeseries/pyaov/*.bat
3
- include src/AstroToolkit/Timeseries/pyaov/*.sh
4
- include src/AstroToolkit/Timeseries/pyaov/aovwrapper
5
- include src/AstroToolkit/Timeseries/pyaov/README/*.pdf
6
- include src/AstroToolkit/Timeseries/pyaov/README/*.txt
1
+ include src/AstroToolkit/Timeseries/pyaov/*.f90
2
+ include src/AstroToolkit/Timeseries/pyaov/*.bat
3
+ include src/AstroToolkit/Timeseries/pyaov/*.sh
4
+ include src/AstroToolkit/Timeseries/pyaov/aovwrapper
5
+ include src/AstroToolkit/Timeseries/pyaov/README/*.pdf
6
+ include src/AstroToolkit/Timeseries/pyaov/README/*.txt
7
7
  include src/AstroToolkit/Plotting/*.fits
@@ -0,0 +1,66 @@
1
+ Metadata-Version: 2.1
2
+ Name: AstroToolkit
3
+ Version: 1.6.1
4
+ Summary: A package for the gathering, plotting and analysis 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.11
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: beautifulsoup4==4.12.3
23
+ Requires-Dist: scipy==1.13.0
24
+ Requires-Dist: selenium==4.21.0
25
+ Requires-Dist: lightkurve==2.4.2
26
+ Requires-Dist: PyQt5==5.15.10
27
+ Requires-Dist: numba==0.60.0
28
+
29
+ AstroToolkit
30
+ ============
31
+
32
+ AstroToolkit (ATK) is a set of tools for fetching, plotting, and analysing astronomical data.
33
+
34
+ <br>
35
+
36
+ Features
37
+ --------
38
+
39
+ * A GUI through which most of the package can be utilised
40
+ * Command-line integration
41
+ * Scripting integration for greater control
42
+ * Proper motion correction through Gaia, utilised across the entire package
43
+ * Light curve, spectral energy distribution, spectrum and image queries from a wide range of surveys
44
+ * Gaia HRD queries for any Gaia sources
45
+ * In-built interactive plotting support for all of the above as shareable .html pages that retain all interactivity
46
+ * Data queries from any [Vizier](https://vizier.cds.unistra.fr/) survey, with many commonly used surveys built-in
47
+ * Reddening queries from [Stilism](https://stilism.obspm.fr/) and [GDRE](https://irsa.ipac.caltech.edu/applications/DUST/)
48
+ * Data analysis tools:
49
+ * Timeseries analysis using a variety of methods (Lomb-Scargle, AOVMHW, ...)
50
+ * Light curve binning, clipping, phase folding and sigma-clipping
51
+ * Image detection and tracer overlays
52
+ * Spectral band highlighting
53
+ * SED-spectrum overlays
54
+ * Data quality filtering (optional)
55
+ * Lossless saving and reading of any ATK data structures to / from local files
56
+ * Datapage creation, allowing the combination of any of the above into a single page with additional elements specifically designed for this purpose
57
+ * No hard coded parameters - built-in configuration support allows the user to personalise the package to their specific needs.
58
+ * All data structures are available to the user, allowing them to use all ATK routines on non-ATK data
59
+ * Other quality-of-life tools, such as coordinate conversions, .fits file reading and [Vizier](https://vizier.cds.unistra.fr/) / [SIMBAD](https://simbad.u-strasbg.fr/simbad/) searches
60
+
61
+ <br>
62
+
63
+ Documentation
64
+ -------------
65
+
66
+ Full documentation for the package can be found [here](https://astrotoolkit.readthedocs.io/en/latest/).
@@ -0,0 +1,38 @@
1
+ AstroToolkit
2
+ ============
3
+
4
+ AstroToolkit (ATK) is a set of tools for fetching, plotting, and analysing astronomical data.
5
+
6
+ <br>
7
+
8
+ Features
9
+ --------
10
+
11
+ * A GUI through which most of the package can be utilised
12
+ * Command-line integration
13
+ * Scripting integration for greater control
14
+ * Proper motion correction through Gaia, utilised across the entire package
15
+ * Light curve, spectral energy distribution, spectrum and image queries from a wide range of surveys
16
+ * Gaia HRD queries for any Gaia sources
17
+ * In-built interactive plotting support for all of the above as shareable .html pages that retain all interactivity
18
+ * Data queries from any [Vizier](https://vizier.cds.unistra.fr/) survey, with many commonly used surveys built-in
19
+ * Reddening queries from [Stilism](https://stilism.obspm.fr/) and [GDRE](https://irsa.ipac.caltech.edu/applications/DUST/)
20
+ * Data analysis tools:
21
+ * Timeseries analysis using a variety of methods (Lomb-Scargle, AOVMHW, ...)
22
+ * Light curve binning, clipping, phase folding and sigma-clipping
23
+ * Image detection and tracer overlays
24
+ * Spectral band highlighting
25
+ * SED-spectrum overlays
26
+ * Data quality filtering (optional)
27
+ * Lossless saving and reading of any ATK data structures to / from local files
28
+ * Datapage creation, allowing the combination of any of the above into a single page with additional elements specifically designed for this purpose
29
+ * No hard coded parameters - built-in configuration support allows the user to personalise the package to their specific needs.
30
+ * All data structures are available to the user, allowing them to use all ATK routines on non-ATK data
31
+ * Other quality-of-life tools, such as coordinate conversions, .fits file reading and [Vizier](https://vizier.cds.unistra.fr/) / [SIMBAD](https://simbad.u-strasbg.fr/simbad/) searches
32
+
33
+ <br>
34
+
35
+ Documentation
36
+ -------------
37
+
38
+ Full documentation for the package can be found [here](https://astrotoolkit.readthedocs.io/en/latest/).
@@ -1,41 +1,48 @@
1
- [build-system]
2
- requires = ["setuptools"]
3
- build-backend = "setuptools.build_meta"
4
-
5
- [tool.setuptools]
6
- include-package-data = true
7
-
8
- [project]
9
- name = "AstroToolkit"
10
- version = "1.5.4"
11
- authors = [
12
- { name="Ethan Moorfield", email="ethan.moorfield@hotmail.co.uk"},
13
- ]
14
- description = "A package for the gathering and plotting of astronomical data."
15
- readme = "README.md"
16
- requires-python = ">=3.11"
17
- classifiers = [
18
- "Programming Language :: Python :: 3",
19
- "Operating System :: OS Independent",
20
- ]
21
- dependencies = [
22
- "astropy==6.0.1",
23
- "astroquery==0.4.7",
24
- "bokeh==3.4.1",
25
- "cmasher==1.8.0",
26
- "matplotlib==3.8.4",
27
- "importlib_resources==6.4.0",
28
- "numpy==1.26.4",
29
- "pandas==2.2.2",
30
- "Requests==2.31.0",
31
- "beautifulsoup4==4.12.3",
32
- "scipy==1.13.0",
33
- "selenium==4.21.0",
34
- "lightkurve==2.4.2",
35
- "PyQt5==5.15.10",
36
- "numba==0.60.0",
37
- ]
38
-
39
- [project.urls]
40
- Homepage = "https://github.com/WD-planets/AstroToolkit"
41
- Issues = "https://github.com/WD-planets/AstroToolkit/issues"
1
+ [build-system]
2
+ requires = ["setuptools"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [tool.setuptools]
6
+ include-package-data = true
7
+
8
+ [project]
9
+ name = "AstroToolkit"
10
+ version = "1.6.1"
11
+ authors = [
12
+ { name="Ethan Moorfield", email="ethan.moorfield@hotmail.co.uk"},
13
+ ]
14
+ description = "A package for the gathering, plotting and analysis of astronomical data."
15
+ readme = "README.md"
16
+ requires-python = ">=3.11"
17
+ classifiers = [
18
+ "Programming Language :: Python :: 3",
19
+ "Operating System :: OS Independent",
20
+ ]
21
+ dependencies = [
22
+ "astropy==6.0.1",
23
+ "astroquery==0.4.7",
24
+ "bokeh==3.4.1",
25
+ "cmasher==1.8.0",
26
+ "matplotlib==3.8.4",
27
+ "importlib_resources==6.4.0",
28
+ "numpy==1.26.4",
29
+ "pandas==2.2.2",
30
+ "Requests==2.31.0",
31
+ "beautifulsoup4==4.12.3",
32
+ "scipy==1.13.0",
33
+ "selenium==4.21.0",
34
+ "lightkurve==2.4.2",
35
+ "PyQt5==5.15.10",
36
+ "numba==0.60.0",
37
+ ]
38
+
39
+ [project.urls]
40
+ Homepage = "https://github.com/WD-planets/AstroToolkit"
41
+ Issues = "https://github.com/WD-planets/AstroToolkit/issues"
42
+
43
+ [project.scripts]
44
+ ATKgui = "bin.opengui_command:main"
45
+ ATKtsbuild = "bin.tsbuild_command:main"
46
+ ATKtsguide = "bin.tsguide_command:main"
47
+ ATKquery = "bin.atkquery_command:main"
48
+ ATKread = "bin.atkread_command:main"
@@ -1,4 +1,4 @@
1
- [egg_info]
2
- tag_build =
3
- tag_date = 0
4
-
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -0,0 +1,74 @@
1
+ """
2
+ Most defaults in ATK can be changed via a config file. This module allows for the configuration file to be viewed and edited.
3
+ """
4
+
5
+ from .Configuration.baseconfig import ConfigStruct
6
+
7
+ config = ConfigStruct()
8
+ config.read_config()
9
+
10
+
11
+ def editconfig(key, value):
12
+ """
13
+ Allows for config values to be edited. See :ref:`Config Keys` for a description of available keys.
14
+
15
+ :param str key: config key
16
+ :param str value: value to assign to this config key
17
+
18
+ :return: None
19
+
20
+ |
21
+
22
+ """
23
+ from .Input.input_validation import check_inputs
24
+
25
+ inputs = check_inputs({"key": key, "value": value}, "edit")
26
+ key, value = inputs["key"], inputs["value"]
27
+
28
+ print("Written change to ATKConfig.ini. New Values:\n")
29
+ config.edit_config(key, value)
30
+
31
+
32
+ def openconfig():
33
+ """
34
+ Opens the config in the default text editor. See :ref:`Config Keys` for a description of available keys.
35
+
36
+ :return: None
37
+
38
+ |
39
+
40
+ """
41
+ config = ConfigStruct()
42
+ path = config.config_file
43
+
44
+ import webbrowser
45
+
46
+ webbrowser.open(path)
47
+
48
+
49
+ def outputconfig():
50
+ """
51
+ Prints the current config file to stdout.
52
+
53
+ :return: None
54
+
55
+ |
56
+
57
+ """
58
+ print("Current ATKConfig.ini values:\n")
59
+ config.read_config()
60
+ config.output_config()
61
+
62
+
63
+ def resetconfig():
64
+ """
65
+ Resets the config to default values.
66
+
67
+ :return: None
68
+
69
+ |
70
+
71
+ """
72
+ print("Resetting ATKConfig.ini to default values...\n")
73
+ config.set_default_config()
74
+ config.write_config()
@@ -1,174 +1,174 @@
1
- import configparser
2
- import os
3
-
4
-
5
- class ConfigStruct(object):
6
- def __init__(self):
7
- from importlib_resources import files
8
-
9
- self.config_file = files("AstroToolkit.Configuration").joinpath("ATKConfig.ini")
10
- if not os.path.isfile(self.config_file):
11
- print("No ATKConfig.ini found. Making new one with default values\n")
12
- self.set_default_config()
13
- self.write_config()
14
-
15
- @property
16
- def supported_keys(self):
17
- keys = []
18
- for key, val in vars(self).items():
19
- if key != "config_file":
20
- keys.append(key)
21
- return keys
22
-
23
- def set_default_config(self):
24
- from ..Data.dataquery import SurveyInfo
25
-
26
- overlay_info = SurveyInfo().overlay_param_names
27
-
28
- self.enable_notifications = "True"
29
- self.query_data_radius = "3"
30
- self.query_phot_radius = "3"
31
- self.query_bulkphot_radius = "3"
32
- self.query_lightcurve_radius = "3"
33
- self.query_spectrum_radius = "3"
34
- self.query_sed_radius = "3"
35
- self.query_reddening_radius = "5"
36
- self.query_image_size = "30"
37
- self.query_image_overlays = "gaia"
38
- self.query_image_band = "g"
39
- self.query_lightcurve_atlas_username = "None"
40
- self.query_lightcurve_atlas_password = "None"
41
- self.unit_size = "400"
42
- self.search_radius = "3"
43
- self.datapage_search_button_radius = "3"
44
- self.gaia_overlay_mag = overlay_info["gaia"]["default_overlay_mag"]
45
- self.galex_overlay_mag = overlay_info["galex"]["default_overlay_mag"]
46
- self.wise_overlay_mag = overlay_info["wise"]["default_overlay_mag"]
47
- self.sdss_overlay_mag = overlay_info["sdss"]["default_overlay_mag"]
48
- self.twomass_overlay_mag = overlay_info["twomass"]["default_overlay_mag"]
49
- self.skymapper_overlay_mag = overlay_info["skymapper"]["default_overlay_mag"]
50
- self.panstarrs_overlay_mag = overlay_info["panstarrs"]["default_overlay_mag"]
51
- self.datapage_datatable_radius = "3"
52
- self.datapage_grid_size = "250"
53
- self.output_backend = "canvas"
54
- self.font_size = "12"
55
- self.font = "Times New Roman"
56
- self.overlay_piggyback_radius = "5"
57
-
58
- def read_config(self):
59
- Config = configparser.ConfigParser()
60
- Config.read(self.config_file)
61
-
62
- sections = []
63
- sections.append(Config["global_settings"])
64
- sections.append(Config["query_settings"])
65
- sections.append(Config["image_overlay_settings"])
66
- sections.append(Config["search_settings"])
67
- sections.append(Config["datapage_settings"])
68
-
69
- for section in sections:
70
- for key, val in section.items():
71
- setattr(self, key, val)
72
-
73
- def write_config(self):
74
- config = configparser.ConfigParser()
75
-
76
- config.add_section("global_settings")
77
- config.set("global_settings", "enable_notifications", self.enable_notifications)
78
- config.set("global_settings", "unit_size", self.unit_size)
79
- config.set("global_settings", "output_backend", self.output_backend)
80
- config.set("global_settings", "font_size", self.font_size)
81
- config.set("global_settings", "font", self.font)
82
-
83
- config.add_section("query_settings")
84
- config.set("query_settings", "query_data_radius", self.query_data_radius)
85
- config.set("query_settings", "query_phot_radius", self.query_phot_radius)
86
- config.set(
87
- "query_settings", "query_bulkphot_radius", self.query_bulkphot_radius
88
- )
89
- config.set(
90
- "query_settings", "query_lightcurve_radius", self.query_lightcurve_radius
91
- )
92
- config.set(
93
- "query_settings", "query_spectrum_radius", self.query_spectrum_radius
94
- )
95
- config.set("query_settings", "query_sed_radius", self.query_sed_radius)
96
- config.set(
97
- "query_settings", "query_reddening_radius", self.query_reddening_radius
98
- )
99
- config.set("query_settings", "query_image_size", self.query_image_size)
100
- config.set("query_settings", "query_image_overlays", self.query_image_overlays)
101
- config.set("query_settings", "query_image_band", self.query_image_band)
102
- config.set(
103
- "query_settings",
104
- "query_lightcurve_atlas_username",
105
- self.query_lightcurve_atlas_username,
106
- )
107
- config.set(
108
- "query_settings",
109
- "query_lightcurve_atlas_password",
110
- self.query_lightcurve_atlas_password,
111
- )
112
-
113
- config.add_section("image_overlay_settings")
114
- config.set("image_overlay_settings", "gaia_overlay_mag", self.gaia_overlay_mag)
115
- config.set(
116
- "image_overlay_settings", "galex_overlay_mag", self.galex_overlay_mag
117
- )
118
- config.set("image_overlay_settings", "wise_overlay_mag", self.wise_overlay_mag)
119
- config.set("image_overlay_settings", "sdss_overlay_mag", self.sdss_overlay_mag)
120
- config.set(
121
- "image_overlay_settings", "twomass_overlay_mag", self.twomass_overlay_mag
122
- )
123
- config.set(
124
- "image_overlay_settings",
125
- "skymapper_overlay_mag",
126
- self.skymapper_overlay_mag,
127
- )
128
- config.set(
129
- "image_overlay_settings",
130
- "panstarrs_overlay_mag",
131
- self.panstarrs_overlay_mag,
132
- )
133
- config.set(
134
- "image_overlay_settings",
135
- "overlay_piggyback_radius",
136
- self.overlay_piggyback_radius,
137
- )
138
-
139
- config.add_section("search_settings")
140
- config.set("search_settings", "search_radius", self.search_radius)
141
-
142
- config.add_section("datapage_settings")
143
- config.set(
144
- "datapage_settings",
145
- "datapage_search_button_radius",
146
- self.datapage_search_button_radius,
147
- )
148
- config.set(
149
- "datapage_settings",
150
- "datapage_datatable_radius",
151
- self.datapage_datatable_radius,
152
- )
153
- config.set("datapage_settings", "datapage_grid_size", self.datapage_grid_size)
154
-
155
- with open(self.config_file, "w") as file:
156
- config.write(file)
157
-
158
- def edit_config(self, key, value):
159
- self.read_config()
160
- if not isinstance(value, str):
161
- try:
162
- value = str(value)
163
- except:
164
- raise Exception("ATKConfig.ini options must be strings.")
165
- setattr(self, key, value)
166
- self.write_config()
167
-
168
- self.output_config()
169
-
170
- def output_config(self):
171
- self.read_config()
172
- for key, val in vars(self).items():
173
- if key != "config_file":
174
- print(f"{key} = {val}")
1
+ import configparser
2
+ import os
3
+
4
+
5
+ class ConfigStruct(object):
6
+ def __init__(self):
7
+ from importlib_resources import files
8
+
9
+ self.config_file = files("AstroToolkit.Configuration").joinpath("ATKConfig.ini")
10
+ if not os.path.isfile(self.config_file):
11
+ print("No ATKConfig.ini found. Making new one with default values\n")
12
+ self.set_default_config()
13
+ self.write_config()
14
+
15
+ @property
16
+ def supported_keys(self):
17
+ keys = []
18
+ for key, val in vars(self).items():
19
+ if key != "config_file":
20
+ keys.append(key)
21
+ return keys
22
+
23
+ def set_default_config(self):
24
+ from ..Data.dataquery import SurveyInfo
25
+
26
+ overlay_info = SurveyInfo().overlay_param_names
27
+
28
+ self.enable_notifications = "True"
29
+ self.query_data_radius = "3"
30
+ self.query_phot_radius = "3"
31
+ self.query_bulkphot_radius = "3"
32
+ self.query_lightcurve_radius = "3"
33
+ self.query_spectrum_radius = "3"
34
+ self.query_sed_radius = "3"
35
+ self.query_reddening_radius = "5"
36
+ self.query_image_size = "30"
37
+ self.query_image_overlays = "gaia"
38
+ self.query_image_band = "g"
39
+ self.query_lightcurve_atlas_username = "None"
40
+ self.query_lightcurve_atlas_password = "None"
41
+ self.unit_size = "400"
42
+ self.search_radius = "3"
43
+ self.datapage_search_button_radius = "3"
44
+ self.gaia_overlay_mag = overlay_info["gaia"]["default_overlay_mag"]
45
+ self.galex_overlay_mag = overlay_info["galex"]["default_overlay_mag"]
46
+ self.wise_overlay_mag = overlay_info["wise"]["default_overlay_mag"]
47
+ self.sdss_overlay_mag = overlay_info["sdss"]["default_overlay_mag"]
48
+ self.twomass_overlay_mag = overlay_info["twomass"]["default_overlay_mag"]
49
+ self.skymapper_overlay_mag = overlay_info["skymapper"]["default_overlay_mag"]
50
+ self.panstarrs_overlay_mag = overlay_info["panstarrs"]["default_overlay_mag"]
51
+ self.datapage_datatable_radius = "3"
52
+ self.datapage_grid_size = "250"
53
+ self.output_backend = "canvas"
54
+ self.font_size = "12"
55
+ self.font = "Times New Roman"
56
+ self.overlay_piggyback_radius = "5"
57
+
58
+ def read_config(self):
59
+ Config = configparser.ConfigParser()
60
+ Config.read(self.config_file)
61
+
62
+ sections = []
63
+ sections.append(Config["global_settings"])
64
+ sections.append(Config["query_settings"])
65
+ sections.append(Config["image_overlay_settings"])
66
+ sections.append(Config["search_settings"])
67
+ sections.append(Config["datapage_settings"])
68
+
69
+ for section in sections:
70
+ for key, val in section.items():
71
+ setattr(self, key, val)
72
+
73
+ def write_config(self):
74
+ config = configparser.ConfigParser()
75
+
76
+ config.add_section("global_settings")
77
+ config.set("global_settings", "enable_notifications", self.enable_notifications)
78
+ config.set("global_settings", "unit_size", self.unit_size)
79
+ config.set("global_settings", "output_backend", self.output_backend)
80
+ config.set("global_settings", "font_size", self.font_size)
81
+ config.set("global_settings", "font", self.font)
82
+
83
+ config.add_section("query_settings")
84
+ config.set("query_settings", "query_data_radius", self.query_data_radius)
85
+ config.set("query_settings", "query_phot_radius", self.query_phot_radius)
86
+ config.set(
87
+ "query_settings", "query_bulkphot_radius", self.query_bulkphot_radius
88
+ )
89
+ config.set(
90
+ "query_settings", "query_lightcurve_radius", self.query_lightcurve_radius
91
+ )
92
+ config.set(
93
+ "query_settings", "query_spectrum_radius", self.query_spectrum_radius
94
+ )
95
+ config.set("query_settings", "query_sed_radius", self.query_sed_radius)
96
+ config.set(
97
+ "query_settings", "query_reddening_radius", self.query_reddening_radius
98
+ )
99
+ config.set("query_settings", "query_image_size", self.query_image_size)
100
+ config.set("query_settings", "query_image_overlays", self.query_image_overlays)
101
+ config.set("query_settings", "query_image_band", self.query_image_band)
102
+ config.set(
103
+ "query_settings",
104
+ "query_lightcurve_atlas_username",
105
+ self.query_lightcurve_atlas_username,
106
+ )
107
+ config.set(
108
+ "query_settings",
109
+ "query_lightcurve_atlas_password",
110
+ self.query_lightcurve_atlas_password,
111
+ )
112
+
113
+ config.add_section("image_overlay_settings")
114
+ config.set("image_overlay_settings", "gaia_overlay_mag", self.gaia_overlay_mag)
115
+ config.set(
116
+ "image_overlay_settings", "galex_overlay_mag", self.galex_overlay_mag
117
+ )
118
+ config.set("image_overlay_settings", "wise_overlay_mag", self.wise_overlay_mag)
119
+ config.set("image_overlay_settings", "sdss_overlay_mag", self.sdss_overlay_mag)
120
+ config.set(
121
+ "image_overlay_settings", "twomass_overlay_mag", self.twomass_overlay_mag
122
+ )
123
+ config.set(
124
+ "image_overlay_settings",
125
+ "skymapper_overlay_mag",
126
+ self.skymapper_overlay_mag,
127
+ )
128
+ config.set(
129
+ "image_overlay_settings",
130
+ "panstarrs_overlay_mag",
131
+ self.panstarrs_overlay_mag,
132
+ )
133
+ config.set(
134
+ "image_overlay_settings",
135
+ "overlay_piggyback_radius",
136
+ self.overlay_piggyback_radius,
137
+ )
138
+
139
+ config.add_section("search_settings")
140
+ config.set("search_settings", "search_radius", self.search_radius)
141
+
142
+ config.add_section("datapage_settings")
143
+ config.set(
144
+ "datapage_settings",
145
+ "datapage_search_button_radius",
146
+ self.datapage_search_button_radius,
147
+ )
148
+ config.set(
149
+ "datapage_settings",
150
+ "datapage_datatable_radius",
151
+ self.datapage_datatable_radius,
152
+ )
153
+ config.set("datapage_settings", "datapage_grid_size", self.datapage_grid_size)
154
+
155
+ with open(self.config_file, "w") as file:
156
+ config.write(file)
157
+
158
+ def edit_config(self, key, value):
159
+ self.read_config()
160
+ if not isinstance(value, str):
161
+ try:
162
+ value = str(value)
163
+ except:
164
+ raise Exception("ATKConfig.ini options must be strings.")
165
+ setattr(self, key, value)
166
+ self.write_config()
167
+
168
+ self.output_config()
169
+
170
+ def output_config(self):
171
+ self.read_config()
172
+ for key, val in vars(self).items():
173
+ if key != "config_file":
174
+ print(f"{key} = {val}")