sscws 2.4.2__tar.gz → 2.4.4__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 (36) hide show
  1. {sscws-2.4.2/sscws.egg-info → sscws-2.4.4}/PKG-INFO +38 -11
  2. {sscws-2.4.2 → sscws-2.4.4}/README.md +16 -5
  3. {sscws-2.4.2 → sscws-2.4.4}/setup.py +3 -2
  4. {sscws-2.4.2 → sscws-2.4.4}/sscws/__init__.py +3 -3
  5. {sscws-2.4.2 → sscws-2.4.4}/sscws/__main__.py +11 -5
  6. {sscws-2.4.2 → sscws-2.4.4}/sscws/cdf.py +50 -26
  7. {sscws-2.4.2 → sscws-2.4.4}/sscws/sscws.py +23 -3
  8. {sscws-2.4.2 → sscws-2.4.4/sscws.egg-info}/PKG-INFO +38 -11
  9. {sscws-2.4.2 → sscws-2.4.4}/sscws.egg-info/SOURCES.txt +11 -1
  10. {sscws-2.4.2 → sscws-2.4.4}/sscws.egg-info/requires.txt +3 -0
  11. sscws-2.4.4/tests/test_bfieldmodels.py +125 -0
  12. sscws-2.4.4/tests/test_cdf.py +89 -0
  13. sscws-2.4.4/tests/test_conjunctions.py +426 -0
  14. sscws-2.4.4/tests/test_coordinates.py +117 -0
  15. sscws-2.4.4/tests/test_formatoptions.py +77 -0
  16. sscws-2.4.4/tests/test_outputoptions.py +95 -0
  17. sscws-2.4.4/tests/test_regions.py +75 -0
  18. sscws-2.4.4/tests/test_request.py +202 -0
  19. sscws-2.4.4/tests/test_sscws.py +215 -0
  20. sscws-2.4.4/tests/test_timeinterval.py +160 -0
  21. {sscws-2.4.2 → sscws-2.4.4}/LICENSE +0 -0
  22. {sscws-2.4.2 → sscws-2.4.4}/setup.cfg +0 -0
  23. {sscws-2.4.2 → sscws-2.4.4}/sscws/bfieldmodels.py +0 -0
  24. {sscws-2.4.2 → sscws-2.4.4}/sscws/conjunctions.py +0 -0
  25. {sscws-2.4.2 → sscws-2.4.4}/sscws/coordinates.py +0 -0
  26. {sscws-2.4.2 → sscws-2.4.4}/sscws/filteroptions.py +0 -0
  27. {sscws-2.4.2 → sscws-2.4.4}/sscws/formatoptions.py +0 -0
  28. {sscws-2.4.2 → sscws-2.4.4}/sscws/mapping.py +0 -0
  29. {sscws-2.4.2 → sscws-2.4.4}/sscws/outputoptions.py +0 -0
  30. {sscws-2.4.2 → sscws-2.4.4}/sscws/regions.py +0 -0
  31. {sscws-2.4.2 → sscws-2.4.4}/sscws/request.py +0 -0
  32. {sscws-2.4.2 → sscws-2.4.4}/sscws/result.py +0 -0
  33. {sscws-2.4.2 → sscws-2.4.4}/sscws/timeinterval.py +0 -0
  34. {sscws-2.4.2 → sscws-2.4.4}/sscws/tracing.py +0 -0
  35. {sscws-2.4.2 → sscws-2.4.4}/sscws.egg-info/dependency_links.txt +0 -0
  36. {sscws-2.4.2 → sscws-2.4.4}/sscws.egg-info/top_level.txt +0 -0
@@ -1,13 +1,12 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: sscws
3
- Version: 2.4.2
3
+ Version: 2.4.4
4
4
  Summary: NASA's Satellite Situation Center Web Service Client Library
5
5
  Home-page: https://sscweb.gsfc.nasa.gov/WebServices/REST
6
6
  Author: Bernie Harris
7
7
  Author-email: NASA-SPDF-Support@nasa.onmicrosoft.com
8
8
  License: NOSA
9
9
  Keywords: heliophysics,satellites,trajectories,orbits,location,conjunctions,earth magnetic field,ephemeris,space physics,spdf,ssc
10
- Platform: UNKNOWN
11
10
  Classifier: Development Status :: 5 - Production/Stable
12
11
  Classifier: Environment :: Console
