astro-otter 0.0.1__tar.gz → 0.1.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.

Potentially problematic release.


This version of astro-otter might be problematic. Click here for more details.

Files changed (34) hide show
  1. astro_otter-0.1.0/PKG-INFO +127 -0
  2. astro_otter-0.1.0/README.md +59 -0
  3. {astro_otter-0.0.1 → astro_otter-0.1.0}/pyproject.toml +37 -11
  4. astro_otter-0.1.0/src/astro_otter.egg-info/PKG-INFO +127 -0
  5. {astro_otter-0.0.1 → astro_otter-0.1.0}/src/astro_otter.egg-info/SOURCES.txt +8 -1
  6. astro_otter-0.1.0/src/astro_otter.egg-info/requires.txt +30 -0
  7. {astro_otter-0.0.1 → astro_otter-0.1.0}/src/otter/__init__.py +4 -0
  8. {astro_otter-0.0.1 → astro_otter-0.1.0}/src/otter/_version.py +1 -1
  9. astro_otter-0.1.0/src/otter/exceptions.py +74 -0
  10. astro_otter-0.1.0/src/otter/io/data_finder.py +744 -0
  11. astro_otter-0.1.0/src/otter/io/host.py +106 -0
  12. {astro_otter-0.0.1 → astro_otter-0.1.0}/src/otter/io/otter.py +82 -56
  13. {astro_otter-0.0.1 → astro_otter-0.1.0}/src/otter/io/transient.py +240 -147
  14. {astro_otter-0.0.1 → astro_otter-0.1.0}/src/otter/plotter/otter_plotter.py +10 -8
  15. {astro_otter-0.0.1 → astro_otter-0.1.0}/src/otter/plotter/plotter.py +19 -18
  16. {astro_otter-0.0.1 → astro_otter-0.1.0}/src/otter/util.py +102 -1
  17. astro_otter-0.1.0/tests/test_data_finder.py +252 -0
  18. astro_otter-0.1.0/tests/test_exceptions.py +57 -0
  19. astro_otter-0.1.0/tests/test_host.py +68 -0
  20. astro_otter-0.1.0/tests/test_otter.py +227 -0
  21. {astro_otter-0.0.1 → astro_otter-0.1.0}/tests/test_transient.py +200 -2
  22. astro_otter-0.1.0/tests/test_util.py +44 -0
  23. astro_otter-0.0.1/PKG-INFO +0 -866
  24. astro_otter-0.0.1/README.md +0 -813
  25. astro_otter-0.0.1/src/astro_otter.egg-info/PKG-INFO +0 -866
  26. astro_otter-0.0.1/src/astro_otter.egg-info/requires.txt +0 -10
  27. astro_otter-0.0.1/src/otter/exceptions.py +0 -26
  28. {astro_otter-0.0.1 → astro_otter-0.1.0}/LICENSE +0 -0
  29. {astro_otter-0.0.1 → astro_otter-0.1.0}/setup.cfg +0 -0
  30. {astro_otter-0.0.1 → astro_otter-0.1.0}/src/astro_otter.egg-info/dependency_links.txt +0 -0
  31. {astro_otter-0.0.1 → astro_otter-0.1.0}/src/astro_otter.egg-info/top_level.txt +0 -0
  32. {astro_otter-0.0.1 → astro_otter-0.1.0}/src/otter/io/__init__.py +0 -0
  33. {astro_otter-0.0.1 → astro_otter-0.1.0}/src/otter/plotter/__init__.py +0 -0
  34. {astro_otter-0.0.1 → astro_otter-0.1.0}/tests/test_package.py +0 -0
