pygnssutils 1.2.5__tar.gz → 1.2.7__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 (62) hide show
  1. {pygnssutils-1.2.5/src/pygnssutils.egg-info → pygnssutils-1.2.7}/PKG-INFO +6 -47
  2. {pygnssutils-1.2.5 → pygnssutils-1.2.7}/README.md +3 -43
  3. {pygnssutils-1.2.5 → pygnssutils-1.2.7}/pyproject.toml +2 -4
  4. {pygnssutils-1.2.5 → pygnssutils-1.2.7}/src/pygnssutils/__init__.py +0 -2
  5. {pygnssutils-1.2.5 → pygnssutils-1.2.7}/src/pygnssutils/_version.py +1 -1
  6. {pygnssutils-1.2.5 → pygnssutils-1.2.7}/src/pygnssutils/globals.py +0 -4
  7. {pygnssutils-1.2.5 → pygnssutils-1.2.7}/src/pygnssutils/gnssreader.py +260 -110
  8. {pygnssutils-1.2.5 → pygnssutils-1.2.7}/src/pygnssutils/gnssstreamer.py +9 -0
  9. {pygnssutils-1.2.5 → pygnssutils-1.2.7}/src/pygnssutils/gnssstreamer_cli.py +19 -38
  10. pygnssutils-1.2.7/src/pygnssutils/rawnav.py +551 -0
  11. {pygnssutils-1.2.5 → pygnssutils-1.2.7}/src/pygnssutils/rawnav_reader.py +23 -10
  12. pygnssutils-1.2.7/src/pygnssutils/rawnav_subframes_bds.py +552 -0
  13. pygnssutils-1.2.7/src/pygnssutils/rawnav_subframes_gal.py +476 -0
  14. pygnssutils-1.2.7/src/pygnssutils/rawnav_subframes_glo.py +225 -0
  15. pygnssutils-1.2.7/src/pygnssutils/rawnav_subframes_gps.py +1045 -0
  16. pygnssutils-1.2.7/src/pygnssutils/rawnav_subframes_irn.py +183 -0
  17. pygnssutils-1.2.7/src/pygnssutils/rawnav_subframes_qzs.py +534 -0
  18. pygnssutils-1.2.7/src/pygnssutils/rawnav_subframes_sba.py +396 -0
  19. {pygnssutils-1.2.5 → pygnssutils-1.2.7}/src/pygnssutils/rinex_conv.py +114 -69
  20. {pygnssutils-1.2.5 → pygnssutils-1.2.7}/src/pygnssutils/rinex_conv_cli.py +56 -42
  21. {pygnssutils-1.2.5 → pygnssutils-1.2.7}/src/pygnssutils/rinex_conv_met.py +16 -11
  22. {pygnssutils-1.2.5 → pygnssutils-1.2.7}/src/pygnssutils/rinex_conv_nav.py +103 -74
  23. {pygnssutils-1.2.5 → pygnssutils-1.2.7}/src/pygnssutils/rinex_conv_obs.py +42 -72
  24. {pygnssutils-1.2.5 → pygnssutils-1.2.7}/src/pygnssutils/rinex_globals.py +32 -27
  25. {pygnssutils-1.2.5 → pygnssutils-1.2.7}/src/pygnssutils/rinex_helpers.py +118 -29
  26. {pygnssutils-1.2.5 → pygnssutils-1.2.7/src/pygnssutils.egg-info}/PKG-INFO +6 -47
  27. {pygnssutils-1.2.5 → pygnssutils-1.2.7}/src/pygnssutils.egg-info/SOURCES.txt +0 -3
  28. {pygnssutils-1.2.5 → pygnssutils-1.2.7}/src/pygnssutils.egg-info/entry_points.txt +0 -1
  29. {pygnssutils-1.2.5 → pygnssutils-1.2.7}/src/pygnssutils.egg-info/requires.txt +2 -3
  30. {pygnssutils-1.2.5 → pygnssutils-1.2.7}/tests/test_cli.py +0 -5
  31. {pygnssutils-1.2.5 → pygnssutils-1.2.7}/tests/test_rawnav.py +1 -4
  32. {pygnssutils-1.2.5 → pygnssutils-1.2.7}/tests/test_rinex.py +47 -13
  33. {pygnssutils-1.2.5 → pygnssutils-1.2.7}/tests/test_rinex_defs.py +56 -39
  34. pygnssutils-1.2.7/tests/test_rinex_parse.py +739 -0
  35. {pygnssutils-1.2.5 → pygnssutils-1.2.7}/tests/test_static.py +16 -18
  36. pygnssutils-1.2.5/src/pygnssutils/gnssmqttclient.py +0 -481
  37. pygnssutils-1.2.5/src/pygnssutils/gnssmqttclient_cli.py +0 -261
  38. pygnssutils-1.2.5/src/pygnssutils/mqttmessage.py +0 -74
  39. pygnssutils-1.2.5/src/pygnssutils/rawnav.py +0 -340
  40. pygnssutils-1.2.5/src/pygnssutils/rawnav_subframes_bds.py +0 -541
  41. pygnssutils-1.2.5/src/pygnssutils/rawnav_subframes_gal.py +0 -451
  42. pygnssutils-1.2.5/src/pygnssutils/rawnav_subframes_glo.py +0 -143
  43. pygnssutils-1.2.5/src/pygnssutils/rawnav_subframes_gps.py +0 -977
  44. pygnssutils-1.2.5/src/pygnssutils/rawnav_subframes_irn.py +0 -171
  45. pygnssutils-1.2.5/src/pygnssutils/rawnav_subframes_qzs.py +0 -518
  46. pygnssutils-1.2.5/src/pygnssutils/rawnav_subframes_sba.py +0 -144
  47. pygnssutils-1.2.5/tests/test_rinex_parse.py +0 -491
  48. {pygnssutils-1.2.5 → pygnssutils-1.2.7}/LICENSE +0 -0
  49. {pygnssutils-1.2.5 → pygnssutils-1.2.7}/setup.cfg +0 -0
  50. {pygnssutils-1.2.5 → pygnssutils-1.2.7}/src/pygnssutils/exceptions.py +0 -0
  51. {pygnssutils-1.2.5 → pygnssutils-1.2.7}/src/pygnssutils/gnssntripclient.py +0 -0
  52. {pygnssutils-1.2.5 → pygnssutils-1.2.7}/src/pygnssutils/gnssntripclient_cli.py +0 -0
  53. {pygnssutils-1.2.5 → pygnssutils-1.2.7}/src/pygnssutils/gnssserver.py +0 -0
  54. {pygnssutils-1.2.5 → pygnssutils-1.2.7}/src/pygnssutils/gnssserver_cli.py +0 -0
  55. {pygnssutils-1.2.5 → pygnssutils-1.2.7}/src/pygnssutils/helpers.py +0 -0
  56. {pygnssutils-1.2.5 → pygnssutils-1.2.7}/src/pygnssutils/socket_server.py +0 -0
  57. {pygnssutils-1.2.5 → pygnssutils-1.2.7}/src/pygnssutils.egg-info/dependency_links.txt +0 -0
  58. {pygnssutils-1.2.5 → pygnssutils-1.2.7}/src/pygnssutils.egg-info/top_level.txt +0 -0
  59. {pygnssutils-1.2.5 → pygnssutils-1.2.7}/tests/test_gnssstreamer.py +0 -0
  60. {pygnssutils-1.2.5 → pygnssutils-1.2.7}/tests/test_socketwrapper.py +0 -0
  61. {pygnssutils-1.2.5 → pygnssutils-1.2.7}/tests/test_sourcetable.py +0 -0
  62. {pygnssutils-1.2.5 → pygnssutils-1.2.7}/tests/test_stream.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pygnssutils
