pygnss 0.5.0__cp313-cp313-musllinux_1_2_i686.whl → 0.6.0__cp313-cp313-musllinux_1_2_i686.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 pygnss might be problematic. Click here for more details.

pygnss/__init__.py CHANGED
@@ -1 +1 @@
1
- __version__ = "0.5.0"
1
+ __version__ = "0.6.0"
pygnss/ionex.py CHANGED
@@ -1,5 +1,7 @@
1
+ import argparse
1
2
  import datetime
2
3
  import math
4
+ import os
3
5
  from typing import List
4
6
 
5
7
  import numpy as np
@@ -132,7 +134,7 @@ def write(filename: str, gims: List[gim.Gim], gim_type: gim.GimType,
132
134
 
133
135
 
134
136
 
135
- def diff(filename_lhs: str, filename_rhs: str, output_file: str) -> None:
137
+ def diff(filename_lhs: str, filename_rhs: str, output_file: str, pgm="pygnss.ionex") -> None:
136
138
  """
137
139
  Compute the difference between two IONEX files and write the result in IONEX format
138
140
  """
@@ -145,7 +147,14 @@ def diff(filename_lhs: str, filename_rhs: str, output_file: str) -> None:
145
147
 
146
148
  gim_diffs = gim.subtract_gims(gim_handler_lhs.vtec_gims, gim_handler_rhs.vtec_gims)
147
149
 
148
- write(output_file, gim_diffs, gim.GimType.TEC)
150
+ comment_lines = [
151
+ "This IONEX file contains the differences of VTEC values,",
152
+ "computed as vtec_left - vtec_right, where:",
153
+ f"- vtec_left: {os.path.basename(filename_lhs)}",
154
+ f"- vtec_right: {os.path.basename(filename_rhs)}",
155
+ ]
156
+
157
+ write(output_file, gim_diffs, gim.GimType.TEC, pgm=pgm, comment_lines=comment_lines)
149
158
 
150
159
 
151
160
  @read_contents
@@ -257,3 +266,37 @@ def _parse_ionex_epoch(ionex_line: str) -> datetime.datetime:
257
266
  _HEADER_EPOCH_FORMAT = " %Y %m %d %H %M %S"
258
267
 
259
268
  return datetime.datetime.strptime(ionex_line[:36], _HEADER_EPOCH_FORMAT)
269
+
270
+
271
+ def cli():
272
+ """
273
+ This function allows users to compute the difference between two IONEX files
274
+ and save the result in a new IONEX file.
275
+ """
276
+ parser = argparse.ArgumentParser(
277
+ description="Compute the difference between two IONEX files and save the result in a new IONEX file."
278
+ )
279
+
280
+ parser.add_argument(
281
+ "lhs",
282
+ type=str,
283
+ help="Path to the first IONEX file (left-hand side).",
284
+ )
285
+
286
+ parser.add_argument(
287
+ "rhs",
288
+ type=str,
289
+ help="Path to the second IONEX file (right-hand side).",
290
+ )
291
+
292
+ parser.add_argument(
293
+ "output",
294
+ type=str,
295
+ help="Path to the output IONEX file where the differences will be saved.",
296
+ )
297
+
298
+ args = parser.parse_args()
299
+
300
+ PGM = "ionex_diff"
301
+
302
+ diff(args.lhs, args.rhs, args.output, pgm=PGM)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pygnss
3
- Version: 0.5.0
3
+ Version: 0.6.0
4
4
  Summary: Package with utilities and tools for GNSS data processing
5
5
  Author-email: Miquel Garcia-Fernandez <miquel@mgfernan.com>
6
6
  License: MIT
@@ -1,4 +1,4 @@
1
- pygnss/__init__.py,sha256=LBK46heutvn3KmsCrKIYu8RQikbfnjZaj2xFrXaeCzQ,22
1
+ pygnss/__init__.py,sha256=cID1jLnC_vj48GgMN6Yb1FA3JsQ95zNmCHmRYE8TFhY,22
2
2
  pygnss/_c_ext.cpython-313-i386-linux-musl.so,sha256=9CwtpxkeyS2ajcDuwlLpG1R9QsgwtBkl6wMFDeK4LNw,81152
3
3
  pygnss/cl.py,sha256=ISmd2RjikUMmj3nLPN0VSjvQLG5rLizp2X2ajeBkoDE,4509
4
4
  pygnss/constants.py,sha256=1hF6K92X6E6Ofo0rAuCBCgrwln9jxio26RV2a6vyURk,133
@@ -6,7 +6,7 @@ pygnss/decorator.py,sha256=qB-0jl2GTEHJdvmDruNll5X3RrdySssv94u9Hok5-lA,1438
6
6
  pygnss/file.py,sha256=kkMBWjoTPkxJD1UgH0mXJT2fxnhU8u7_l2Ph5Xz2-hY,933
7
7
  pygnss/geodetic.py,sha256=3q8Rpl4b5CxGlhdn1nQRBHHSW1v-0PBFz54zOeVyO74,33633
8
8
  pygnss/hatanaka.py,sha256=P9XG6bZwUzfAPYn--6-DXfFQIEefeimE7fMJm_DF5zE,1951
9
- pygnss/ionex.py,sha256=n_5IADZcTg1nCKApT19fvnAh5823QgbRkX8oPYDdpSI,9244
9
+ pygnss/ionex.py,sha256=Sk0U_hRyYE7cEwLyMIgiY-2bBs6wktzKmZdI92HrU7c,10422
10
10
  pygnss/logger.py,sha256=4kvcTWXPoiG-MlyP6B330l4Fu7MfCuDjuIlIiLA8f1Y,1479
11
11
  pygnss/nequick.py,sha256=tSsUw3FoRWS-TBKKVb0_c90DFz_2jUTkUvNPsGQOLA8,1722
12
12
  pygnss/rinex.py,sha256=LsOOh3Fc263kkM8KOUBNeMeIAmbOn2ASSBO4rAUJWj8,68783
@@ -32,9 +32,9 @@ pygnss/orbit/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
32
32
  pygnss/orbit/kepler.py,sha256=QORTgg5yBtsQXxLWSzoZ1pmh-CwPiZlFdIYqhQhv1a0,1745
33
33
  pygnss/orbit/tle.py,sha256=6CIEielPgui3DXNv46XxOGlig31ROIwjH42xLGaeE5M,5905
34
34
  pygnss/parsers/rtklib/stats.py,sha256=YV6yadxMeQMQYZvsUCaSf4ZTpK8Bbv3f2xgu0l4PekA,5449
35
- pygnss-0.5.0.dist-info/METADATA,sha256=9HBJeG5a0H-MIxtMwwkPP3DqulH3GIoX_8l5O0E77pk,1659
36
- pygnss-0.5.0.dist-info/WHEEL,sha256=qeaIuaJB-6C86fEu4NQSDId-fDkNNB1_xWNvSM-4W7I,110
37
- pygnss-0.5.0.dist-info/entry_points.txt,sha256=mCuKrljB_wh9ZQVROiId9m68EDbTiY1oef_L1N3IDDA,262
38
- pygnss-0.5.0.dist-info/top_level.txt,sha256=oZRSR-qOv98VW2PRRMGCVNCJmewcJjyJYmxzxfeimtg,7
39
- pygnss-0.5.0.dist-info/RECORD,,
40
- pygnss-0.5.0.dist-info/licenses/LICENSE,sha256=Wwany6RAAZ9vVHjFLA9KBJ0HE77d52s2NOUA1CPAEug,1067
35
+ pygnss-0.6.0.dist-info/METADATA,sha256=0gGj855FG6F9WGYHCsZ3gbEPX8avn7JP_P5r3QNExa4,1659
36
+ pygnss-0.6.0.dist-info/WHEEL,sha256=qeaIuaJB-6C86fEu4NQSDId-fDkNNB1_xWNvSM-4W7I,110
37
+ pygnss-0.6.0.dist-info/entry_points.txt,sha256=awWUCMfX3uMIAPPZqZfSUuw7Kd7defip8L7GtthKqgg,292
38
+ pygnss-0.6.0.dist-info/top_level.txt,sha256=oZRSR-qOv98VW2PRRMGCVNCJmewcJjyJYmxzxfeimtg,7
39
+ pygnss-0.6.0.dist-info/RECORD,,
40
+ pygnss-0.6.0.dist-info/licenses/LICENSE,sha256=Wwany6RAAZ9vVHjFLA9KBJ0HE77d52s2NOUA1CPAEug,1067
@@ -1,6 +1,7 @@
1
1
  [console_scripts]
2
2
  cl = pygnss.cl:entry_point
3
3
  compute_cdf = pygnss.stats:cdf_cli
4
+ ionex_diff = pygnss.ionex:cli
4
5
  merge_rinex_nav = pygnss.rinex:merge_nav_cli
5
6
  rinex_from_file = pygnss.rinex:rinex_from_file
6
7
  rinex_to_parquet = pygnss.rinex:rinex_to_parquet
File without changes