ics-wivi-analytics-ingest 0.1.7__tar.gz → 0.1.8__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 (49) hide show
  1. {ics_wivi_analytics_ingest-0.1.7/src/ics_wivi_analytics_ingest.egg-info → ics_wivi_analytics_ingest-0.1.8}/PKG-INFO +16 -16
  2. {ics_wivi_analytics_ingest-0.1.7 → ics_wivi_analytics_ingest-0.1.8}/README.md +13 -14
  3. {ics_wivi_analytics_ingest-0.1.7 → ics_wivi_analytics_ingest-0.1.8}/pyproject.toml +5 -4
  4. {ics_wivi_analytics_ingest-0.1.7 → ics_wivi_analytics_ingest-0.1.8/src/ics_wivi_analytics_ingest.egg-info}/PKG-INFO +16 -16
  5. {ics_wivi_analytics_ingest-0.1.7 → ics_wivi_analytics_ingest-0.1.8}/src/ics_wivi_analytics_ingest.egg-info/requires.txt +1 -0
  6. ics_wivi_analytics_ingest-0.1.8/tests/test_settings.py +10 -0
  7. ics_wivi_analytics_ingest-0.1.7/tests/test_settings.py +0 -1
  8. {ics_wivi_analytics_ingest-0.1.7 → ics_wivi_analytics_ingest-0.1.8}/LICENSE +0 -0
  9. {ics_wivi_analytics_ingest-0.1.7 → ics_wivi_analytics_ingest-0.1.8}/setup.cfg +0 -0
  10. {ics_wivi_analytics_ingest-0.1.7 → ics_wivi_analytics_ingest-0.1.8}/src/analytics_ingest/__init__.py +0 -0
  11. {ics_wivi_analytics_ingest-0.1.7 → ics_wivi_analytics_ingest-0.1.8}/src/analytics_ingest/ingest_client.py +0 -0
  12. {ics_wivi_analytics_ingest-0.1.7 → ics_wivi_analytics_ingest-0.1.8}/src/analytics_ingest/internal/__init__.py +0 -0
  13. {ics_wivi_analytics_ingest-0.1.7 → ics_wivi_analytics_ingest-0.1.8}/src/analytics_ingest/internal/schemas/__init__.py +0 -0
  14. {ics_wivi_analytics_ingest-0.1.7 → ics_wivi_analytics_ingest-0.1.8}/src/analytics_ingest/internal/schemas/configuration_schema.py +0 -0
  15. {ics_wivi_analytics_ingest-0.1.7 → ics_wivi_analytics_ingest-0.1.8}/src/analytics_ingest/internal/schemas/dtc_schema.py +0 -0
  16. {ics_wivi_analytics_ingest-0.1.7 → ics_wivi_analytics_ingest-0.1.8}/src/analytics_ingest/internal/schemas/gps_schema.py +0 -0
  17. {ics_wivi_analytics_ingest-0.1.7 → ics_wivi_analytics_ingest-0.1.8}/src/analytics_ingest/internal/schemas/ingest_config_schema.py +0 -0
  18. {ics_wivi_analytics_ingest-0.1.7 → ics_wivi_analytics_ingest-0.1.8}/src/analytics_ingest/internal/schemas/message_schema.py +0 -0
  19. {ics_wivi_analytics_ingest-0.1.7 → ics_wivi_analytics_ingest-0.1.8}/src/analytics_ingest/internal/schemas/network_schema.py +0 -0
  20. {ics_wivi_analytics_ingest-0.1.7 → ics_wivi_analytics_ingest-0.1.8}/src/analytics_ingest/internal/schemas/signal_schema.py +0 -0
  21. {ics_wivi_analytics_ingest-0.1.7 → ics_wivi_analytics_ingest-0.1.8}/src/analytics_ingest/internal/utils/__init__.py +0 -0
  22. {ics_wivi_analytics_ingest-0.1.7 → ics_wivi_analytics_ingest-0.1.8}/src/analytics_ingest/internal/utils/batching.py +0 -0
  23. {ics_wivi_analytics_ingest-0.1.7 → ics_wivi_analytics_ingest-0.1.8}/src/analytics_ingest/internal/utils/configuration.py +0 -0
  24. {ics_wivi_analytics_ingest-0.1.7 → ics_wivi_analytics_ingest-0.1.8}/src/analytics_ingest/internal/utils/dtc.py +0 -0
  25. {ics_wivi_analytics_ingest-0.1.7 → ics_wivi_analytics_ingest-0.1.8}/src/analytics_ingest/internal/utils/gps.py +0 -0
  26. {ics_wivi_analytics_ingest-0.1.7 → ics_wivi_analytics_ingest-0.1.8}/src/analytics_ingest/internal/utils/graphql_executor.py +0 -0
  27. {ics_wivi_analytics_ingest-0.1.7 → ics_wivi_analytics_ingest-0.1.8}/src/analytics_ingest/internal/utils/message.py +0 -0
  28. {ics_wivi_analytics_ingest-0.1.7 → ics_wivi_analytics_ingest-0.1.8}/src/analytics_ingest/internal/utils/mutations.py +0 -0
  29. {ics_wivi_analytics_ingest-0.1.7 → ics_wivi_analytics_ingest-0.1.8}/src/analytics_ingest/internal/utils/network.py +0 -0
  30. {ics_wivi_analytics_ingest-0.1.7 → ics_wivi_analytics_ingest-0.1.8}/src/analytics_ingest/internal/utils/serialization.py +0 -0
  31. {ics_wivi_analytics_ingest-0.1.7 → ics_wivi_analytics_ingest-0.1.8}/src/analytics_ingest/internal/utils/signal_buffer_manager.py +0 -0
  32. {ics_wivi_analytics_ingest-0.1.7 → ics_wivi_analytics_ingest-0.1.8}/src/factories/__init__.py +0 -0
  33. {ics_wivi_analytics_ingest-0.1.7 → ics_wivi_analytics_ingest-0.1.8}/src/factories/configuration.py +0 -0
  34. {ics_wivi_analytics_ingest-0.1.7 → ics_wivi_analytics_ingest-0.1.8}/src/factories/dtc.py +0 -0
  35. {ics_wivi_analytics_ingest-0.1.7 → ics_wivi_analytics_ingest-0.1.8}/src/factories/gps.py +0 -0
  36. {ics_wivi_analytics_ingest-0.1.7 → ics_wivi_analytics_ingest-0.1.8}/src/factories/init_schema_factory.py +0 -0
  37. {ics_wivi_analytics_ingest-0.1.7 → ics_wivi_analytics_ingest-0.1.8}/src/factories/message.py +0 -0
  38. {ics_wivi_analytics_ingest-0.1.7 → ics_wivi_analytics_ingest-0.1.8}/src/factories/network_stats.py +0 -0
  39. {ics_wivi_analytics_ingest-0.1.7 → ics_wivi_analytics_ingest-0.1.8}/src/factories/signal.py +0 -0
  40. {ics_wivi_analytics_ingest-0.1.7 → ics_wivi_analytics_ingest-0.1.8}/src/ics_wivi_analytics_ingest.egg-info/SOURCES.txt +0 -0
  41. {ics_wivi_analytics_ingest-0.1.7 → ics_wivi_analytics_ingest-0.1.8}/src/ics_wivi_analytics_ingest.egg-info/dependency_links.txt +0 -0
  42. {ics_wivi_analytics_ingest-0.1.7 → ics_wivi_analytics_ingest-0.1.8}/src/ics_wivi_analytics_ingest.egg-info/top_level.txt +0 -0
  43. {ics_wivi_analytics_ingest-0.1.7 → ics_wivi_analytics_ingest-0.1.8}/tests/test_add_signal.py +0 -0
  44. {ics_wivi_analytics_ingest-0.1.7 → ics_wivi_analytics_ingest-0.1.8}/tests/test_buffer.py +0 -0
  45. {ics_wivi_analytics_ingest-0.1.7 → ics_wivi_analytics_ingest-0.1.8}/tests/test_client_init.py +0 -0
  46. {ics_wivi_analytics_ingest-0.1.7 → ics_wivi_analytics_ingest-0.1.8}/tests/test_dtc.py +0 -0
  47. {ics_wivi_analytics_ingest-0.1.7 → ics_wivi_analytics_ingest-0.1.8}/tests/test_executer.py +0 -0
  48. {ics_wivi_analytics_ingest-0.1.7 → ics_wivi_analytics_ingest-0.1.8}/tests/test_gps.py +0 -0
  49. {ics_wivi_analytics_ingest-0.1.7 → ics_wivi_analytics_ingest-0.1.8}/tests/test_network_stats.py +0 -0
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ics-wivi-analytics-ingest
3
- Version: 0.1.7
4
- Summary: - Bearing accept only float.
3
+ Version: 0.1.8
4
+ Summary: - GPS Bearing accept only float.
5
5
  Author-email: Haseeb Saif Ullah <hsaif@intrepidcs.com>, Scott VanDeWater <svandewater@intrepidcs.com>