3
- Version: 1.2.5
3
+ Version: 1.2.7
4
4
  Summary: GNSS Command Line Utilities
5
5
  Author-email: Steve Smith <semuadmin@semuconsulting.com>
6
6
  Maintainer-email: Steve Smith <semuadmin@semuconsulting.com>
@@ -31,11 +31,10 @@ Requires-Python: >=3.10
31
31
  Description-Content-Type: text/markdown
32
32
  License-File: LICENSE
33
33
  Requires-Dist: certifi>=2025.0.0
34
- Requires-Dist: paho-mqtt>=2.1.0
35
34
  Requires-Dist: pyserial>=3.5
36
35
  Requires-Dist: pyspartn>=1.0.8
37
- Requires-Dist: pyubx2>=1.3.3
38
- Requires-Dist: pynmeagps>=1.1.5
36
+ Requires-Dist: pyubx2>=1.3.6
37
+ Requires-Dist: pynmeagps>=1.1.7
39
38
  Requires-Dist: pysbf2>=1.0.4
40
39
  Requires-Dist: pyubxutils>=1.0.6
41
40
  Requires-Dist: pyqgc>=1.0.0
@@ -51,7 +50,6 @@ pygnssutils
51
50
  [gnssstreamer CLI](#gnssstreamer) |
52
51
  [gnssserver CLI](#gnssserver) |
53
52
  [gnssntripclient CLI](#gnssntripclient) |
54
- [gnssmqttclient CLI](#gnssmqttclient) |
55
53
  [socketserver](#socketserver) |
56
54
  [RINEX Conversion](#rinexconvert) |
57
55
  [RTK Demonstration](#rtkdemo) |
@@ -71,17 +69,14 @@ pygnssutils is an original series of Python GNSS utility classes and CLI tools b
71
69
 
72
70
  Originally developed in support of the [PyGPSClient](https://github.com/semuconsulting/PyGPSClient) GUI GNSS application, the utilities provided by pygnssutils can also be used in their own right:
73
71
 
74
- 1. `GNSSReader` class. This is essentially an amalgamation of the `*Reader` classes in all the subsidiary parsers listed above, allowing the user to seamlessly stream any of NMEA, UBX, SBF, UNI, QGC, RTCM3 and SPARTN message protocols concurrently from a single stream.
72
+ 1. `GNSSReader` class. This is essentially an amalgamation of the `*Reader` classes in all the subsidiary parsers listed above, allowing the user to seamlessly stream any of NMEA, UBX, SBF, UNI, QGC and RTCM3 message protocols concurrently from a single stream.
75
73
  1. `GNSSStreamer` class and its associated [`gnssstreamer`](#gnssstreamer) (*formerly `gnssdump`*) CLI utility. This is essentially a configurable bidirectional input/output wrapper around the `GNSSReader` class with flexible message formatting, filtering and output handling options for NMEA, UBX, SBF, UNI, QGC and RTCM3 protocols.
76
74
  1. `GNSSSocketServer` class and its associated [`gnssserver`](#gnssserver) CLI utility. This implements a TCP Socket Server for GNSS data streams which is also capable of being run as a simple NTRIP Server/Caster.
77
75
  1. `GNSSNTRIPClient` class and its associated [`gnssntripclient`](#gnssntripclient) CLI utility. This implements
78
76
  a simple NTRIP Client which receives RTCM3 or SPARTN correction data from an NTRIP Server and (optionally) sends this to a
79
77
  designated output stream.
80
- 1. `GNSSMQTTClient` class and its associated [`gnssmqttclient`](#gnssmqttclient) CLI utility. This implements
81
- a simple SPARTN IP (MQTT) Client which receives SPARTN correction data from an SPARTN IP location service and (optionally) sends this to a
82
- designated output stream.
83
78
  1. `SocketServer` class based on the native Python `ThreadingTCPServer`. Capable of operating in two modes - Socket Server or NTRIP Caster. Provides two alternate client request handler classes - `ClientHandler` (HTTP) or `ClientHandlerTLS` (HTTPS).
84
- 1. `RinexConverter` class and its associated [`pyrinexconv`](#rinexconvert) CLI utility. This implements a binary GNSS data log file to RINEX text file conversion facility. **NB: RINEX conversion is currently an experimental work in progress (*contributions and feedback welcome*)**
79
+ 1. `RinexConverter` class and its associated [`pyrinexconv`](#rinexconvert) CLI utility. This implements a binary GNSS data log file to RINEX text file conversion facility. **NB: RINEX conversion is currently an experimental feature (*contributions and feedback welcome*)**
85
80
 
86
81
  The pygnssutils homepage is located at [https://github.com/semuconsulting/pygnssutils](https://github.com/semuconsulting/pygnssutils).
87
82
 
@@ -97,7 +92,7 @@ The pygnssutils homepage is located at [https://github.com/semuconsulting/pygnss
97
92
 
98
93
  Sphinx API Documentation in HTML format is available at [https://www.semuconsulting.com/pygnssutils](https://www.semuconsulting.com/pygnssutils).
99
94
 
100
- Contributions welcome - please refer to [CONTRIBUTING.MD](https://github.com/semuconsulting/pygnssutils/blob/main/CONTRIBUTING.md).
95
+ Contributions **_from human beings_** welcome - please refer to [CONTRIBUTING.MD](https://github.com/semuconsulting/pygnssutils/blob/main/CONTRIBUTING.md).
101
96
 
102
97
  [Bug reports](https://github.com/semuconsulting/pygnssutils/blob/main/.github/ISSUE_TEMPLATE/bug_report.md) and [Feature requests](https://github.com/semuconsulting/pygnssutils/blob/main/.github/ISSUE_TEMPLATE/feature_request.md) - please use the templates provided. For general queries and advice, post a message to one of the [pygnssutils Discussions](https://github.com/semuconsulting/pygnssutils/discussions) channels.
103
98
 
@@ -182,7 +177,6 @@ class pygnssutils.gnssstreamer.GNSSStreamer(**kwargs)
182
177
  - 0 = none (default)
183
178
  - 1 = RTK NTRIP RTCM caster
184
179
  - 2 = RTK NTRIP SPARTN caster
185
- - 3 = RTK MQTT SPARTN source (see [gnssmqttclient](#gnssmqttclient) for MQTT client configuration details)
186
180
  - 4 = serial port
187
181
  - 5 = binary file.
188
182
 
@@ -472,41 +466,6 @@ gnssntripclient -h
472
466
 
473
467
  Refer to the [Sphinx API documentation](https://www.semuconsulting.com/pygnssutils/pygnssutils.html#module-pygnssutils.gnssntripclient) for further details.
474
468
 
475
- ---
476
- ## <a name="gnssmqttclient">GNSSMQTTClient and gnssmqttclient CLI</a>
477
- ```
478
- class pygnssutils.gnssmqttclient.GNSSMQTTClient(app=None, **kwargs)
479
- ```
480
-
481
- The `GNSSMQTTClient` class provides a basic SPARTN IP (MQTT) Client capability and forms the basis of a [`gnssmqttclient`](#gnssmqttclient) CLI utility. It receives RTK correction data from a SPARTN IP (MQTT) location service (e.g. the u-blox / Thingstream PointPerfect service) and (optionally) sends this to a designated output stream.
482
-
483
- ### CLI Usage:
484
-
485
- The `clientid` provided by the location service may be set as environment variable `MQTTCLIENTID`. If this environment variable is set and the TLS certificate (\*.crt) and key (\*.pem) files provided by the location service are placed in the user's `HOME` directory, the utility can use these as default settings and may be invoked without any arguments.
486
-
487
- Assuming the Python 3 scripts (bin) directory is in your PATH, the CLI utility may be invoked from the shell thus (press CTRL-C to terminate):
488
-
489
- ```shell
490
- gnssmqttclient --clientid yourclientid --server pp.services.u-blox.com --port 8883 --region eu --mode 0 --topic_ip 1 --topic_mga 1 --topic_key 1 --tlscrt '/Users/{your-user}/device-{your-clientid}-pp-cert.crt' --tlskey '/Users/{your-user}/device-{your-client-id}-pp-key.pem'} --spartndecode 0 --clioutput 0 --verbosity 2
491
- ```
492
- ```
493
- 2024-08-15 09:14:50.544 - INFO - pygnssutils.gnssmqttclient - Starting MQTT client with arguments {'server': 'pp.services.u-blox.com', 'port': 8883, 'clientid': 'your-client-id', 'region': 'eu', 'mode': 0, 'topic_ip': 1, 'topic_mga': 1, 'topic_key': 1, 'tlscrt': '/Users/myuser/device-your-client-id-pp-cert.crt', 'tlskey': '/Users/myuser/device-your-client-id-pp-key.pem', 'spartndecode': 0, 'output': None}.
494
- 2024-08-15 09:14:50.840 - INFO - pygnssutils.gnssmqttclient - RXM-SPARTN-KEY
495
- 2024-08-15 09:14:50.854 - INFO - pygnssutils.gnssmqttclient - MGA-INI-TIME-UTC
496
- 2024-08-15 09:14:50.858 - INFO - pygnssutils.gnssmqttclient - MGA-GPS-EPH
497
- ...
498
- ```
499
-
500
- Command line arguments can be stored in a configuration file and invoked using the `-C` or `--config` argument. The location of the configuration file can be set in environment variable `GNSSMQTTCLIENT_CONF`.
501
-
502
- For help and full list of optional arguments, type:
503
-
504
- ```shell
505
- gnssmqttclient -h
506
- ```
507
-
508
- Refer to the [pyspartn documentation](https://github.com/semuconsulting/pyspartn?tab=readme-ov-file#reading) for further details on decrypting encrypted (`eaf=1`) SPARTN payloads.
509
-
510
469
  ---
511
470
  ## <a name="socketserver">SocketServer</a>
512
471
 
@@ -7,7 +7,6 @@ pygnssutils
7
7
  [gnssstreamer CLI](#gnssstreamer) |
8
8
  [gnssserver CLI](#gnssserver) |
9
9
  [gnssntripclient CLI](#gnssntripclient) |
10
- [gnssmqttclient CLI](#gnssmqttclient) |
11
10
  [socketserver](#socketserver) |
12
11
  [RINEX Conversion](#rinexconvert) |
13
12
  [RTK Demonstration](#rtkdemo) |
@@ -27,17 +26,14 @@ pygnssutils is an original series of Python GNSS utility classes and CLI tools b
27
26
 
28
27
  Originally developed in support of the [PyGPSClient](https://github.com/semuconsulting/PyGPSClient) GUI GNSS application, the utilities provided by pygnssutils can also be used in their own right:
29
28
 
30
- 1. `GNSSReader` class. This is essentially an amalgamation of the `*Reader` classes in all the subsidiary parsers listed above, allowing the user to seamlessly stream any of NMEA, UBX, SBF, UNI, QGC, RTCM3 and SPARTN message protocols concurrently from a single stream.
29
+ 1. `GNSSReader` class. This is essentially an amalgamation of the `*Reader` classes in all the subsidiary parsers listed above, allowing the user to seamlessly stream any of NMEA, UBX, SBF, UNI, QGC and RTCM3 message protocols concurrently from a single stream.
31
30
  1. `GNSSStreamer` class and its associated [`gnssstreamer`](#gnssstreamer) (*formerly `gnssdump`*) CLI utility. This is essentially a configurable bidirectional input/output wrapper around the `GNSSReader` class with flexible message formatting, filtering and output handling options for NMEA, UBX, SBF, UNI, QGC and RTCM3 protocols.
32
31
  1. `GNSSSocketServer` class and its associated [`gnssserver`](#gnssserver) CLI utility. This implements a TCP Socket Server for GNSS data streams which is also capable of being run as a simple NTRIP Server/Caster.
33
32
  1. `GNSSNTRIPClient` class and its associated [`gnssntripclient`](#gnssntripclient) CLI utility. This implements
34
33
  a simple NTRIP Client which receives RTCM3 or SPARTN correction data from an NTRIP Server and (optionally) sends this to a
35
34
  designated output stream.
36
- 1. `GNSSMQTTClient` class and its associated [`gnssmqttclient`](#gnssmqttclient) CLI utility. This implements
37
- a simple SPARTN IP (MQTT) Client which receives SPARTN correction data from an SPARTN IP location service and (optionally) sends this to a
38
- designated output stream.
39
35
  1. `SocketServer` class based on the native Python `ThreadingTCPServer`. Capable of operating in two modes - Socket Server or NTRIP Caster. Provides two alternate client request handler classes - `ClientHandler` (HTTP) or `ClientHandlerTLS` (HTTPS).
40
- 1. `RinexConverter` class and its associated [`pyrinexconv`](#rinexconvert) CLI utility. This implements a binary GNSS data log file to RINEX text file conversion facility. **NB: RINEX conversion is currently an experimental work in progress (*contributions and feedback welcome*)**
36
+ 1. `RinexConverter` class and its associated [`pyrinexconv`](#rinexconvert) CLI utility. This implements a binary GNSS data log file to RINEX text file conversion facility. **NB: RINEX conversion is currently an experimental feature (*contributions and feedback welcome*)**
41
37
 
42
38
  The pygnssutils homepage is located at [https://github.com/semuconsulting/pygnssutils](https://github.com/semuconsulting/pygnssutils).
43
39
 
@@ -53,7 +49,7 @@ The pygnssutils homepage is located at [https://github.com/semuconsulting/pygnss
53
49
 
54
50
  Sphinx API Documentation in HTML format is available at [https://www.semuconsulting.com/pygnssutils](https://www.semuconsulting.com/pygnssutils).
55
51
 
56
- Contributions welcome - please refer to [CONTRIBUTING.MD](https://github.com/semuconsulting/pygnssutils/blob/main/CONTRIBUTING.md).
52
+ Contributions **_from human beings_** welcome - please refer to [CONTRIBUTING.MD](https://github.com/semuconsulting/pygnssutils/blob/main/CONTRIBUTING.md).
57
53
 
58
54
  [Bug reports](https://github.com/semuconsulting/pygnssutils/blob/main/.github/ISSUE_TEMPLATE/bug_report.md) and [Feature requests](https://github.com/semuconsulting/pygnssutils/blob/main/.github/ISSUE_TEMPLATE/feature_request.md) - please use the templates provided. For general queries and advice, post a message to one of the [pygnssutils Discussions](https://github.com/semuconsulting/pygnssutils/discussions) channels.
59
55
 
@@ -138,7 +134,6 @@ class pygnssutils.gnssstreamer.GNSSStreamer(**kwargs)
138
134
  - 0 = none (default)
139
135
  - 1 = RTK NTRIP RTCM caster
140
136
  - 2 = RTK NTRIP SPARTN caster
141
- - 3 = RTK MQTT SPARTN source (see [gnssmqttclient](#gnssmqttclient) for MQTT client configuration details)
142
137
  - 4 = serial port
143
138
  - 5 = binary file.
144
139
 
@@ -428,41 +423,6 @@ gnssntripclient -h
428
423
 
429
424
  Refer to the [Sphinx API documentation](https://www.semuconsulting.com/pygnssutils/pygnssutils.html#module-pygnssutils.gnssntripclient) for further details.
430
425
 
431
- ---
432
- ## <a name="gnssmqttclient">GNSSMQTTClient and gnssmqttclient CLI</a>
433
- ```
434
- class pygnssutils.gnssmqttclient.GNSSMQTTClient(app=None, **kwargs)
435
- ```
436
-
437
- The `GNSSMQTTClient` class provides a basic SPARTN IP (MQTT) Client capability and forms the basis of a [`gnssmqttclient`](#gnssmqttclient) CLI utility. It receives RTK correction data from a SPARTN IP (MQTT) location service (e.g. the u-blox / Thingstream PointPerfect service) and (optionally) sends this to a designated output stream.
438
-
439
- ### CLI Usage:
440
-
441
- The `clientid` provided by the location service may be set as environment variable `MQTTCLIENTID`. If this environment variable is set and the TLS certificate (\*.crt) and key (\*.pem) files provided by the location service are placed in the user's `HOME` directory, the utility can use these as default settings and may be invoked without any arguments.
442
-
443
- Assuming the Python 3 scripts (bin) directory is in your PATH, the CLI utility may be invoked from the shell thus (press CTRL-C to terminate):
444
-
445
- ```shell
446
- gnssmqttclient --clientid yourclientid --server pp.services.u-blox.com --port 8883 --region eu --mode 0 --topic_ip 1 --topic_mga 1 --topic_key 1 --tlscrt '/Users/{your-user}/device-{your-clientid}-pp-cert.crt' --tlskey '/Users/{your-user}/device-{your-client-id}-pp-key.pem'} --spartndecode 0 --clioutput 0 --verbosity 2
447
- ```
448
- ```
449
- 2024-08-15 09:14:50.544 - INFO - pygnssutils.gnssmqttclient - Starting MQTT client with arguments {'server': 'pp.services.u-blox.com', 'port': 8883, 'clientid': 'your-client-id', 'region': 'eu', 'mode': 0, 'topic_ip': 1, 'topic_mga': 1, 'topic_key': 1, 'tlscrt': '/Users/myuser/device-your-client-id-pp-cert.crt', 'tlskey': '/Users/myuser/device-your-client-id-pp-key.pem', 'spartndecode': 0, 'output': None}.
450
- 2024-08-15 09:14:50.840 - INFO - pygnssutils.gnssmqttclient - RXM-SPARTN-KEY
451
- 2024-08-15 09:14:50.854 - INFO - pygnssutils.gnssmqttclient - MGA-INI-TIME-UTC
452
- 2024-08-15 09:14:50.858 - INFO - pygnssutils.gnssmqttclient - MGA-GPS-EPH
453
- ...
454
- ```
455
-
456
- Command line arguments can be stored in a configuration file and invoked using the `-C` or `--config` argument. The location of the configuration file can be set in environment variable `GNSSMQTTCLIENT_CONF`.
457
-
458
- For help and full list of optional arguments, type:
459
-
460
- ```shell
461
- gnssmqttclient -h
462
- ```
463
-
464
- Refer to the [pyspartn documentation](https://github.com/semuconsulting/pyspartn?tab=readme-ov-file#reading) for further details on decrypting encrypted (`eaf=1`) SPARTN payloads.
465
-
466
426
  ---
467
427
  ## <a name="socketserver">SocketServer</a>
468
428
 
@@ -35,11 +35,10 @@ classifiers = [
35
35
 
36
36
  dependencies = [
37
37
  "certifi>=2025.0.0",
38
- "paho-mqtt>=2.1.0",
39
38
  "pyserial>=3.5",
40
39
  "pyspartn>=1.0.8",
41
- "pyubx2>=1.3.3",
42
- "pynmeagps>=1.1.5",
40
+ "pyubx2>=1.3.6",
41
+ "pynmeagps>=1.1.7",
43
42
  "pysbf2>=1.0.4",
44
43
  "pyubxutils>=1.0.6",
45
44
  "pyqgc>=1.0.0",
@@ -50,7 +49,6 @@ dependencies = [
50
49
  gnssstreamer = "pygnssutils.gnssstreamer_cli:main"
51
50
  gnssserver = "pygnssutils.gnssserver_cli:main"
52
51
  gnssntripclient = "pygnssutils.gnssntripclient_cli:main"
53
- gnssmqttclient = "pygnssutils.gnssmqttclient_cli:main"
54
52
  pyrinexconv = "pygnssutils.rinex_conv_cli:main"
55
53
 
56
54
  [project.urls]
@@ -12,7 +12,6 @@ from pyubxutils.ubxsimulator import UBXSimulator
12
12
  from pygnssutils._version import __version__
13
13
  from pygnssutils.exceptions import GNSSError, GNSSStreamError, ParameterError
14
14
  from pygnssutils.globals import *
15
- from pygnssutils.gnssmqttclient import GNSSMQTTClient
16
15
  from pygnssutils.gnssntripclient import GNSSNTRIPClient
17
16
  from pygnssutils.gnssreader import (
18
17
  NMEA_PROTOCOL,
@@ -26,7 +25,6 @@ from pygnssutils.gnssreader import (
26
25
  from pygnssutils.gnssserver import GNSSSocketServer
27
26
  from pygnssutils.gnssstreamer import GNSSStreamer
28
27
  from pygnssutils.helpers import *
29
- from pygnssutils.mqttmessage import *
30
28
  from pygnssutils.rawnav import *
31
29
  from pygnssutils.rinex_conv import RinexConverter
32
30
 
@@ -8,4 +8,4 @@ Created on 2 Oct 2020
8
8
  :license: BSD 3-Clause
9
9
  """
10
10
 
11
- __version__ = "1.2.5"
11
+ __version__ = "1.2.7"
@@ -206,10 +206,6 @@ ALLNMEA = "allnmea"
206
206
  ALLUBX = "allubx"
207
207
  MINNMEA = "minnmea"
208
208
  MINUBX = "minubx"
209
- ALLNMEA_CLS = [b"\xf0", b"\xf1"]
210
- MINMMEA_ID = [b"\xf0\x00", b"\xf0\x02", b"\xf0\x03", b"\xf0\x04", b"\xf0\x05"]
211
- ALLUBX_CLS = [b"\x01"]
212
- MINUBX_ID = [b"\x01\x04", b"\x01\x07", b"\x01\x35"]
213
209
  PYGNSSUTILS_CRT = f"{HOME}/pygnssutils.crt"
214
210
  """Name of default TLS CRT file"""
215
211
  PYGNSSUTILS_CRTPATH = "PYGNSSUTILS_CRTPATH"