13
12
  Classifier: Environment :: Web Environment
@@ -20,9 +19,28 @@ Classifier: Programming Language :: Python
20
19
  Classifier: Topic :: Scientific/Engineering :: Physics
21
20
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
22
21
  Description-Content-Type: text/markdown
22
+ License-File: LICENSE
23
+ Requires-Dist: python-dateutil>=2.8.0
24
+ Requires-Dist: requests>=2.20
25
+ Requires-Dist: numpy>=1.19.4
23
26
  Provides-Extra: plot
27
+ Requires-Dist: matplotlib>=3.3.2; extra == "plot"
24
28
  Provides-Extra: cdf
25
- License-File: LICENSE
29
+ Requires-Dist: cdflib>=0.4.9; extra == "cdf"
30
+ Provides-Extra: cache
31
+ Requires-Dist: requests-cache>=1.2.1; extra == "cache"
32
+ Dynamic: author
33
+ Dynamic: author-email
34
+ Dynamic: classifier
35
+ Dynamic: description
36
+ Dynamic: description-content-type
37
+ Dynamic: home-page
38
+ Dynamic: keywords
39
+ Dynamic: license
40
+ Dynamic: license-file
41
+ Dynamic: provides-extra
42
+ Dynamic: requires-dist
43
+ Dynamic: summary
26
44
 
27
45
 
28
46
  ## Synopsis
@@ -32,7 +50,9 @@ NASA's [Satellite Situation Center](https://sscweb.gsfc.nasa.gov/)
32
50
  into a framework of (empirical) geophysical regions and mappings of
33
51
  spacecraft locations along lines of the Earth's magnetic field.
34
52
  This library implements the client side of the
