pyucalgarysrs 1.0.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.
- pyucalgarysrs-1.0.0/LICENSE +13 -0
- pyucalgarysrs-1.0.0/PKG-INFO +65 -0
- pyucalgarysrs-1.0.0/README.md +39 -0
- pyucalgarysrs-1.0.0/pyproject.toml +86 -0
- pyucalgarysrs-1.0.0/pyucalgarysrs/__init__.py +80 -0
- pyucalgarysrs-1.0.0/pyucalgarysrs/data/__init__.py +487 -0
- pyucalgarysrs-1.0.0/pyucalgarysrs/data/_download.py +251 -0
- pyucalgarysrs-1.0.0/pyucalgarysrs/data/_list.py +90 -0
- pyucalgarysrs-1.0.0/pyucalgarysrs/data/classes.py +694 -0
- pyucalgarysrs-1.0.0/pyucalgarysrs/data/read/__init__.py +946 -0
- pyucalgarysrs-1.0.0/pyucalgarysrs/data/read/_calibration.py +102 -0
- pyucalgarysrs-1.0.0/pyucalgarysrs/data/read/_rego.py +309 -0
- pyucalgarysrs-1.0.0/pyucalgarysrs/data/read/_skymap.py +109 -0
- pyucalgarysrs-1.0.0/pyucalgarysrs/data/read/_themis.py +295 -0
- pyucalgarysrs-1.0.0/pyucalgarysrs/data/read/_trex_blue.py +321 -0
- pyucalgarysrs-1.0.0/pyucalgarysrs/data/read/_trex_nir.py +319 -0
- pyucalgarysrs-1.0.0/pyucalgarysrs/data/read/_trex_rgb.py +605 -0
- pyucalgarysrs-1.0.0/pyucalgarysrs/data/read/_trex_spectrograph.py +316 -0
- pyucalgarysrs-1.0.0/pyucalgarysrs/exceptions.py +62 -0
- pyucalgarysrs-1.0.0/pyucalgarysrs/models/__init__.py +38 -0
- pyucalgarysrs-1.0.0/pyucalgarysrs/models/atm/__init__.py +272 -0
- pyucalgarysrs-1.0.0/pyucalgarysrs/models/atm/_forward.py +127 -0
- pyucalgarysrs-1.0.0/pyucalgarysrs/models/atm/_inverse.py +116 -0
- pyucalgarysrs-1.0.0/pyucalgarysrs/models/atm/classes_forward.py +303 -0
- pyucalgarysrs-1.0.0/pyucalgarysrs/models/atm/classes_inverse.py +303 -0
- pyucalgarysrs-1.0.0/pyucalgarysrs/pyucalgarysrs.py +406 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
Copyright 2024 University of Calgary
|
|
2
|
+
|
|
3
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
you may not use this file except in compliance with the License.
|
|
5
|
+
You may obtain a copy of the License at
|
|
6
|
+
|
|
7
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
|
|
9
|
+
Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
See the License for the specific language governing permissions and
|
|
13
|
+
limitations under the License.
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: pyucalgarysrs
|
|
3
|
+
Version: 1.0.0
|
|
4
|
+
Summary: Tools for interacting with UCalgary Space Remote Sensing data
|
|
5
|
+
Home-page: https://github.com/ucalgary-srs/pyUCalgarySRS
|
|
6
|
+
Author: Darren Chaddock
|
|
7
|
+
Author-email: dchaddoc@ucalgary.ca
|
|
8
|
+
Requires-Python: >=3.9
|
|
9
|
+
Classifier: Programming Language :: Python :: 3
|
|
10
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
11
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
14
|
+
Requires-Dist: h5py (>=3.1.0,<4.0.0)
|
|
15
|
+
Requires-Dist: humanize (>=4.4.0,<5.0.0)
|
|
16
|
+
Requires-Dist: joblib (>=1.0.0,<2.0.0)
|
|
17
|
+
Requires-Dist: numpy (>=1.21.0,<2.0.0)
|
|
18
|
+
Requires-Dist: opencv-python (>=4.4.0,<5.0.0)
|
|
19
|
+
Requires-Dist: requests (>=2.28.0,<3.0.0)
|
|
20
|
+
Requires-Dist: scipy (>=1.6.0,<2.0.0)
|
|
21
|
+
Requires-Dist: texttable (>=1.6.4,<2.0.0)
|
|
22
|
+
Requires-Dist: tqdm (>=4.61.2,<5.0.0)
|
|
23
|
+
Project-URL: Repository, https://github.com/ucalgary-srs/pyUCalgarySRS
|
|
24
|
+
Description-Content-Type: text/markdown
|
|
25
|
+
|
|
26
|
+
# PyUCalgarySRS
|
|
27
|
+
|
|
28
|
+
[](https://github.com/ucalgary-srs/pyUCalgarySRS/actions/workflows/test_linux.yml)
|
|
29
|
+
[](https://pypi.python.org/pypi/pyucalgarysrs/)
|
|
30
|
+
[](https://pypi.python.org/pypi/pyucalgarysrs/)
|
|
31
|
+
|
|
32
|
+
This is the Python library for retrieving and loading data provided by UCalgary Space Remote Sensing. More information including tutorials and dataset descriptions can be found on our open data platform at https://data.phys.ucalgary.ca.
|
|
33
|
+
|
|
34
|
+
PyUCalagarySRS currently supports Python 3.9+.
|
|
35
|
+
|
|
36
|
+
Some links to help:
|
|
37
|
+
- [PyUCalgarySRS API Reference](https://docs-pyucalgarysrs.phys.ucalgary.ca)
|
|
38
|
+
- [Crib sheets that utilize PyUCalgarySRS](https://data.phys.ucalgary.ca/working_with_data/index.html#crib-sheets)
|
|
39
|
+
- [UCalgary Space Remote Sensing Open Data Platform](https://data.phys.ucalgary.ca)
|
|
40
|
+
|
|
41
|
+
## Installation
|
|
42
|
+
|
|
43
|
+
Installation can be done using pip:
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
pip install pyucalgarysrs
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
If you want the most bleeding edge version of PyUCalgarySRS, you can install it directly from the Github repository:
|
|
50
|
+
|
|
51
|
+
```console
|
|
52
|
+
$ git clone https://github.com/ucalgary-srs/pyUCalgarySRS.git
|
|
53
|
+
$ cd pyUCalgarySRS
|
|
54
|
+
$ pip install .
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Usage
|
|
58
|
+
|
|
59
|
+
Below is how the library can be imported:
|
|
60
|
+
|
|
61
|
+
```python
|
|
62
|
+
import pyucalgarysrs
|
|
63
|
+
srs = pyucalgarysrs.PyUCalgarySRS()
|
|
64
|
+
```
|
|
65
|
+
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# PyUCalgarySRS
|
|
2
|
+
|
|
3
|
+
[](https://github.com/ucalgary-srs/pyUCalgarySRS/actions/workflows/test_linux.yml)
|
|
4
|
+
[](https://pypi.python.org/pypi/pyucalgarysrs/)
|
|
5
|
+
[](https://pypi.python.org/pypi/pyucalgarysrs/)
|
|
6
|
+
|
|
7
|
+
This is the Python library for retrieving and loading data provided by UCalgary Space Remote Sensing. More information including tutorials and dataset descriptions can be found on our open data platform at https://data.phys.ucalgary.ca.
|
|
8
|
+
|
|
9
|
+
PyUCalagarySRS currently supports Python 3.9+.
|
|
10
|
+
|
|
11
|
+
Some links to help:
|
|
12
|
+
- [PyUCalgarySRS API Reference](https://docs-pyucalgarysrs.phys.ucalgary.ca)
|
|
13
|
+
- [Crib sheets that utilize PyUCalgarySRS](https://data.phys.ucalgary.ca/working_with_data/index.html#crib-sheets)
|
|
14
|
+
- [UCalgary Space Remote Sensing Open Data Platform](https://data.phys.ucalgary.ca)
|
|
15
|
+
|
|
16
|
+
## Installation
|
|
17
|
+
|
|
18
|
+
Installation can be done using pip:
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
pip install pyucalgarysrs
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
If you want the most bleeding edge version of PyUCalgarySRS, you can install it directly from the Github repository:
|
|
25
|
+
|
|
26
|
+
```console
|
|
27
|
+
$ git clone https://github.com/ucalgary-srs/pyUCalgarySRS.git
|
|
28
|
+
$ cd pyUCalgarySRS
|
|
29
|
+
$ pip install .
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Usage
|
|
33
|
+
|
|
34
|
+
Below is how the library can be imported:
|
|
35
|
+
|
|
36
|
+
```python
|
|
37
|
+
import pyucalgarysrs
|
|
38
|
+
srs = pyucalgarysrs.PyUCalgarySRS()
|
|
39
|
+
```
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["poetry-core>=1.0.0"]
|
|
3
|
+
build-backend = "poetry.core.masonry.api"
|
|
4
|
+
|
|
5
|
+
[tool.poetry]
|
|
6
|
+
name = "pyucalgarysrs"
|
|
7
|
+
version = "1.0.0"
|
|
8
|
+
description = "Tools for interacting with UCalgary Space Remote Sensing data"
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
homepage = "https://github.com/ucalgary-srs/pyUCalgarySRS"
|
|
11
|
+
repository = "https://github.com/ucalgary-srs/pyUCalgarySRS"
|
|
12
|
+
authors = ["Darren Chaddock <dchaddoc@ucalgary.ca>"]
|
|
13
|
+
# license =
|
|
14
|
+
packages = [
|
|
15
|
+
{ include = "pyucalgarysrs" },
|
|
16
|
+
]
|
|
17
|
+
|
|
18
|
+
[tool.poetry.dependencies]
|
|
19
|
+
python = ">=3.9"
|
|
20
|
+
requests = "^2.28.0"
|
|
21
|
+
humanize = "^4.4.0"
|
|
22
|
+
texttable = "^1.6.4"
|
|
23
|
+
tqdm = "^4.61.2"
|
|
24
|
+
numpy = "^1.21.0"
|
|
25
|
+
joblib = "^1.0.0"
|
|
26
|
+
opencv-python = "^4.4.0"
|
|
27
|
+
h5py = "^3.1.0"
|
|
28
|
+
scipy = "^1.6.0"
|
|
29
|
+
|
|
30
|
+
[tool.poetry.group.dev.dependencies]
|
|
31
|
+
ruff = "0.4.9"
|
|
32
|
+
pytest = "8.2.2"
|
|
33
|
+
pycodestyle = "2.12.0"
|
|
34
|
+
yapf = "0.40.2"
|
|
35
|
+
pytest-xdist = "3.6.1"
|
|
36
|
+
pytest-sugar = "1.0.0"
|
|
37
|
+
pytest-cov = "5.0.0"
|
|
38
|
+
bandit = "1.7.9"
|
|
39
|
+
pyright = "1.1.367"
|
|
40
|
+
pdoc3 = "0.10.0"
|
|
41
|
+
|
|
42
|
+
[tool.ruff]
|
|
43
|
+
line-length = 150
|
|
44
|
+
lint.select = ["E", "F", "B", "N"]
|
|
45
|
+
lint.ignore = [
|
|
46
|
+
"F403", # `from .schemas import *` used; unable to detect undefined names
|
|
47
|
+
"F405", # `Union` may be undefined, or defined from star imports
|
|
48
|
+
"B006", # Do not use mutable data structures for argument defaults
|
|
49
|
+
]
|
|
50
|
+
exclude = ["pyucalgarysrs/__init__.py"]
|
|
51
|
+
|
|
52
|
+
[tool.yapf]
|
|
53
|
+
based_on_style = "pep8"
|
|
54
|
+
column_limit = 150
|
|
55
|
+
allow_split_before_dict_value = false
|
|
56
|
+
|
|
57
|
+
[tool.yapfignore]
|
|
58
|
+
ignore_patterns = [
|
|
59
|
+
"temp/**/*.py",
|
|
60
|
+
]
|
|
61
|
+
|
|
62
|
+
[tool.pyright]
|
|
63
|
+
include = [
|
|
64
|
+
"pyucalgarysrs/**/*.py",
|
|
65
|
+
]
|
|
66
|
+
typeCheckingMode = "standard"
|
|
67
|
+
|
|
68
|
+
[tool.pytest.ini_options]
|
|
69
|
+
# addopts = -p no:warnings
|
|
70
|
+
testpaths = [
|
|
71
|
+
"tests/test_suite/**/*.py",
|
|
72
|
+
]
|
|
73
|
+
markers = [
|
|
74
|
+
"top_level: top level PyUCalgarySRS object tests",
|
|
75
|
+
"data_datasets: data distribution dataset tests",
|
|
76
|
+
"data_observatories: data distribution observatory tests",
|
|
77
|
+
"data_geturls: data distribution get_urls tests",
|
|
78
|
+
"data_download: data distribution download tests",
|
|
79
|
+
"data_read: data distribution read tests",
|
|
80
|
+
"atm: auroral transport model tests",
|
|
81
|
+
]
|
|
82
|
+
|
|
83
|
+
[tool.bandit]
|
|
84
|
+
exclude_dirs = ["src/test_suite"]
|
|
85
|
+
tests = []
|
|
86
|
+
skips = ["B110"]
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
# Copyright 2024 University of Calgary
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
"""
|
|
15
|
+
The PyUCalgarySRS library provides a way to interact with the UCalgary Space
|
|
16
|
+
Remote Sensing (SRS) Open Data Platform. It enables users to programmatically
|
|
17
|
+
download and read data, and utilize the TREx Auroral Transport Model (ATM).
|
|
18
|
+
This library leverages the UCalgary SRS API for some functions.
|
|
19
|
+
|
|
20
|
+
For more information about the data available and usage examples, visit the
|
|
21
|
+
[Open Data Platform website](https://data.phys.ucalgary.ca).
|
|
22
|
+
|
|
23
|
+
Installation:
|
|
24
|
+
```console
|
|
25
|
+
$ pip install pyucalgarysrs
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Basic usage:
|
|
29
|
+
```python
|
|
30
|
+
> import pyucalgarysrs
|
|
31
|
+
> srs = pyucalgarysrs.PyUCalgarySRS()
|
|
32
|
+
```
|
|
33
|
+
"""
|
|
34
|
+
|
|
35
|
+
# versioning info
|
|
36
|
+
__version__ = "1.0.0"
|
|
37
|
+
|
|
38
|
+
# documentation
|
|
39
|
+
__pdoc__ = {"pyucalgarysrs": False}
|
|
40
|
+
__all__ = ["PyUCalgarySRS"]
|
|
41
|
+
|
|
42
|
+
# pull in top level class
|
|
43
|
+
from .pyucalgarysrs import PyUCalgarySRS
|
|
44
|
+
|
|
45
|
+
# pull in exceptions
|
|
46
|
+
from .exceptions import (
|
|
47
|
+
SRSError,
|
|
48
|
+
SRSInitializationError,
|
|
49
|
+
SRSPurgeError,
|
|
50
|
+
SRSAPIError,
|
|
51
|
+
SRSUnsupportedReadError,
|
|
52
|
+
SRSDownloadError,
|
|
53
|
+
)
|
|
54
|
+
|
|
55
|
+
# pull in schemas
|
|
56
|
+
from .data.classes import (
|
|
57
|
+
Dataset,
|
|
58
|
+
FileListingResponse,
|
|
59
|
+
FileDownloadResult,
|
|
60
|
+
Calibration,
|
|
61
|
+
CalibrationGenerationInfo,
|
|
62
|
+
Data,
|
|
63
|
+
Skymap,
|
|
64
|
+
SkymapGenerationInfo,
|
|
65
|
+
ProblematicFile,
|
|
66
|
+
Observatory,
|
|
67
|
+
)
|
|
68
|
+
from .models.atm.classes_forward import (
|
|
69
|
+
ATMForwardOutputFlags,
|
|
70
|
+
ATMForwardRequest,
|
|
71
|
+
ATMForwardResult,
|
|
72
|
+
ATMForwardResultRequestInfo,
|
|
73
|
+
)
|
|
74
|
+
from .models.atm.classes_inverse import (
|
|
75
|
+
ATMInverseForwardParams,
|
|
76
|
+
ATMInverseOutputFlags,
|
|
77
|
+
ATMInverseRequest,
|
|
78
|
+
ATMInverseResult,
|
|
79
|
+
ATMInverseResultRequestInfo,
|
|
80
|
+
)
|