6
6
  License: Copyright (c) 2018-2025 Intrepid Control Systems, Inc.
7
7
 
@@ -47,6 +47,7 @@ Requires-Dist: pre-commit>=3.5.0; extra == "dev"
47
47
  Requires-Dist: pytest>=7.4.0; extra == "dev"
48
48
  Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
49
49
  Requires-Dist: mypy>=1.7.0; extra == "dev"
50
+ Requires-Dist: python-dotenv; extra == "dev"
50
51
  Dynamic: license-file
51
52
 
52
53
  # 🚗 Analytics Ingest Client
@@ -187,21 +188,17 @@ client.close()
187
188
 
188
189
  ## Config Options
189
190
 
190
- Set through constructor or environment variables.
191
+ | Param | Description | Default |
192
+ | ------------------------ | ------------------------------------------- | -------- |
193
+ | `device_id` | Device ID (required) | – |
194
+ | `vehicle_id` | Vehicle ID (required) | – |
195
+ | `fleet_id` | Fleet ID (required) | – |
196
+ | `org_id` | Organization ID (required) | – |
197
+ | `graphql_endpoint` | GraphQL endpoint (overrides `.env` if set) | Optional |
198
+ | `batch_size` | Maximum number of items per batch | 100 |
199
+ | `batch_interval_seconds` | Time-based auto flush interval (in seconds) | 10 |
200
+ | `max_signal_count` | Maximum number of signals before flush | 100 |
191
201
 