35
- [SSC RESTful web services](https://sscweb.gsfc.nasa.gov/WebServices/REST/).
53
+ [SSC RESTful web services](https://sscweb.gsfc.nasa.gov/WebServices/REST/)
54
+ and can return data for any of
55
+ [these spacecraft](https://sscweb.gsfc.nasa.gov/scansat.shtml).
36
56
  For more general details about the SSC web services, see
37
57
  https://sscweb.gsfc.nasa.gov/WebServices/REST/.
38
58
 
@@ -71,10 +91,19 @@ methods.
71
91
 
72
92
  ## Dependencies
73
93
 
74
- At this time, the only dependency are:
94
+ The only required dependencies are the following:
95
+
75
96
  1. [requests](https://pypi.org/project/requests/)
76
97
  2. [numpy](https://pypi.ort/project/numpy/)
77
- 3. [matplotlib](https://pypi.org/project/matplotlib/). This is an optional dependency. If it is not installed, the example will simple skip plotting some data.
98
+
99
+ If you want to take advantage of HTTP caching, then install the following:
100
+
101
+ 1. [requests-cache](https://pypi.org/project/requests-cache/).
102
+
103
+ If you want the example to display a plot of some data, then install the
104
+ following:
105
+
106
+ 1. [matplotlib](https://pypi.org/project/matplotlib/).
78
107
 
79
108
  The critical dependencies above will automatically be installed when this
80
109
  library is.
@@ -85,9 +114,9 @@ To install this package
85
114
 
86
115
  $ pip install -U sscws
87
116
 
88
- or to include plotting
117
+ or to include the optional packages
89
118
 
90
- $ pip install -U sscws[plot]
119
+ $ pip install -U sscws[plot,cache]
91
120
 
92
121
 
93
122
  ## API Reference
@@ -115,5 +144,3 @@ Bernie Harris.
115
144
 
116
145
  This code is licensed under the
117
146
  [NASA Open Source Agreement](https://sscweb.gsfc.nasa.gov/WebServices/NASA_Open_Source_Agreement_1.3.txt) (NOSA).
118
-
119
-
@@ -6,7 +6,9 @@ NASA's [Satellite Situation Center](https://sscweb.gsfc.nasa.gov/)
6
6
  into a framework of (empirical) geophysical regions and mappings of
7
7
  spacecraft locations along lines of the Earth's magnetic field.
8
8
  This library implements the client side of the
9
- [SSC RESTful web services](https://sscweb.gsfc.nasa.gov/WebServices/REST/).
9
+ [SSC RESTful web services](https://sscweb.gsfc.nasa.gov/WebServices/REST/)
10
+ and can return data for any of
11
+ [these spacecraft](https://sscweb.gsfc.nasa.gov/scansat.shtml).
10
12
  For more general details about the SSC web services, see
11
13
  https://sscweb.gsfc.nasa.gov/WebServices/REST/.
12
14
 
@@ -45,10 +47,19 @@ methods.
45
47
 
46
48
  ## Dependencies
47
49
 
48
- At this time, the only dependency are:
50
+ The only required dependencies are the following:
51
+
49
52
  1. [requests](https://pypi.org/project/requests/)
50
53
  2. [numpy](https://pypi.ort/project/numpy/)
51
- 3. [matplotlib](https://pypi.org/project/matplotlib/). This is an optional dependency. If it is not installed, the example will simple skip plotting some data.
54
+
55
+ If you want to take advantage of HTTP caching, then install the following:
56
+
57
+ 1. [requests-cache](https://pypi.org/project/requests-cache/).
58
+
59
+ If you want the example to display a plot of some data, then install the
60
+ following:
61
+
62
+ 1. [matplotlib](https://pypi.org/project/matplotlib/).
52
63
 
53
64
  The critical dependencies above will automatically be installed when this
54
65
  library is.
@@ -59,9 +70,9 @@ To install this package
59
70
 
60
71
  $ pip install -U sscws
61
72
 
62
- or to include plotting
73
+ or to include the optional packages
63
74
 
64
- $ pip install -U sscws[plot]
75
+ $ pip install -U sscws[plot,cache]
65
76
 
66
77
 
67
78
  ## API Reference
@@ -10,7 +10,7 @@ README = (HERE / "README.md").read_text()
10
10
  # This call to setup() does all the work
11
11
  setup(
12
12
  name="sscws",
13
- version="2.4.2",
13
+ version="2.4.4",
14
14
  description="NASA's Satellite Situation Center Web Service Client Library",
15
15
  long_description=README,
16
16
  long_description_content_type="text/markdown",
@@ -25,7 +25,8 @@ setup(
25
25
  install_requires=["python-dateutil>=2.8.0", "requests>=2.20", "numpy>=1.19.4"],
26
26
  extras_require={
27
27
  'plot': ["matplotlib>=3.3.2"],
28
- 'cdf': ["cdflib>=0.4.9"]
28
+ 'cdf': ["cdflib>=0.4.9"],
29
+ 'cache': ["requests-cache>=1.2.1"],
29
30
  },
30
31
  keywords=["heliophysics", "satellites", "trajectories", "orbits", "location", "conjunctions", "earth magnetic field", "ephemeris", "space physics", "spdf", "ssc"],
31
32
  classifiers=[
@@ -24,7 +24,7 @@
24
24
  #
25
25
  # NOSA HEADER END
26
26
  #
27
- # Copyright (c) 2020-2024 United States Government as represented by
27
+ # Copyright (c) 2020-2025 United States Government as represented by
28
28
  # the National Aeronautics and Space Administration. No copyright is
29
29
  # claimed in the United States under Title 17, U.S.Code. All Other
30
30
  # Rights Reserved.
@@ -34,7 +34,7 @@
34
34
  Package for accessing the NASA's Satellite Situation Center (SSC) web
35
35
  services https://sscweb.gsfc.nasa.gov/WebServices/REST/.
36
36
 
37
- Copyright © 2020-2024 United States Government as represented by the
37
+ Copyright © 2020-2025 United States Government as represented by the
38
38
  National Aeronautics and Space Administration. No copyright is claimed in
39
39
  the United States under Title 17, U.S.Code. All Other Rights Reserved.
40
40
 
@@ -55,7 +55,7 @@ Notes
55
55
  """
56
56
 
57
57
 
58
- __version__ = "2.4.2"
58
+ __version__ = "2.4.4"
59
59
 
60
60
 
61
61
  #
@@ -24,7 +24,7 @@
24
24
  #
25
25
  # NOSA HEADER END
26
26
  #
27
- # Copyright (c) 2013-2023 United States Government as represented by
27
+ # Copyright (c) 2013-2025 United States Government as represented by
28
28
  # the National Aeronautics and Space Administration. No copyright is
29
29
  # claimed in the United States under Title 17, U.S.Code. All Other
30
30
  # Rights Reserved.
@@ -34,7 +34,7 @@
34
34
  Example Satellite Situation Center (SSC) web services client.
35
35
  https://sscweb.gsfc.nasa.gov/WebServices/REST/.
36
36
 
37
- Copyright © 2013-2023 United States Government as represented by the
37
+ Copyright © 2013-2025 United States Government as represented by the
38
38
  National Aeronautics and Space Administration. No copyright is claimed in
39
39
  the United States under Title 17, U.S.Code. All Other Rights Reserved.
40
40
  """
@@ -123,6 +123,7 @@ def print_usage(
123
123
  print(f'USAGE: {name} [-e url][-d][-c cacerts][-h]')
124
124
  print('WHERE: url = SSC web service endpoint URL')
125
125
  print(' -d disables TLS server certificate validation')
126
+ print(' -n disables the use of http caching')
126
127
  print(' cacerts = CA certificate filename')
127
128
 
128
129
 
@@ -144,13 +145,14 @@ def example(
144
145
  containing the CA certificates to use.<br>
145
146
  -d or --disable-cert-check to disable verification of the server's
146
147
  certificate
148
+ -n or --nocache disables the use of http caching
147
149
  -h or --help prints help information.
148
150
  """
149
151
 
150
152
  try:
151
- opts = getopt.getopt(argv[1:], 'he:c:d',
153
+ opts = getopt.getopt(argv[1:], 'he:c:dn',
152
154
  ['help', 'endpoint=', 'cacerts=',
153
- 'disable-cert-check'])[0]
155
+ 'disable-cert-check', 'nocache'])[0]
154
156
  except getopt.GetoptError:
155
157
  print('ERROR: invalid option')
156
158
  print_usage(argv[0])
@@ -159,6 +161,7 @@ def example(
159
161
  endpoint = ENDPOINT
160
162
  ca_certs = None
161
163
  disable_ssl_certificate_validation = False
164
+ disable_cache = False
162
165
 
163
166
  for opt, arg in opts:
164
167
  if opt in ('-e', '--endpoint'):
@@ -168,13 +171,16 @@ def example(
168
171
  elif opt in ('-d', '--disable-cert-check'):
169
172
  disable_ssl_certificate_validation = True
170
173
  urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
174
+ elif opt in ('-n', '--nocache'):
175
+ disable_cache = True
171
176
  elif opt in ('-h', '--help'):
172
177
  print_usage(argv[0])
173
178
  sys.exit()
174
179
 
175
180
  ssc = SscWs(endpoint=endpoint, ca_certs=ca_certs,
176
181
  disable_ssl_certificate_validation=
177
- disable_ssl_certificate_validation, user_agent='Example')
182
+ disable_ssl_certificate_validation,
183
+ disable_cache = disable_cache, user_agent='Example')
178
184
 
179
185
  result = ssc.get_observatories()
180
186
  if result['HttpStatus'] == 200:
@@ -24,7 +24,7 @@
24
24
  #
25
25
  # NOSA HEADER END
26
26
  #
27
- # Copyright (c) 2023-2024 United States Government as represented by
27
+ # Copyright (c) 2023-2025 United States Government as represented by
28
28
  # the National Aeronautics and Space Administration. No copyright is
29
29
  # claimed in the United States under Title 17, U.S.Code. All Other
30
30
  # Rights Reserved.
@@ -38,7 +38,7 @@ Center (SSC) <https://sscweb.gsfc.nasa.gov>. This module is specialized
38
38
  for SSC CDF files. It should not be used for more general CDF files.
39
39
  <br>
40
40
 
41
- Copyright &copy; 2023-2024 United States Government as represented by the
41
+ Copyright &copy; 2023-2025 United States Government as represented by the
42
42
  National Aeronautics and Space Administration. No copyright is claimed in
43
43
  the United States under Title 17, U.S.Code. All Other Rights Reserved.
44
44
  """
@@ -473,10 +473,13 @@ class Cdf:
473
473
  Spacecraft region information.
474
474
  """
475
475
 
476
- region_codes = self.get_value('SPACECRAFT_REGIONS')
477
-
478
476
  regions = []
479
477
 
478
+ try:
479
+ region_codes = self.get_value('SPACECRAFT_REGIONS')
480
+ except ValueError:
481
+ return regions
482
+
480
483
  for region_code in region_codes:
481
484
  regions.append(SpaceRegion.from_code(region_code))
482
485
 
@@ -496,10 +499,13 @@ class Cdf:
496
499
  Trace footpoint region information.
497
500
  """
498
501
 
499
- region_codes = self.get_value(name + 'TRACED_REGIONS')
500
-
501
502
  regions = []
502
503
 
504
+ try:
505
+ region_codes = self.get_value(name + 'TRACED_REGIONS')
506
+ except ValueError:
507
+ return regions
508
+
503
509
  for region_code in region_codes:
504
510
  regions.append(FootpointRegion.from_code(region_code))
505
511
 
@@ -537,29 +543,47 @@ class Cdf:
537
543
  Dict
538
544
  The SatelliteData from this CDF.
539
545
  """
546
+ var_names = self.get_variable_names()
540
547
  data = {}
541
548
  data['Id'] = self.get_satellite_name().lower()
542
549
  data['Coordinates'] = self.get_coordinate_data()
543
550
  data['Time'] = self.get_time()
544
- data['BTraceData'] = self.get_b_trace_data()
545
-
546
- data['RadialLength'] = self.get_value('RADIUS')
547
- data['MagneticStrength'] = self.get_value('MAG_STRTH')
548
- data['NeutralSheetDistance'] = self.get_value('DNEUTS')
549
-
550
- data['BowShockDistance'] = self.get_value('BOW_SHOCK')
551
- data['MagnetoPauseDistance'] = self.get_value('MAG_PAUSE')
552
- data['DipoleLValue'] = self.get_value('L_VALUE')
553
- data['DipoleInvariantLatitude'] = self.get_value('INVAR_LAT')
554
- data['SpacecraftRegion'] = self.get_spacecraft_region()
555
- data['RadialTracedFootpointRegions'] = \
556
- self.get_footpoint_regions('RADIAL_')
557
- data['BGseX'] = self.get_b_gse_component('X')
558
- data['BGseY'] = self.get_b_gse_component('Y')
559
- data['BGseZ'] = self.get_b_gse_component('Z')
560
- data['NorthBTracedFootpointRegions'] = \
561
- self.get_footpoint_regions('NORTH_B')
562
- data['SouthBTracedFootpointRegions'] = \
563
- self.get_footpoint_regions('SOUTH_B')
551
+ b_trace_data = self.get_b_trace_data()
552
+ if len(b_trace_data) > 0:
553
+ data['BTraceData'] = b_trace_data
554
+
555
+ if 'RADIUS' in var_names:
556
+ data['RadialLength'] = self.get_value('RADIUS')
557
+ if 'MAG_STRTH' in var_names:
558
+ data['MagneticStrength'] = self.get_value('MAG_STRTH')
559
+ if 'DNEUTS' in var_names:
560
+ data['NeutralSheetDistance'] = self.get_value('DNEUTS')
561
+
562
+ if 'BOW_SHOCK' in var_names:
563
+ data['BowShockDistance'] = self.get_value('BOW_SHOCK')
564
+ if 'MAG_PAUSE' in var_names:
565
+ data['MagnetoPauseDistance'] = self.get_value('MAG_PAUSE')
566
+ if 'L_VALUE' in var_names:
567
+ data['DipoleLValue'] = self.get_value('L_VALUE')
568
+ if 'INVAR_LAT' in var_names:
569
+ data['DipoleInvariantLatitude'] = self.get_value('INVAR_LAT')
570
+ sc_region = self.get_spacecraft_region()
571
+ if len(sc_region) > 0:
572
+ data['SpacecraftRegion'] = sc_region
573
+ if 'RADIAL_TRACED_REGIONS' in var_names:
574
+ data['RadialTracedFootpointRegions'] = \
575
+ self.get_footpoint_regions('RADIAL_')
576
+ if 'MAG_X' in var_names:
577
+ data['BGseX'] = self.get_b_gse_component('X')
578
+ if 'MAG_Y' in var_names:
579
+ data['BGseY'] = self.get_b_gse_component('Y')
580
+ if 'MAG_Z' in var_names:
581
+ data['BGseZ'] = self.get_b_gse_component('Z')
582
+ if 'NORTH_B_TRACED_REGIONS' in var_names:
583
+ data['NorthBTracedFootpointRegions'] = \
584
+ self.get_footpoint_regions('NORTH_B')
585
+ if 'SOUTH_B_TRACED_REGIONS' in var_names:
586
+ data['SouthBTracedFootpointRegions'] = \
587
+ self.get_footpoint_regions('SOUTH_B')
564
588
 
565
589
  return data
@@ -24,7 +24,7 @@
24
24
  #
25
25
  # NOSA HEADER END
26
26
  #
27
- # Copyright (c) 2013-2024 United States Government as represented by
27
+ # Copyright (c) 2013-2025 United States Government as represented by
28
28
  # the National Aeronautics and Space Administration. No copyright is
29
29
  # claimed in the United States under Title 17, U.S.Code. All Other
30
30
  # Rights Reserved.
@@ -33,6 +33,11 @@
33
33
  """
34
34
  Module for accessing the Satellite Situation Center (SSC) web services
35
35
  https://sscweb.gsfc.nasa.gov/WebServices/REST/.
36
+ <br>
37
+
38
+ Copyright &copy; 2013-2025 United States Government as represented by the
39
+ National Aeronautics and Space Administration. No copyright is claimed in
40
+ the United States under Title 17, U.S.Code. All Other Rights Reserved.
36
41
  """
37
42
 
38
43
  import sys
@@ -52,6 +57,12 @@ import dateutil.parser
52
57
 
53
58
  import numpy as np
54
59
 
60
+ try:
61
+ import requests_cache
62
+ CACHE_AVAILABLE = True
63
+ except ImportError:
64
+ CACHE_AVAILABLE = False
65
+
55
66
  from sscws import __version__, RETRY_LIMIT, NAMESPACES as NS
56
67
  try:
57
68
  from sscws.cdf import Cdf
@@ -96,6 +107,8 @@ class SscWs:
96
107
  Flag indicating whether to validate the SSL certificate.
97
108
  user_agent
98
109
  A value that is appended to the HTTP User-Agent values.
110
+ disable_cache
111
+ Flag indicating whether to disable HTTP caching.
99
112
 
100
113
  Notes
101
114
  -----
@@ -120,7 +133,8 @@ class SscWs:
120
133
  proxy=None,
121
134
  ca_certs=None,
122
135
  disable_ssl_certificate_validation=False,
123
- user_agent=None):
136
+ user_agent=None,
137
+ disable_cache=False):
124
138
 
125
139
  self.logger = logging.getLogger(type(self).__name__)
126
140
  self.logger.addHandler(logging.NullHandler())
@@ -131,6 +145,7 @@ class SscWs:
131
145
  self.logger.debug('ca_certs = %s', ca_certs)
132
146
  self.logger.debug('disable_ssl_certificate_validation = %s',
133
147
  disable_ssl_certificate_validation)
148
+ self.logger.debug('disable_cache = %s', disable_cache)
134
149
 
135
150
  if endpoint is None:
136
151
  self._endpoint = 'https://sscweb.gsfc.nasa.gov/WS/sscr/2/'
@@ -149,7 +164,12 @@ class SscWs:
149
164
  'Accept' : 'application/xml',
150
165
  'User-Agent' : self._user_agent
151
166
  }
152
- self._session = requests.Session()
167
+ if CACHE_AVAILABLE and disable_cache is not True:
168
+ self._session = requests_cache.CachedSession('sscws_cache',
169
+ cache_control=True)
170
+ else:
171
+ self._session = requests.Session()
172
+
153
173
  #self._session.max_redirects = 0
154
174
  self._session.headers.update(self._request_headers)
155
175
 
@@ -1,13 +1,12 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: sscws
3
- Version: 2.4.2
3
+ Version: 2.4.4
4
4
  Summary: NASA's Satellite Situation Center Web Service Client Library
5
5
  Home-page: https://sscweb.gsfc.nasa.gov/WebServices/REST
6
6
  Author: Bernie Harris
7
7
  Author-email: NASA-SPDF-Support@nasa.onmicrosoft.com
8
8
  License: NOSA
9
9
  Keywords: heliophysics,satellites,trajectories,orbits,location,conjunctions,earth magnetic field,ephemeris,space physics,spdf,ssc
10
- Platform: UNKNOWN
11
10
  Classifier: Development Status :: 5 - Production/Stable
12
11
  Classifier: Environment :: Console
13
12
  Classifier: Environment :: Web Environment
@@ -20,9 +19,28 @@ Classifier: Programming Language :: Python
20
19
  Classifier: Topic :: Scientific/Engineering :: Physics
21
20
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
22
21
  Description-Content-Type: text/markdown
22
+ License-File: LICENSE
23
+ Requires-Dist: python-dateutil>=2.8.0
24
+ Requires-Dist: requests>=2.20
25
+ Requires-Dist: numpy>=1.19.4
23
26
  Provides-Extra: plot
27
+ Requires-Dist: matplotlib>=3.3.2; extra == "plot"
24
28
  Provides-Extra: cdf
25
- License-File: LICENSE
29
+ Requires-Dist: cdflib>=0.4.9; extra == "cdf"
30
+ Provides-Extra: cache
31
+ Requires-Dist: requests-cache>=1.2.1; extra == "cache"
32
+ Dynamic: author
33
+ Dynamic: author-email
34
+ Dynamic: classifier
35
+ Dynamic: description
36
+ Dynamic: description-content-type
37
+ Dynamic: home-page
38
+ Dynamic: keywords
39
+ Dynamic: license
40
+ Dynamic: license-file
41
+ Dynamic: provides-extra
42
+ Dynamic: requires-dist
43
+ Dynamic: summary
26
44
 
27
45
 
28
46
  ## Synopsis
@@ -32,7 +50,9 @@ NASA's [Satellite Situation Center](https://sscweb.gsfc.nasa.gov/)
32
50
  into a framework of (empirical) geophysical regions and mappings of
33
51
  spacecraft locations along lines of the Earth's magnetic field.
34
52
  This library implements the client side of the
35
- [SSC RESTful web services](https://sscweb.gsfc.nasa.gov/WebServices/REST/).
53
+ [SSC RESTful web services](https://sscweb.gsfc.nasa.gov/WebServices/REST/)
54
+ and can return data for any of
55
+ [these spacecraft](https://sscweb.gsfc.nasa.gov/scansat.shtml).
36
56
  For more general details about the SSC web services, see
37
57
  https://sscweb.gsfc.nasa.gov/WebServices/REST/.
38
58
 
@@ -71,10 +91,19 @@ methods.
71
91
 
72
92
  ## Dependencies
73
93
 
74
- At this time, the only dependency are:
94
+ The only required dependencies are the following:
95
+
75
96
  1. [requests](https://pypi.org/project/requests/)
76
97
  2. [numpy](https://pypi.ort/project/numpy/)
77
- 3. [matplotlib](https://pypi.org/project/matplotlib/). This is an optional dependency. If it is not installed, the example will simple skip plotting some data.
98
+
99
+ If you want to take advantage of HTTP caching, then install the following:
100
+
101
+ 1. [requests-cache](https://pypi.org/project/requests-cache/).
102
+
103
+ If you want the example to display a plot of some data, then install the
104
+ following:
105
+
106
+ 1. [matplotlib](https://pypi.org/project/matplotlib/).
78
107
 
79
108
  The critical dependencies above will automatically be installed when this
80
109
  library is.
@@ -85,9 +114,9 @@ To install this package
85
114
 
86
115
  $ pip install -U sscws
87
116
 
88
- or to include plotting
117
+ or to include the optional packages
89
118
 
90
- $ pip install -U sscws[plot]
119
+ $ pip install -U sscws[plot,cache]
91
120
 
92
121
 
93
122
  ## API Reference
@@ -115,5 +144,3 @@ Bernie Harris.
115
144
 
116
145
  This code is licensed under the
117
146
  [NASA Open Source Agreement](https://sscweb.gsfc.nasa.gov/WebServices/NASA_Open_Source_Agreement_1.3.txt) (NOSA).
118
-
119
-
@@ -21,4 +21,14 @@ sscws.egg-info/PKG-INFO
21
21
  sscws.egg-info/SOURCES.txt
22
22
  sscws.egg-info/dependency_links.txt
23
23
  sscws.egg-info/requires.txt
24
- sscws.egg-info/top_level.txt
24
+ sscws.egg-info/top_level.txt
25
+ tests/test_bfieldmodels.py
26
+ tests/test_cdf.py
27
+ tests/test_conjunctions.py
28
+ tests/test_coordinates.py
29
+ tests/test_formatoptions.py
30
+ tests/test_outputoptions.py
31
+ tests/test_regions.py
32
+ tests/test_request.py
33
+ tests/test_sscws.py
34
+ tests/test_timeinterval.py
@@ -2,6 +2,9 @@ python-dateutil>=2.8.0
2
2
  requests>=2.20
3
3
  numpy>=1.19.4
4
4
 
5
+ [cache]
6
+ requests-cache>=1.2.1
7
+
5
8
  [cdf]
6
9
  cdflib>=0.4.9
7
10