@@ -0,0 +1,127 @@
1
+ Metadata-Version: 2.1
2
+ Name: astro-otter
3
+ Version: 0.1.0
4
+ Author-email: Noah Franz <nfranz@arizona.edu>
5
+ License: MIT License
6
+
7
+ Copyright (c) 2023 Noah Franz
8
+
9
+ Permission is hereby granted, free of charge, to any person obtaining a copy
10
+ of this software and associated documentation files (the "Software"), to deal
11
+ in the Software without restriction, including without limitation the rights
12
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13
+ copies of the Software, and to permit persons to whom the Software is
14
+ furnished to do so, subject to the following conditions:
15
+
16
+ The above copyright notice and this permission notice shall be included in all
17
+ copies or substantial portions of the Software.
18
+
19
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
25
+ SOFTWARE.
26
+
27
+ Project-URL: Home, https://github.com/astro-otter
28
+ Classifier: License :: OSI Approved :: BSD License
29
+ Classifier: Topic :: Scientific/Engineering
30
+ Classifier: Intended Audience :: Science/Research
31
+ Classifier: Intended Audience :: Developers
32
+ Classifier: Operating System :: OS Independent
33
+ Classifier: License :: OSI Approved :: BSD License
34
+ Classifier: Programming Language :: Python
35
+ Classifier: Programming Language :: Python :: 3
36
+ Classifier: Programming Language :: Python :: 3.10
37
+ Classifier: Programming Language :: Python :: 3.11
38
+ Classifier: Development Status :: 2 - Pre-Alpha
39
+ Requires-Python: <3.12,>=3.10
40
+ Description-Content-Type: text/markdown
41
+ License-File: LICENSE
42
+ Requires-Dist: numpy<2,>=1.20
43
+ Requires-Dist: astropy>=6
44
+ Requires-Dist: pandas
45
+ Requires-Dist: synphot
46
+ Requires-Dist: typing-extensions
47
+ Requires-Dist: matplotlib
48
+ Requires-Dist: plotly
49
+ Requires-Dist: astroquery
50
+ Requires-Dist: ads
51
+ Requires-Dist: skypatrol
52
+ Requires-Dist: fundamentals
53
+ Requires-Dist: astro-datalab
54
+ Requires-Dist: sparclclient
55
+ Requires-Dist: astro-ghost
56
+ Requires-Dist: pyreadline3; platform_system == "Windows"
57
+ Provides-Extra: docs
58
+ Requires-Dist: Sphinx>=3.0.0; extra == "docs"
59
+ Requires-Dist: myst-parser>=0.13; extra == "docs"
60
+ Requires-Dist: nbsphinx>=0.9.1; extra == "docs"
61
+ Requires-Dist: sphinx-book-theme>=0.0.33; extra == "docs"
62
+ Requires-Dist: sphinx_copybutton; extra == "docs"
63
+ Requires-Dist: autodoc; extra == "docs"
64
+ Requires-Dist: ipykernel; extra == "docs"
65
+ Provides-Extra: dev
66
+ Requires-Dist: ruff; extra == "dev"
67
+ Requires-Dist: pre-commit; extra == "dev"
68
+
69
+ # OTTER API
70
+ ### **O**pen mul**T**iwavelength **T**ransient **E**vent **R**epository
71
+
72
+ A Python API for the OTTER.
73
+
74
+ [actions-badge]: https://github.com/astro-otter/otter/workflows/CI/badge.svg
75
+ [actions-link]: https://github.com/astro-otter/otter/actions
76
+ [black-badge]: https://img.shields.io/badge/code%20style-black-000000.svg
77
+ [black-link]: https://github.com/psf/black
78
+ [conda-badge]: https://img.shields.io/conda/vn/conda-forge/hepfile
79
+ [conda-link]: https://github.com/conda-forge/hepfile-feedstock
80
+ [github-discussions-badge]: https://img.shields.io/static/v1?label=Discussions&message=Ask&color=blue&logo=github
81
+ [github-discussions-link]: https://github.com/mattbellis/hepfile/discussions
82
+ [gitter-badge]: https://badges.gitter.im/https://github.com/mattbellis/hepfile/community.svg
83
+ [gitter-link]: https://gitter.im/https://github.com/mattbellis/hepfile/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge
84
+ [pypi-link]: https://pypi.org/project/astro-otter/
85
+ [pypi-platforms]: https://img.shields.io/pypi/pyversions/astro-otter
86
+ [pypi-version]: https://badge.fury.io/py/astro-otter.svg
87
+ [rtd-badge]: https://readthedocs.org/projects/otter/badge/?version=latest
88
+ [rtd-link]: https://otter.readthedocs.io/en/latest/?badge=latest
89
+ [sk-badge]: https://scikit-hep.org/assets/images/Scikit--HEP-Project-blue.svg
90
+ [ruff-badge]: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v2.json
91
+ [ruff-link]: https://github.com/astral-sh/ruff
92
+ [codecov-badge]: https://codecov.io/gh/astro-otter/otter/graph/badge.svg?token=BtCerOdTc0
93
+ [codecov-link]: https://codecov.io/gh/astro-otter/otter
94
+
95
+ [![Documentation Status](https://readthedocs.org/projects/astro-otter/badge/?version=latest)](https://astro-otter.readthedocs.io/en/latest/?badge=latest)
96
+ [![Actions Status][actions-badge]][actions-link]
97
+ [![PyPI version][pypi-version]][pypi-link]
98
+ [![Linting: Ruff][ruff-badge]][ruff-link]
99
+ [![codecov][codecov-badge]][codecov-link]
100
+
101
+ ## Installation
102
+ To install the OTTER API use
103
+ ```
104
+ python3 -m pip install astro-otter
105
+ ```
106
+
107
+ ## Installation from Source
108
+ To install the OTTER API from the source code use
109
+ ```
110
+ git clone https://github.com/astro-otter/otter.git
111
+ cd otter
112
+ python -m pip install .
113
+ ```
114
+ This will be changed into the more convenient `python -m pip install astro-otter` at a later date!
115
+
116
+ For developers, please also enable the pre-commit hooks using
117
+ ```
118
+ pre-commit install
119
+ ```
120
+
121
+ ## Repo Organization
122
+ | Directory | Contents |
123
+ |------------|------------|
124
+ | `src/otter` | A pip installable API for interfacing with the OTTER database|
125
+ | `scripts` | The pipeline scripts for converting unprocessed data into the OTTER JSON format|
126
+ | `docs` | Documentation for the OTTER API |
127
+ | `test` | Some Unit tests for the source code |
@@ -0,0 +1,59 @@
1
+ # OTTER API
2
+ ### **O**pen mul**T**iwavelength **T**ransient **E**vent **R**epository
3
+
4
+ A Python API for the OTTER.
5
+
6
+ [actions-badge]: https://github.com/astro-otter/otter/workflows/CI/badge.svg
7
+ [actions-link]: https://github.com/astro-otter/otter/actions
8
+ [black-badge]: https://img.shields.io/badge/code%20style-black-000000.svg
9
+ [black-link]: https://github.com/psf/black
10
+ [conda-badge]: https://img.shields.io/conda/vn/conda-forge/hepfile
11
+ [conda-link]: https://github.com/conda-forge/hepfile-feedstock
12
+ [github-discussions-badge]: https://img.shields.io/static/v1?label=Discussions&message=Ask&color=blue&logo=github
13
+ [github-discussions-link]: https://github.com/mattbellis/hepfile/discussions
14
+ [gitter-badge]: https://badges.gitter.im/https://github.com/mattbellis/hepfile/community.svg
15
+ [gitter-link]: https://gitter.im/https://github.com/mattbellis/hepfile/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge
16
+ [pypi-link]: https://pypi.org/project/astro-otter/
17
+ [pypi-platforms]: https://img.shields.io/pypi/pyversions/astro-otter
18
+ [pypi-version]: https://badge.fury.io/py/astro-otter.svg
19
+ [rtd-badge]: https://readthedocs.org/projects/otter/badge/?version=latest
20
+ [rtd-link]: https://otter.readthedocs.io/en/latest/?badge=latest
21
+ [sk-badge]: https://scikit-hep.org/assets/images/Scikit--HEP-Project-blue.svg
22
+ [ruff-badge]: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v2.json
23
+ [ruff-link]: https://github.com/astral-sh/ruff
24
+ [codecov-badge]: https://codecov.io/gh/astro-otter/otter/graph/badge.svg?token=BtCerOdTc0
25
+ [codecov-link]: https://codecov.io/gh/astro-otter/otter
26
+
27
+ [![Documentation Status](https://readthedocs.org/projects/astro-otter/badge/?version=latest)](https://astro-otter.readthedocs.io/en/latest/?badge=latest)
28
+ [![Actions Status][actions-badge]][actions-link]
29
+ [![PyPI version][pypi-version]][pypi-link]
30
+ [![Linting: Ruff][ruff-badge]][ruff-link]
31
+ [![codecov][codecov-badge]][codecov-link]
32
+
33
+ ## Installation
34
+ To install the OTTER API use
35
+ ```
36
+ python3 -m pip install astro-otter
37
+ ```
38
+
39
+ ## Installation from Source
40
+ To install the OTTER API from the source code use
41
+ ```
42
+ git clone https://github.com/astro-otter/otter.git
43
+ cd otter
44
+ python -m pip install .
45
+ ```
46
+ This will be changed into the more convenient `python -m pip install astro-otter` at a later date!
47
+
48
+ For developers, please also enable the pre-commit hooks using
49
+ ```
50
+ pre-commit install
51
+ ```
52
+
53
+ ## Repo Organization
54
+ | Directory | Contents |
55
+ |------------|------------|
56
+ | `src/otter` | A pip installable API for interfacing with the OTTER database|
57
+ | `scripts` | The pipeline scripts for converting unprocessed data into the OTTER JSON format|
58
+ | `docs` | Documentation for the OTTER API |
59
+ | `test` | Some Unit tests for the source code |
@@ -1,5 +1,5 @@
1
1
  [build-system]
2
- requires = ['setuptools>=42']
2
+ requires = ['setuptools>=64']
3
3
  build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
@@ -9,7 +9,7 @@ readme = "README.md"
9
9
  license = {file = "LICENSE"}
10
10
  dynamic = ["version"]
11
11
 
12
- requires-python = ">=3.9"
12
+ requires-python = ">=3.10,<3.12"
13
13
 
14
14
  classifiers = [
15
15
  "License :: OSI Approved :: BSD License",
@@ -20,7 +20,6 @@ classifiers = [
20
20
  "License :: OSI Approved :: BSD License",
21
21
  "Programming Language :: Python",
22
22
  "Programming Language :: Python :: 3",
23
- "Programming Language :: Python :: 3.9",
24
23
  "Programming Language :: Python :: 3.10",
25
24
  "Programming Language :: Python :: 3.11",
26
25
  "Development Status :: 2 - Pre-Alpha"
@@ -28,23 +27,50 @@ classifiers = [
28
27
 
29
28
  dependencies = [
30
29
  # necessary dependencies for the src code
31
- "numpy>=1.20",
32
- "astropy>=5.2",
30
+ "numpy>=1.20,<2",
31
+ "astropy>=6",
33
32
  "pandas",
33
+ "synphot",
34
+ "typing-extensions",
35
+
36
+ # for the plotting
34
37
  "matplotlib",
35
38
  "plotly",
39
+
40
+ # for the DataFinder query tool
36
41
  "astroquery",
37
- "synphot",
38
42
  "ads",
39
-
40
- # useful dev tools
41
- "ruff", # linter
42
- "pre-commit" # enable pre-commit hooks
43
- ]
43
+ "skypatrol",
44
+ "fundamentals",
45
+ "astro-datalab",
46
+ "sparclclient",
47
+ "astro-ghost",
48
+
49
+ # only for windows OS b/c it doesn't ship with readline by default
50
+ 'pyreadline3; platform_system == "Windows"'
51
+ ]
44
52
 
45
53
  [project.urls]
46
54
  Home = "https://github.com/astro-otter"
47
55
 
56
+ [project.optional-dependencies]
57
+ # tools for building the readthedocs page
58
+ docs = [
59
+ "Sphinx>=3.0.0",
60
+ "myst-parser>=0.13",
61
+ "nbsphinx>=0.9.1",
62
+ "sphinx-book-theme>=0.0.33",
63
+ "sphinx_copybutton",
64
+ "autodoc",
65
+ "ipykernel"
66
+ ]
67
+
68
+ # useful tools for developers
69
+ dev = [
70
+ "ruff", # linter
71
+ "pre-commit", # enable pre-commit hooks
72
+ ]
73
+
48
74
  [tool.setuptools.packages.find]
49
75
  where = ['src']
50
76
 
@@ -0,0 +1,127 @@
1
+ Metadata-Version: 2.1
2
+ Name: astro-otter
3
+ Version: 0.1.0
4
+ Author-email: Noah Franz <nfranz@arizona.edu>
5
+ License: MIT License
6
+
7
+ Copyright (c) 2023 Noah Franz
8
+
9
+ Permission is hereby granted, free of charge, to any person obtaining a copy
10
+ of this software and associated documentation files (the "Software"), to deal
11
+ in the Software without restriction, including without limitation the rights
12
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13
+ copies of the Software, and to permit persons to whom the Software is
14
+ furnished to do so, subject to the following conditions:
15
+
16
+ The above copyright notice and this permission notice shall be included in all
17
+ copies or substantial portions of the Software.
18
+
19
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
25
+ SOFTWARE.
26
+
27
+ Project-URL: Home, https://github.com/astro-otter
28
+ Classifier: License :: OSI Approved :: BSD License
29
+ Classifier: Topic :: Scientific/Engineering
30
+ Classifier: Intended Audience :: Science/Research
31
+ Classifier: Intended Audience :: Developers
32
+ Classifier: Operating System :: OS Independent
33
+ Classifier: License :: OSI Approved :: BSD License
34
+ Classifier: Programming Language :: Python
35
+ Classifier: Programming Language :: Python :: 3
36
+ Classifier: Programming Language :: Python :: 3.10
37
+ Classifier: Programming Language :: Python :: 3.11
38
+ Classifier: Development Status :: 2 - Pre-Alpha
39
+ Requires-Python: <3.12,>=3.10
40
+ Description-Content-Type: text/markdown
41
+ License-File: LICENSE
42
+ Requires-Dist: numpy<2,>=1.20
43
+ Requires-Dist: astropy>=6
44
+ Requires-Dist: pandas
45
+ Requires-Dist: synphot
46
+ Requires-Dist: typing-extensions
47
+ Requires-Dist: matplotlib
48
+ Requires-Dist: plotly
49
+ Requires-Dist: astroquery
50
+ Requires-Dist: ads
51
+ Requires-Dist: skypatrol
52
+ Requires-Dist: fundamentals
53
+ Requires-Dist: astro-datalab
54
+ Requires-Dist: sparclclient
55
+ Requires-Dist: astro-ghost
56
+ Requires-Dist: pyreadline3; platform_system == "Windows"
57
+ Provides-Extra: docs
58
+ Requires-Dist: Sphinx>=3.0.0; extra == "docs"
59
+ Requires-Dist: myst-parser>=0.13; extra == "docs"
60
+ Requires-Dist: nbsphinx>=0.9.1; extra == "docs"
61
+ Requires-Dist: sphinx-book-theme>=0.0.33; extra == "docs"
62
+ Requires-Dist: sphinx_copybutton; extra == "docs"
63
+ Requires-Dist: autodoc; extra == "docs"
64
+ Requires-Dist: ipykernel; extra == "docs"
65
+ Provides-Extra: dev
66
+ Requires-Dist: ruff; extra == "dev"
67
+ Requires-Dist: pre-commit; extra == "dev"
68
+
69
+ # OTTER API
70
+ ### **O**pen mul**T**iwavelength **T**ransient **E**vent **R**epository
71
+
72
+ A Python API for the OTTER.
73
+
74
+ [actions-badge]: https://github.com/astro-otter/otter/workflows/CI/badge.svg
75
+ [actions-link]: https://github.com/astro-otter/otter/actions
76
+ [black-badge]: https://img.shields.io/badge/code%20style-black-000000.svg
77
+ [black-link]: https://github.com/psf/black
78
+ [conda-badge]: https://img.shields.io/conda/vn/conda-forge/hepfile
79
+ [conda-link]: https://github.com/conda-forge/hepfile-feedstock
80
+ [github-discussions-badge]: https://img.shields.io/static/v1?label=Discussions&message=Ask&color=blue&logo=github
81
+ [github-discussions-link]: https://github.com/mattbellis/hepfile/discussions
82
+ [gitter-badge]: https://badges.gitter.im/https://github.com/mattbellis/hepfile/community.svg
83
+ [gitter-link]: https://gitter.im/https://github.com/mattbellis/hepfile/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge
84
+ [pypi-link]: https://pypi.org/project/astro-otter/
85
+ [pypi-platforms]: https://img.shields.io/pypi/pyversions/astro-otter
86
+ [pypi-version]: https://badge.fury.io/py/astro-otter.svg
87
+ [rtd-badge]: https://readthedocs.org/projects/otter/badge/?version=latest
88
+ [rtd-link]: https://otter.readthedocs.io/en/latest/?badge=latest
89
+ [sk-badge]: https://scikit-hep.org/assets/images/Scikit--HEP-Project-blue.svg
90
+ [ruff-badge]: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v2.json
91
+ [ruff-link]: https://github.com/astral-sh/ruff
92
+ [codecov-badge]: https://codecov.io/gh/astro-otter/otter/graph/badge.svg?token=BtCerOdTc0
93
+ [codecov-link]: https://codecov.io/gh/astro-otter/otter
94
+
95
+ [![Documentation Status](https://readthedocs.org/projects/astro-otter/badge/?version=latest)](https://astro-otter.readthedocs.io/en/latest/?badge=latest)
96
+ [![Actions Status][actions-badge]][actions-link]
97
+ [![PyPI version][pypi-version]][pypi-link]
98
+ [![Linting: Ruff][ruff-badge]][ruff-link]
99
+ [![codecov][codecov-badge]][codecov-link]
100
+
101
+ ## Installation
102
+ To install the OTTER API use
103
+ ```
104
+ python3 -m pip install astro-otter
105
+ ```
106
+
107
+ ## Installation from Source
108
+ To install the OTTER API from the source code use
109
+ ```
110
+ git clone https://github.com/astro-otter/otter.git
111
+ cd otter
112
+ python -m pip install .
113
+ ```
114
+ This will be changed into the more convenient `python -m pip install astro-otter` at a later date!
115
+
116
+ For developers, please also enable the pre-commit hooks using
117
+ ```
118
+ pre-commit install
119
+ ```
120
+
121
+ ## Repo Organization
122
+ | Directory | Contents |
123
+ |------------|------------|
124
+ | `src/otter` | A pip installable API for interfacing with the OTTER database|
125
+ | `scripts` | The pipeline scripts for converting unprocessed data into the OTTER JSON format|
126
+ | `docs` | Documentation for the OTTER API |
127
+ | `test` | Some Unit tests for the source code |
@@ -11,10 +11,17 @@ src/otter/_version.py
11
11
  src/otter/exceptions.py
12
12
  src/otter/util.py
13
13
  src/otter/io/__init__.py
14
+ src/otter/io/data_finder.py
15
+ src/otter/io/host.py
14
16
  src/otter/io/otter.py
15
17
  src/otter/io/transient.py
16
18
  src/otter/plotter/__init__.py
17
19
  src/otter/plotter/otter_plotter.py
18
20
  src/otter/plotter/plotter.py
21
+ tests/test_data_finder.py
22
+ tests/test_exceptions.py
23
+ tests/test_host.py
24
+ tests/test_otter.py
19
25
  tests/test_package.py
20
- tests/test_transient.py
26
+ tests/test_transient.py
27
+ tests/test_util.py
@@ -0,0 +1,30 @@
1
+ numpy<2,>=1.20
2
+ astropy>=6
3
+ pandas
4
+ synphot
5
+ typing-extensions
6
+ matplotlib
7
+ plotly
8
+ astroquery
9
+ ads
10
+ skypatrol
11
+ fundamentals
12
+ astro-datalab
13
+ sparclclient
14
+ astro-ghost
15
+
16
+ [:platform_system == "Windows"]
17
+ pyreadline3
18
+
19
+ [dev]
20
+ ruff
21
+ pre-commit
22
+
23
+ [docs]
24
+ Sphinx>=3.0.0
25
+ myst-parser>=0.13
26
+ nbsphinx>=0.9.1
27
+ sphinx-book-theme>=0.0.33
28
+ sphinx_copybutton
29
+ autodoc
30
+ ipykernel
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  # get the version
2
4
  from ._version import __version__
3
5
 
@@ -8,5 +10,7 @@ __package__ = "otter"
8
10
  # import important stuff
9
11
  from .io.otter import Otter
10
12
  from .io.transient import Transient
13
+ from .io.host import Host
14
+ from .io.data_finder import DataFinder
11
15
  from .plotter.otter_plotter import OtterPlotter
12
16
  from .plotter.plotter import plot_light_curve, plot_sed
@@ -2,4 +2,4 @@
2
2
  Just define the package version in one place
3
3
  """
4
4
 
5
- __version__ = "0.0.1"
5
+ __version__ = "0.1.0"
@@ -0,0 +1,74 @@
1
+ """
2
+ Custom exceptions for otter
3
+ """
4
+
5
+ from __future__ import annotations
6
+
7
+
8
+ class FailedQueryError(ValueError):
9
+ """
10
+ Exception thrown when the users query does not return any results.
11
+ """
12
+
13
+ def __str__(self):
14
+ txt = "You're query/search did not return any results! "
15
+ txt += "Try again with different parameters!"
16
+ return txt
17
+
18
+
19
+ class IOError(ValueError):
20
+ """
21
+ Exception thrown when the input or output argument/value is not the correct type.
22
+ """
23
+
24
+ pass
25
+
26
+
27
+ class OtterLimitationError(Exception):
28
+ """
29
+ Exception thrown when the user requests something that is currently not supported
30
+ by the API.
31
+ """
32
+
33
+ def __init__(self, msg):
34
+ self.msg = "Current Limitation Found: " + msg
35
+
36
+ def __str__(self):
37
+ return self.msg
38
+
39
+
40
+ class TransientMergeError(Exception):
41
+ """
42
+ Exception thrown when the Transient objects can not be combined as expected.
43
+ """
44
+
45
+ pass
46
+
47
+
48
+ class OtterNotImplementedError(Exception):
49
+ """
50
+ Exception thrown by methods that are not yet implemented
51
+ """
52
+
53
+ def __str__(self):
54
+ return "Not yet implemented! Please consider contributing on our GitHub!"
55
+
56
+
57
+ class MissingEnvVarError(Exception):
58
+ """
59
+ Thrown when the querying code expects an Environment variable and doesn't get one
60
+ """
61
+
62
+ def __init__(self, v, url=None):
63
+ self.v = v
64
+ self.url = url
65
+
66
+ def __str__(self):
67
+ msg = "You are missing the following environment variables:\n"
68
+ for vv in self.v:
69
+ msg += f"\t- {vv}\n"
70
+ msg += "Please make an account and/or set these variables!\n"
71
+ if self.url is not None:
72
+ msg += f"See: {self.url}"
73
+
74
+ return msg