astro-otter 0.0.1__py3-none-any.whl → 0.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

@@ -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: dev
58
+ Requires-Dist: ruff ; extra == 'dev'
59
+ Requires-Dist: pre-commit ; extra == 'dev'
60
+ Provides-Extra: docs
61
+ Requires-Dist: Sphinx >=3.0.0 ; extra == 'docs'
62
+ Requires-Dist: myst-parser >=0.13 ; extra == 'docs'
63
+ Requires-Dist: nbsphinx >=0.9.1 ; extra == 'docs'
64
+ Requires-Dist: sphinx-book-theme >=0.0.33 ; extra == 'docs'
65
+ Requires-Dist: sphinx-copybutton ; extra == 'docs'
66
+ Requires-Dist: autodoc ; extra == 'docs'
67
+ Requires-Dist: ipykernel ; extra == 'docs'
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,17 @@
1
+ otter/__init__.py,sha256=ml7fLtTVno4fvpJvw91bAp8ff2nuRG1hZ1lMCt3ZumY,440
2
+ otter/_version.py,sha256=IwGQL03Wwse3OmpK33wS6CFwrF8rqxvbN79PydSE480,76
3
+ otter/exceptions.py,sha256=3lQF4AXVTfs9VRsVePQoIrXnramsPZbUL5crvf1s9Ng,1702
4
+ otter/util.py,sha256=7ZJYeTjBmwpXKgqXcmBtxhtn2j7XSQMaBbTurPKyEO0,15788
5
+ otter/io/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
+ otter/io/data_finder.py,sha256=pBGtfzjFt9pbJQR4exXP17eZoHVHClm_Jno1vXmcpAU,28026
7
+ otter/io/host.py,sha256=ZYewz347_6FD5mVcQLDxHSS75n5RCv69xxLHAmpjoiI,4410
8
+ otter/io/otter.py,sha256=VMtDCfiQniQNLIOL_P3NySwS-YnDF-nT4ceQjV0XJfE,18016
9
+ otter/io/transient.py,sha256=YVOppPAqhChPx8sxRPfuC_9BBJVtE7ku5ITKkWKSL9w,35551
10
+ otter/plotter/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
+ otter/plotter/otter_plotter.py,sha256=iQe5AFsB5plw5eClUfuEfqcNRiXEcKc5-hkLPVKCkg8,2091
12
+ otter/plotter/plotter.py,sha256=i9ZAlbIjftpzyFzgCIFdye9XnppTwOSwazb5ruLpjnE,2896
13
+ astro_otter-0.1.0.dist-info/LICENSE,sha256=s9IPE8A3CAMEaZpDhj4eaorpmfLYGB0mIGphq301PUY,1067
14
+ astro_otter-0.1.0.dist-info/METADATA,sha256=nR8WxIF2Yez-yZxyv0kMZ-QZHuJJdcClr--J9cvbqHw,5905
15
+ astro_otter-0.1.0.dist-info/WHEEL,sha256=Z4pYXqR_rTB7OWNDYFOm1qRk0RX6GFP2o8LgvP453Hk,91
16
+ astro_otter-0.1.0.dist-info/top_level.txt,sha256=Wth72sCwBRUk3KZGknSKvLQDMFuJk6qiaAavMDOdG5k,6
17
+ astro_otter-0.1.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.43.0)
2
+ Generator: setuptools (70.3.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
otter/__init__.py CHANGED
@@ -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
otter/_version.py CHANGED
@@ -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"
otter/exceptions.py CHANGED
@@ -2,8 +2,14 @@
2
2
  Custom exceptions for otter
3
3
  """
4
4
 
5
+ from __future__ import annotations
6
+
5
7
 
6
8
  class FailedQueryError(ValueError):
9
+ """
10
+ Exception thrown when the users query does not return any results.
11
+ """
12
+
7
13
  def __str__(self):
8
14
  txt = "You're query/search did not return any results! "
9
15
  txt += "Try again with different parameters!"
@@ -11,10 +17,19 @@ class FailedQueryError(ValueError):
11
17
 
12
18
 
13
19
  class IOError(ValueError):
20
+ """
21
+ Exception thrown when the input or output argument/value is not the correct type.
22
+ """
23
+
14
24
  pass
15
25
 
16
26
 
17
27
  class OtterLimitationError(Exception):
28
+ """
29
+ Exception thrown when the user requests something that is currently not supported
30
+ by the API.
31
+ """
32
+
18
33
  def __init__(self, msg):
19
34
  self.msg = "Current Limitation Found: " + msg
20
35
 
@@ -23,4 +38,37 @@ class OtterLimitationError(Exception):
23
38
 
24
39
 
25
40
  class TransientMergeError(Exception):
41
+ """
42
+ Exception thrown when the Transient objects can not be combined as expected.
43
+ """
44
+
26
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