192
- | Param | Description | Default |
193
- | ------------------------ | ------------------------- | ------- |
194
- | `device_id` | Device ID (required) | – |
195
- | `vehicle_id` | Vehicle ID (required) | – |
196
- | `fleet_id` | Fleet ID (required) | – |
197
- | `org_id` | Org ID (required) | – |
198
- | `graphql_endpoint` | GraphQL endpoint | Optional|
199
- | `batch_size` | Max items per batch | 100 |
200
- | `batch_interval_seconds` | Time-based flush interval | 10 |
201
- | `max_signal_count` | Max signals before flush | 100 |
202
-
203
-
204
- ---
205
202
 
206
203
  ---
207
204
 
@@ -357,6 +354,9 @@ source venv/bin/activate # On Windows: venv\Scripts\activate
357
354
  # Uses pyproject.toml – no requirements.txt
358
355
  pip install -e .[dev]
359
356
 
357
+ # Create a .env file in the project root
358
+ export GRAPHQL_SERVER="develop"
359
+
360
360
  ```
361
361
 
362
362
  Test ingestion logic:
@@ -136,21 +136,17 @@ client.close()
136
136
 
137
137
  ## Config Options
138
138
 
139
- Set through constructor or environment variables.
139
+ | Param | Description | Default |
140
+ | ------------------------ | ------------------------------------------- | -------- |
141
+ | `device_id` | Device ID (required) | – |
142
+ | `vehicle_id` | Vehicle ID (required) | – |
143
+ | `fleet_id` | Fleet ID (required) | – |
144
+ | `org_id` | Organization ID (required) | – |
145
+ | `graphql_endpoint` | GraphQL endpoint (overrides `.env` if set) | Optional |
146
+ | `batch_size` | Maximum number of items per batch | 100 |
147
+ | `batch_interval_seconds` | Time-based auto flush interval (in seconds) | 10 |
148
+ | `max_signal_count` | Maximum number of signals before flush | 100 |
140
149
 
141
- | Param | Description | Default |
142
- | ------------------------ | ------------------------- | ------- |
143
- | `device_id` | Device ID (required) | – |
144
- | `vehicle_id` | Vehicle ID (required) | – |
145
- | `fleet_id` | Fleet ID (required) | – |
146
- | `org_id` | Org ID (required) | – |
147
- | `graphql_endpoint` | GraphQL endpoint | Optional|
148
- | `batch_size` | Max items per batch | 100 |
149
- | `batch_interval_seconds` | Time-based flush interval | 10 |
150
- | `max_signal_count` | Max signals before flush | 100 |
151
-
152
-
153
- ---
154
150
 
155
151
  ---
156
152
 
@@ -306,6 +302,9 @@ source venv/bin/activate # On Windows: venv\Scripts\activate
306
302
  # Uses pyproject.toml – no requirements.txt
307
303
  pip install -e .[dev]
308
304
 
305
+ # Create a .env file in the project root
306
+ export GRAPHQL_SERVER="develop"
307
+
309
308
  ```
310
309
 
311
310
  Test ingestion logic:
@@ -1,10 +1,10 @@
1
1
  [project]
2
2
  name = "ics-wivi-analytics-ingest"
