AstroToolkit 1.5.3__tar.gz → 1.6.0__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.
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/MANIFEST.in +6 -6
- astrotoolkit-1.6.0/PKG-INFO +66 -0
- astrotoolkit-1.6.0/README.md +38 -0
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/pyproject.toml +48 -41
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/setup.cfg +4 -4
- astrotoolkit-1.6.0/src/AstroToolkit/Config.py +74 -0
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit/Configuration/baseconfig.py +174 -174
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit/Data/bin_lightcurves.py +110 -113
- astrotoolkit-1.6.0/src/AstroToolkit/Data/crop_lightcurves.py +110 -0
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit/Data/data_printing.py +110 -110
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit/Data/data_saving.py +28 -18
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit/Data/dataquery.py +625 -570
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit/Data/fetch_crts.py +112 -113
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit/Data/fetch_tess.py +75 -75
- astrotoolkit-1.6.0/src/AstroToolkit/Data/hrdquery.py +172 -0
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit/Data/imageoverlay.py +279 -279
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit/Data/imagequery.py +416 -289
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit/Data/lightcurvequery.py +1082 -820
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit/Data/photquery.py +181 -181
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit/Data/reddeningquery.py +319 -319
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit/Data/rename_headers.py +237 -237
- astrotoolkit-1.6.0/src/AstroToolkit/Data/sedquery.py +225 -0
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit/Data/sigmaclip.py +112 -112
- astrotoolkit-1.6.0/src/AstroToolkit/Data/spectrumquery.py +184 -0
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit/DatapageElements/datapage_buttons.py +70 -70
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit/DatapageElements/metadata_table.py +121 -121
- astrotoolkit-1.6.0/src/AstroToolkit/Datapages.py +211 -0
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit/Examples/datapage.py +81 -81
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit/Examples/hrd.py +10 -10
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit/Examples/image.py +47 -47
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit/Examples/lightcurve.py +13 -13
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit/Examples/localfiles.py +13 -13
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit/Examples/pyaov.py +4 -4
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit/Examples/sed.py +10 -10
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit/Examples/spectrum.py +8 -8
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit/Examples/timeseries.py +16 -16
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit/FileHandling/file_naming.py +42 -26
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit/FileHandling/file_reading.py +352 -373
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit/FileHandling/file_writing.py +211 -218
- astrotoolkit-1.6.0/src/AstroToolkit/Gui.py +1000 -0
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit/Input/input_validation.py +679 -679
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit/Misc/coordinate_conversions.py +23 -23
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit/Misc/fitsfiles.py +34 -34
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit/Misc/gridsetup.py +95 -95
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit/Misc/identifier_generation.py +55 -55
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit/Misc/pmcorrection.py +174 -174
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit/Misc/search.py +59 -59
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit/Models.py +121 -59
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit/Plotting/hrdplotting.py +124 -124
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit/Plotting/imageplotting.py +122 -122
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit/Plotting/lightcurveplotting.py +191 -185
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit/Plotting/plotmap.py +223 -184
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit/Plotting/sedplotting.py +114 -109
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit/Plotting/spectrumplotting.py +132 -132
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit/Setup.py +162 -124
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit/Timeseries/lomb_scargle.py +243 -179
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit/Timeseries/pyaov/aovwrapper.f90 +221 -221
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit/Timeseries/pyaov/buildwin.bat +24 -24
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit/Timeseries/pyaov/pyaov_interface.py +996 -958
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit/Timeseries/timeseries_formatting.py +41 -31
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit/Tools.py +700 -403
- astrotoolkit-1.6.0/src/AstroToolkit.egg-info/PKG-INFO +66 -0
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit.egg-info/SOURCES.txt +8 -3
- astrotoolkit-1.6.0/src/AstroToolkit.egg-info/entry_points.txt +6 -0
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit.egg-info/top_level.txt +1 -0
- astrotoolkit-1.6.0/src/bin/atkquery_command.py +156 -0
- astrotoolkit-1.6.0/src/bin/atkread_command.py +26 -0
- astrotoolkit-1.6.0/src/bin/opengui_command.py +5 -0
- astrotoolkit-1.6.0/src/bin/tsbuild_command.py +5 -0
- astrotoolkit-1.6.0/src/bin/tsguide_command.py +5 -0
- astrotoolkit-1.5.3/PKG-INFO +0 -2672
- astrotoolkit-1.5.3/README.md +0 -2644
- astrotoolkit-1.5.3/src/AstroToolkit/Config.py +0 -33
- astrotoolkit-1.5.3/src/AstroToolkit/Data/crop_lightcurves.py +0 -2
- astrotoolkit-1.5.3/src/AstroToolkit/Data/hrdquery.py +0 -64
- astrotoolkit-1.5.3/src/AstroToolkit/Data/sedquery.py +0 -112
- astrotoolkit-1.5.3/src/AstroToolkit/Data/spectrumquery.py +0 -75
- astrotoolkit-1.5.3/src/AstroToolkit/Datapages.py +0 -73
- astrotoolkit-1.5.3/src/AstroToolkit/Timeseries/pyaov/aov test.f90 +0 -889
- astrotoolkit-1.5.3/src/AstroToolkit/Timeseries/pyaov/aovwrapper +0 -0
- astrotoolkit-1.5.3/src/AstroToolkit.egg-info/PKG-INFO +0 -2672
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/LICENSE +0 -0
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit/Plotting/backdrop_hrd_allmags.fits +0 -0
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit/Timeseries/pyaov/README/Linux_README.txt +0 -0
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit/Timeseries/pyaov/README/Windows_README.txt +0 -0
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit/Timeseries/pyaov/README/aov_README.pdf +0 -0
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit/Timeseries/pyaov/aov.f90 +0 -0
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit/Timeseries/pyaov/aovconst.f90 +0 -0
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit/Timeseries/pyaov/aovgui.py +0 -0
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit/Timeseries/pyaov/aovsub.f90 +0 -0
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit/Timeseries/pyaov/build.sh +0 -0
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit/Timeseries/pyaov/pyaov.py +0 -0
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/src/AstroToolkit.egg-info/dependency_links.txt +0 -0
- {astrotoolkit-1.5.3 → astrotoolkit-1.6.0}/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.0
|
|
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.
|
|
11
|
-
authors = [
|
|
12
|
-
{ name="Ethan Moorfield", email="ethan.moorfield@hotmail.co.uk"},
|
|
13
|
-
]
|
|
14
|
-
description = "A package for the gathering and
|
|
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
|
-
|
|
36
|
-
|
|
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.0"
|
|
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}")
|