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.
Files changed (26) hide show
  1. pyucalgarysrs-1.0.0/LICENSE +13 -0
  2. pyucalgarysrs-1.0.0/PKG-INFO +65 -0
  3. pyucalgarysrs-1.0.0/README.md +39 -0
  4. pyucalgarysrs-1.0.0/pyproject.toml +86 -0
  5. pyucalgarysrs-1.0.0/pyucalgarysrs/__init__.py +80 -0
  6. pyucalgarysrs-1.0.0/pyucalgarysrs/data/__init__.py +487 -0
  7. pyucalgarysrs-1.0.0/pyucalgarysrs/data/_download.py +251 -0
  8. pyucalgarysrs-1.0.0/pyucalgarysrs/data/_list.py +90 -0
  9. pyucalgarysrs-1.0.0/pyucalgarysrs/data/classes.py +694 -0
  10. pyucalgarysrs-1.0.0/pyucalgarysrs/data/read/__init__.py +946 -0
  11. pyucalgarysrs-1.0.0/pyucalgarysrs/data/read/_calibration.py +102 -0
  12. pyucalgarysrs-1.0.0/pyucalgarysrs/data/read/_rego.py +309 -0
  13. pyucalgarysrs-1.0.0/pyucalgarysrs/data/read/_skymap.py +109 -0
  14. pyucalgarysrs-1.0.0/pyucalgarysrs/data/read/_themis.py +295 -0
  15. pyucalgarysrs-1.0.0/pyucalgarysrs/data/read/_trex_blue.py +321 -0
  16. pyucalgarysrs-1.0.0/pyucalgarysrs/data/read/_trex_nir.py +319 -0
  17. pyucalgarysrs-1.0.0/pyucalgarysrs/data/read/_trex_rgb.py +605 -0
  18. pyucalgarysrs-1.0.0/pyucalgarysrs/data/read/_trex_spectrograph.py +316 -0
  19. pyucalgarysrs-1.0.0/pyucalgarysrs/exceptions.py +62 -0
  20. pyucalgarysrs-1.0.0/pyucalgarysrs/models/__init__.py +38 -0
  21. pyucalgarysrs-1.0.0/pyucalgarysrs/models/atm/__init__.py +272 -0
  22. pyucalgarysrs-1.0.0/pyucalgarysrs/models/atm/_forward.py +127 -0
  23. pyucalgarysrs-1.0.0/pyucalgarysrs/models/atm/_inverse.py +116 -0
  24. pyucalgarysrs-1.0.0/pyucalgarysrs/models/atm/classes_forward.py +303 -0
  25. pyucalgarysrs-1.0.0/pyucalgarysrs/models/atm/classes_inverse.py +303 -0
  26. 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
+ [![GitHub tests](https://github.com/ucalgary-srs/pyUCalgarySRS/actions/workflows/test_linux.yml/badge.svg)](https://github.com/ucalgary-srs/pyUCalgarySRS/actions/workflows/test_linux.yml)
29
+ [![PyPI version](https://img.shields.io/pypi/v/pyucalgarysrs.svg)](https://pypi.python.org/pypi/pyucalgarysrs/)
30
+ [![PyPI Python versions](https://img.shields.io/pypi/pyversions/pyucalgarysrs)](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
+ [![GitHub tests](https://github.com/ucalgary-srs/pyUCalgarySRS/actions/workflows/test_linux.yml/badge.svg)](https://github.com/ucalgary-srs/pyUCalgarySRS/actions/workflows/test_linux.yml)
4
+ [![PyPI version](https://img.shields.io/pypi/v/pyucalgarysrs.svg)](https://pypi.python.org/pypi/pyucalgarysrs/)
5
+ [![PyPI Python versions](https://img.shields.io/pypi/pyversions/pyucalgarysrs)](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
+ )