3
- version = "0.1.7"
3
+ version = "0.1.8"
4
4
  description = """
5
- - Bearing accept only float.
5
+ - GPS Bearing accept only float.
6
6
  - JWT token removed.
7
- - graphql_endpoint added.
7
+ - graphql_endpoint setting added in readme.
8
8
  """
9
9
  authors = [{ name = "Haseeb Saif Ullah", email = "hsaif@intrepidcs.com" }, { name = "Scott VanDeWater", email = "svandewater@intrepidcs.com" }]
10
10
  readme = "README.md"
@@ -26,7 +26,8 @@ dev = [
26
26
  "pre-commit>=3.5.0",
27
27
  "pytest>=7.4.0",
28
28
  "pytest-asyncio>=0.21.0",
29
- "mypy>=1.7.0"
29
+ "mypy>=1.7.0",
30
+ "python-dotenv"
30
31
  ]
31
32
 
32
33
  [build-system]
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ics-wivi-analytics-ingest
3
- Version: 0.1.7
4
- Summary: - Bearing accept only float.
3
+ Version: 0.1.8
4
+ Summary: - GPS Bearing accept only float.
5
5
  Author-email: Haseeb Saif Ullah <hsaif@intrepidcs.com>, Scott VanDeWater <svandewater@intrepidcs.com>
6
6
  License: Copyright (c) 2018-2025 Intrepid Control Systems, Inc.
7
7
 
@@ -47,6 +47,7 @@ Requires-Dist: pre-commit>=3.5.0; extra == "dev"
47
47
  Requires-Dist: pytest>=7.4.0; extra == "dev"
48
48
  Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
49
49
  Requires-Dist: mypy>=1.7.0; extra == "dev"
50
+ Requires-Dist: python-dotenv; extra == "dev"
50
51
  Dynamic: license-file
51
52
 
52
53
  # 🚗 Analytics Ingest Client
@@ -187,21 +188,17 @@ client.close()
187
188
 
188
189
  ## Config Options
189
190
 
190
- Set through constructor or environment variables.
191
+ | Param | Description | Default |
192
+ | ------------------------ | ------------------------------------------- | -------- |
193
+ | `device_id` | Device ID (required) | – |
194
+ | `vehicle_id` | Vehicle ID (required) | – |
195
+ | `fleet_id` | Fleet ID (required) | – |
196
+ | `org_id` | Organization ID (required) | – |
197
+ | `graphql_endpoint` | GraphQL endpoint (overrides `.env` if set) | Optional |
198
+ | `batch_size` | Maximum number of items per batch | 100 |
199
+ | `batch_interval_seconds` | Time-based auto flush interval (in seconds) | 10 |
200
+ | `max_signal_count` | Maximum number of signals before flush | 100 |
191
201
 
192
- | Param | Description | Default |
193
- | ------------------------ | ------------------------- | ------- |
194
- | `device_id` | Device ID (required) | – |
195
- | `vehicle_id` | Vehicle ID (required) | – |
196
- | `fleet_id` | Fleet ID (required) | – |
197
- | `org_id` | Org ID (required) | – |
198
- | `graphql_endpoint` | GraphQL endpoint | Optional|
199
- | `batch_size` | Max items per batch | 100 |
200
- | `batch_interval_seconds` | Time-based flush interval | 10 |
201
- | `max_signal_count` | Max signals before flush | 100 |
202
-
203
-
204
- ---
205
202
 
206
203
  ---
207
204
 
@@ -357,6 +354,9 @@ source venv/bin/activate # On Windows: venv\Scripts\activate
357
354
  # Uses pyproject.toml – no requirements.txt
358
355
  pip install -e .[dev]
359
356
 
357
+ # Create a .env file in the project root
358
+ export GRAPHQL_SERVER="develop"
359
+
360
360
  ```
361
361
 
362
362
  Test ingestion logic:
@@ -11,3 +11,4 @@ pre-commit>=3.5.0
11
11
  pytest>=7.4.0
12
12
  pytest-asyncio>=0.21.0
13
13
  mypy>=1.7.0
14
+ python-dotenv
@@ -0,0 +1,10 @@
1
+ # import os
2
+
3
+ # from dotenv import load_dotenv
4
+
5
+ # # Load .env file variables
6
+ # load_dotenv()
7
+
8
+ # GRAPHQL_SERVER = os.getenv("GRAPHQL_SERVER", "[server]")
9
+ # GRAPHQL_ENDPOINT = f"https://graph.{GRAPHQL_SERVER}.wlnv.srv:8080/graphql"
10
+ GRAPHQL_ENDPOINT = "https://0.0.0.0:8092/graphql"
@@ -1 +0,0 @@
1
- GRAPHQL_ENDPOINT = "https://graph.{server}.wlnv.srv:8080/graphql"