ics-wivi-analytics-ingest 0.1.5__tar.gz → 0.1.6__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.

Potentially problematic release.


This version of ics-wivi-analytics-ingest might be problematic. Click here for more details.

Files changed (49) hide show
  1. {ics_wivi_analytics_ingest-0.1.5/src/ics_wivi_analytics_ingest.egg-info → ics_wivi_analytics_ingest-0.1.6}/PKG-INFO +16 -16
  2. {ics_wivi_analytics_ingest-0.1.5 → ics_wivi_analytics_ingest-0.1.6}/README.md +14 -14
  3. {ics_wivi_analytics_ingest-0.1.5 → ics_wivi_analytics_ingest-0.1.6}/pyproject.toml +4 -2
  4. {ics_wivi_analytics_ingest-0.1.5 → ics_wivi_analytics_ingest-0.1.6}/src/analytics_ingest/ingest_client.py +1 -3
  5. {ics_wivi_analytics_ingest-0.1.5 → ics_wivi_analytics_ingest-0.1.6}/src/analytics_ingest/internal/schemas/gps_schema.py +2 -2
  6. {ics_wivi_analytics_ingest-0.1.5 → ics_wivi_analytics_ingest-0.1.6}/src/analytics_ingest/internal/schemas/ingest_config_schema.py +3 -4
  7. {ics_wivi_analytics_ingest-0.1.5 → ics_wivi_analytics_ingest-0.1.6}/src/analytics_ingest/internal/utils/graphql_executor.py +1 -5
  8. {ics_wivi_analytics_ingest-0.1.5 → ics_wivi_analytics_ingest-0.1.6/src/ics_wivi_analytics_ingest.egg-info}/PKG-INFO +16 -16
  9. ics_wivi_analytics_ingest-0.1.6/tests/test_settings.py +1 -0
  10. ics_wivi_analytics_ingest-0.1.5/tests/test_settings.py +0 -1
  11. {ics_wivi_analytics_ingest-0.1.5 → ics_wivi_analytics_ingest-0.1.6}/LICENSE +0 -0
  12. {ics_wivi_analytics_ingest-0.1.5 → ics_wivi_analytics_ingest-0.1.6}/setup.cfg +0 -0
  13. {ics_wivi_analytics_ingest-0.1.5 → ics_wivi_analytics_ingest-0.1.6}/src/analytics_ingest/__init__.py +0 -0
  14. {ics_wivi_analytics_ingest-0.1.5 → ics_wivi_analytics_ingest-0.1.6}/src/analytics_ingest/internal/__init__.py +0 -0
  15. {ics_wivi_analytics_ingest-0.1.5 → ics_wivi_analytics_ingest-0.1.6}/src/analytics_ingest/internal/schemas/__init__.py +0 -0
  16. {ics_wivi_analytics_ingest-0.1.5 → ics_wivi_analytics_ingest-0.1.6}/src/analytics_ingest/internal/schemas/configuration_schema.py +0 -0
  17. {ics_wivi_analytics_ingest-0.1.5 → ics_wivi_analytics_ingest-0.1.6}/src/analytics_ingest/internal/schemas/dtc_schema.py +0 -0
  18. {ics_wivi_analytics_ingest-0.1.5 → ics_wivi_analytics_ingest-0.1.6}/src/analytics_ingest/internal/schemas/message_schema.py +0 -0
  19. {ics_wivi_analytics_ingest-0.1.5 → ics_wivi_analytics_ingest-0.1.6}/src/analytics_ingest/internal/schemas/network_schema.py +0 -0
  20. {ics_wivi_analytics_ingest-0.1.5 → ics_wivi_analytics_ingest-0.1.6}/src/analytics_ingest/internal/schemas/signal_schema.py +0 -0
  21. {ics_wivi_analytics_ingest-0.1.5 → ics_wivi_analytics_ingest-0.1.6}/src/analytics_ingest/internal/utils/__init__.py +0 -0
  22. {ics_wivi_analytics_ingest-0.1.5 → ics_wivi_analytics_ingest-0.1.6}/src/analytics_ingest/internal/utils/batching.py +0 -0
  23. {ics_wivi_analytics_ingest-0.1.5 → ics_wivi_analytics_ingest-0.1.6}/src/analytics_ingest/internal/utils/configuration.py +0 -0
  24. {ics_wivi_analytics_ingest-0.1.5 → ics_wivi_analytics_ingest-0.1.6}/src/analytics_ingest/internal/utils/dtc.py +0 -0
  25. {ics_wivi_analytics_ingest-0.1.5 → ics_wivi_analytics_ingest-0.1.6}/src/analytics_ingest/internal/utils/gps.py +0 -0
  26. {ics_wivi_analytics_ingest-0.1.5 → ics_wivi_analytics_ingest-0.1.6}/src/analytics_ingest/internal/utils/message.py +0 -0
  27. {ics_wivi_analytics_ingest-0.1.5 → ics_wivi_analytics_ingest-0.1.6}/src/analytics_ingest/internal/utils/mutations.py +0 -0
  28. {ics_wivi_analytics_ingest-0.1.5 → ics_wivi_analytics_ingest-0.1.6}/src/analytics_ingest/internal/utils/network.py +0 -0
  29. {ics_wivi_analytics_ingest-0.1.5 → ics_wivi_analytics_ingest-0.1.6}/src/analytics_ingest/internal/utils/serialization.py +0 -0
  30. {ics_wivi_analytics_ingest-0.1.5 → ics_wivi_analytics_ingest-0.1.6}/src/analytics_ingest/internal/utils/signal_buffer_manager.py +0 -0
  31. {ics_wivi_analytics_ingest-0.1.5 → ics_wivi_analytics_ingest-0.1.6}/src/factories/__init__.py +0 -0
  32. {ics_wivi_analytics_ingest-0.1.5 → ics_wivi_analytics_ingest-0.1.6}/src/factories/configuration.py +0 -0
  33. {ics_wivi_analytics_ingest-0.1.5 → ics_wivi_analytics_ingest-0.1.6}/src/factories/dtc.py +0 -0
  34. {ics_wivi_analytics_ingest-0.1.5 → ics_wivi_analytics_ingest-0.1.6}/src/factories/gps.py +0 -0
  35. {ics_wivi_analytics_ingest-0.1.5 → ics_wivi_analytics_ingest-0.1.6}/src/factories/init_schema_factory.py +0 -0
  36. {ics_wivi_analytics_ingest-0.1.5 → ics_wivi_analytics_ingest-0.1.6}/src/factories/message.py +0 -0
  37. {ics_wivi_analytics_ingest-0.1.5 → ics_wivi_analytics_ingest-0.1.6}/src/factories/network_stats.py +0 -0
  38. {ics_wivi_analytics_ingest-0.1.5 → ics_wivi_analytics_ingest-0.1.6}/src/factories/signal.py +0 -0
  39. {ics_wivi_analytics_ingest-0.1.5 → ics_wivi_analytics_ingest-0.1.6}/src/ics_wivi_analytics_ingest.egg-info/SOURCES.txt +0 -0
  40. {ics_wivi_analytics_ingest-0.1.5 → ics_wivi_analytics_ingest-0.1.6}/src/ics_wivi_analytics_ingest.egg-info/dependency_links.txt +0 -0
  41. {ics_wivi_analytics_ingest-0.1.5 → ics_wivi_analytics_ingest-0.1.6}/src/ics_wivi_analytics_ingest.egg-info/requires.txt +0 -0
  42. {ics_wivi_analytics_ingest-0.1.5 → ics_wivi_analytics_ingest-0.1.6}/src/ics_wivi_analytics_ingest.egg-info/top_level.txt +0 -0
  43. {ics_wivi_analytics_ingest-0.1.5 → ics_wivi_analytics_ingest-0.1.6}/tests/test_add_signal.py +0 -0
  44. {ics_wivi_analytics_ingest-0.1.5 → ics_wivi_analytics_ingest-0.1.6}/tests/test_buffer.py +0 -0
  45. {ics_wivi_analytics_ingest-0.1.5 → ics_wivi_analytics_ingest-0.1.6}/tests/test_client_init.py +0 -0
  46. {ics_wivi_analytics_ingest-0.1.5 → ics_wivi_analytics_ingest-0.1.6}/tests/test_dtc.py +0 -0
  47. {ics_wivi_analytics_ingest-0.1.5 → ics_wivi_analytics_ingest-0.1.6}/tests/test_executer.py +0 -0
  48. {ics_wivi_analytics_ingest-0.1.5 → ics_wivi_analytics_ingest-0.1.6}/tests/test_gps.py +0 -0
  49. {ics_wivi_analytics_ingest-0.1.5 → ics_wivi_analytics_ingest-0.1.6}/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.5
4
- Summary: - Bearing accept both string and float.
3
+ Version: 0.1.6
4
+ Summary: - 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
 
@@ -55,7 +55,7 @@ A lightweight Python library to batch and send automotive telemetry — like sig
55
55
 
56
56
  ---
57
57
 
58
- ## 🔧 Features
58
+ ## Features
59
59
 
60
60
  * Python 3.11+ support
61
61
  * Clean, single-class interface: `IcsAnalytics`
@@ -68,24 +68,24 @@ A lightweight Python library to batch and send automotive telemetry — like sig
68
68
 
69
69
  ---
70
70
 
71
- ## 📦 Installation
71
+ ## Installation
72
72
 
73
73
  ```bash
74
74
  pip install ics-wivi-analytics-ingest
75
75
  ```
76
76
  ---
77
77
 
78
- ## 🔑 Setting Endpoint via Environment Variables
78
+ ## Setting Endpoint via Environment Variables
79
79
 
80
80
  You can avoid hardcoding sensitive values like GraphQL endpoints by using environment variables.
81
81
 
82
82
  ### Example (Linux / macOS)
83
83
 
84
84
  ```bash
85
- export GRAPHQL_ENDPOINT="https://0.0.0.0:8092/graphql"
85
+ export GRAPHQL_ENDPOINT="https://graph.{server}.wlnv.srv:8080/graphql" # example endpoint = https://graph.a7f1.wlnv.srv:8080/graphql
86
86
  ```
87
87
 
88
- ## 🚀 Quick Usage
88
+ ## Quick Usage
89
89
 
90
90
  ```python
91
91
  from analytics_ingest import IcsAnalytics
@@ -95,7 +95,7 @@ client = IcsAnalytics(
95
95
  vehicle_id=456,
96
96
  fleet_id=789,
97
97
  org_id=1011,
98
- graphql_endpoint="https://0.0.0.0:8092/graphql", #default endpoint
98
+ graphql_endpoint="https://graph.{server}.wlnv.srv:8080/graphql", # example endpoint = https://graph.a7f1.wlnv.srv:8080/graphql
99
99
  batch_size=100,
100
100
  batch_interval_seconds=10,
101
101
  max_signal_count=100
@@ -185,7 +185,7 @@ client.close()
185
185
 
186
186
  ---
187
187
 
188
- ## ⚙️ Config Options
188
+ ## Config Options
189
189
 
190
190
  Set through constructor or environment variables.
191
191
 
@@ -205,7 +205,7 @@ Set through constructor or environment variables.
205
205
 
206
206
  ---
207
207
 
208
- ### 🔧 Payload Reference
208
+ ### Payload Reference
209
209
 
210
210
  #### `add_signal` Payload
211
211
 
@@ -293,7 +293,7 @@ Set through constructor or environment variables.
293
293
 
294
294
  ---
295
295
 
296
- ## 🛠️ Error Handling & Logging
296
+ ## Error Handling & Logging
297
297
 
298
298
  * Raises exceptions for bad input or backend failures
299
299
  * Use logging instead of print in production
@@ -301,7 +301,7 @@ Set through constructor or environment variables.
301
301
 
302
302
  ---
303
303
 
304
- ## 🧪 Testing
304
+ ## Testing
305
305
 
306
306
  Run all tests:
307
307
 
@@ -320,7 +320,7 @@ python -m twine upload dist/*
320
320
 
321
321
  ---
322
322
 
323
- ## 💡 Improvements & Roadmap
323
+ ## Improvements & Roadmap
324
324
 
325
325
  * Full async API support
326
326
  * Runtime config updates
@@ -330,7 +330,7 @@ python -m twine upload dist/*
330
330
 
331
331
  ---
332
332
 
333
- ## 🤝 Contributing
333
+ ## Contributing
334
334
 
335
335
  We welcome PRs and issues! Please follow PEP8 and include tests with any changes.
336
336
 
@@ -343,7 +343,7 @@ pre-commit install
343
343
 
344
344
  ---
345
345
 
346
- ## 🏁 Dev Quick Start
346
+ ## Dev Quick Start
347
347
 
348
348
  ```bash
349
349
  git clone http://lustra.intrepidcs.corp/ics/wivi/ipa-py-library.git
@@ -367,7 +367,7 @@ PYTHONPATH=src python3 integeration_test.py
367
367
 
368
368
  ---
369
369
 
370
- ## 📄 License
370
+ ## License
371
371
 
372
372
  MIT License
373
373
  Readme.txt
@@ -4,7 +4,7 @@ A lightweight Python library to batch and send automotive telemetry — like sig
4
4
 
5
5
  ---
6
6
 
7
- ## 🔧 Features
7
+ ## Features
8
8
 
9
9
  * Python 3.11+ support
10
10
  * Clean, single-class interface: `IcsAnalytics`
@@ -17,24 +17,24 @@ A lightweight Python library to batch and send automotive telemetry — like sig
17
17
 
18
18
  ---
19
19
 
20
- ## 📦 Installation
20
+ ## Installation
21
21
 
22
22
  ```bash
23
23
  pip install ics-wivi-analytics-ingest
24
24
  ```
25
25
  ---
26
26
 
27
- ## 🔑 Setting Endpoint via Environment Variables
27
+ ## Setting Endpoint via Environment Variables
28
28
 
29
29
  You can avoid hardcoding sensitive values like GraphQL endpoints by using environment variables.
30
30
 
31
31
  ### Example (Linux / macOS)
32
32
 
33
33
  ```bash
34
- export GRAPHQL_ENDPOINT="https://0.0.0.0:8092/graphql"
34
+ export GRAPHQL_ENDPOINT="https://graph.{server}.wlnv.srv:8080/graphql" # example endpoint = https://graph.a7f1.wlnv.srv:8080/graphql
35
35
  ```
36
36
 
37
- ## 🚀 Quick Usage
37
+ ## Quick Usage
38
38
 
39
39
  ```python
40
40
  from analytics_ingest import IcsAnalytics
@@ -44,7 +44,7 @@ client = IcsAnalytics(
44
44
  vehicle_id=456,
45
45
  fleet_id=789,
46
46
  org_id=1011,
47
- graphql_endpoint="https://0.0.0.0:8092/graphql", #default endpoint
47
+ graphql_endpoint="https://graph.{server}.wlnv.srv:8080/graphql", # example endpoint = https://graph.a7f1.wlnv.srv:8080/graphql
48
48
  batch_size=100,
49
49
  batch_interval_seconds=10,
50
50
  max_signal_count=100
@@ -134,7 +134,7 @@ client.close()
134
134
 
135
135
  ---
136
136
 
137
- ## ⚙️ Config Options
137
+ ## Config Options
138
138
 
139
139
  Set through constructor or environment variables.
140
140
 
@@ -154,7 +154,7 @@ Set through constructor or environment variables.
154
154
 
155
155
  ---
156
156
 
157
- ### 🔧 Payload Reference
157
+ ### Payload Reference
158
158
 
159
159
  #### `add_signal` Payload
160
160
 
@@ -242,7 +242,7 @@ Set through constructor or environment variables.
242
242
 
243
243
  ---
244
244
 
245
- ## 🛠️ Error Handling & Logging
245
+ ## Error Handling & Logging
246
246
 
247
247
  * Raises exceptions for bad input or backend failures
248
248
  * Use logging instead of print in production
@@ -250,7 +250,7 @@ Set through constructor or environment variables.
250
250
 
251
251
  ---
252
252
 
253
- ## 🧪 Testing
253
+ ## Testing
254
254
 
255
255
  Run all tests:
256
256
 
@@ -269,7 +269,7 @@ python -m twine upload dist/*
269
269
 
270
270
  ---
271
271
 
272
- ## 💡 Improvements & Roadmap
272
+ ## Improvements & Roadmap
273
273
 
274
274
  * Full async API support
275
275
  * Runtime config updates
@@ -279,7 +279,7 @@ python -m twine upload dist/*
279
279
 
280
280
  ---
281
281
 
282
- ## 🤝 Contributing
282
+ ## Contributing
283
283
 
284
284
  We welcome PRs and issues! Please follow PEP8 and include tests with any changes.
285
285
 
@@ -292,7 +292,7 @@ pre-commit install
292
292
 
293
293
  ---
294
294
 
295
- ## 🏁 Dev Quick Start
295
+ ## Dev Quick Start
296
296
 
297
297
  ```bash
298
298
  git clone http://lustra.intrepidcs.corp/ics/wivi/ipa-py-library.git
@@ -316,7 +316,7 @@ PYTHONPATH=src python3 integeration_test.py
316
316
 
317
317
  ---
318
318
 
319
- ## 📄 License
319
+ ## License
320
320
 
321
321
  MIT License
322
322
  Readme.txt
@@ -1,8 +1,10 @@
1
1
  [project]
2
2
  name = "ics-wivi-analytics-ingest"
3
- version = "0.1.5"
3
+ version = "0.1.6"
4
4
  description = """
5
- - Bearing accept both string and float.
5
+ - Bearing accept only float.
6
+ - JWT token removed.
7
+ - graphql_endpoint added.
6
8
  """
7
9
  authors = [{ name = "Haseeb Saif Ullah", email = "hsaif@intrepidcs.com" }, { name = "Scott VanDeWater", email = "svandewater@intrepidcs.com" }]
8
10
  readme = "README.md"
@@ -26,9 +26,7 @@ from analytics_ingest.internal.utils.signal_buffer_manager import SignalBufferMa
26
26
  class IcsAnalytics:
27
27
  def __init__(self, **kwargs):
28
28
  self.config = IngestConfigSchema(**kwargs)
29
- self.executor = GraphQLExecutor(
30
- self.config.graphql_endpoint, self.config.debug, self.config.jwt_token
31
- )
29
+ self.executor = GraphQLExecutor(self.config.graphql_endpoint, self.config.debug)
32
30
 
33
31
  self.configuration_id = ConfigurationService(self.executor).create(
34
32
  self.config.model_dump()
@@ -1,7 +1,7 @@
1
1
  # analytics_ingest/src/analytics_ingest/internal/schemas/gps_schema.py
2
2
 
3
3
  from datetime import datetime
4
- from typing import Optional, Any
4
+ from typing import Optional
5
5
 
6
6
  from pydantic import BaseModel
7
7
 
@@ -21,7 +21,7 @@ class GPSSchema(BaseModel):
21
21
  accuracy: Optional[float] = None
22
22
  altitude: Optional[float] = None
23
23
  speed: Optional[float] = None
24
- bearing: Optional[Any] = None
24
+ bearing: Optional[float] = None
25
25
  available: Optional[AvailableSchema] = None
26
26
 
27
27
  @classmethod
@@ -17,12 +17,11 @@ class IngestConfigSchema(BaseModel):
17
17
  graphql_endpoint: str = Field(default_factory=lambda: os.getenv("GRAPH_ENDPOINT"))
18
18
  max_signal_count: Optional[int] = Field(default=1, ge=1)
19
19
  debug: Optional[bool] = True
20
- jwt_token: Optional[str] = Field(
21
- default_factory=lambda: os.getenv("SEC_AUTH_TOKEN")
22
- )
23
20
 
24
21
  @model_validator(mode="after")
25
22
  def validate_env_or_param(self):
26
23
  if not self.graphql_endpoint:
27
- self.graphql_endpoint = "https://0.0.0.0:8092/graphql"
24
+ raise ValueError(
25
+ "Missing GraphQL endpoint. Set via param or GRAPH_ENDPOINT env."
26
+ )
28
27
  return self
@@ -8,10 +8,9 @@ from requests.exceptions import RequestException
8
8
 
9
9
 
10
10
  class GraphQLExecutor:
11
- def __init__(self, graphql_endpoint, debug=False, jwt_token=None):
11
+ def __init__(self, graphql_endpoint, debug=False):
12
12
  self.graphql_endpoint = graphql_endpoint
13
13
  self.debug = debug
14
- self.jwt_token = jwt_token
15
14
  self._semaphore = asyncio.Semaphore(1)
16
15
  self._pending_requests = []
17
16
  self._executor_pool = ThreadPoolExecutor(max_workers=10)
@@ -35,9 +34,6 @@ class GraphQLExecutor:
35
34
  parsed_query = print_ast(parse(query))
36
35
  headers = {"Content-Type": "application/json"}
37
36
 
38
- if self.jwt_token:
39
- headers["Authorization"] = f"Bearer {self.jwt_token}"
40
-
41
37
  request_data = {"query": parsed_query, "variables": variables}
42
38
 
43
39
  if self.debug:
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ics-wivi-analytics-ingest
3
- Version: 0.1.5
4
- Summary: - Bearing accept both string and float.
3
+ Version: 0.1.6
4
+ Summary: - 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
 
@@ -55,7 +55,7 @@ A lightweight Python library to batch and send automotive telemetry — like sig
55
55
 
56
56
  ---
57
57
 
58
- ## 🔧 Features
58
+ ## Features
59
59
 
60
60
  * Python 3.11+ support
61
61
  * Clean, single-class interface: `IcsAnalytics`
@@ -68,24 +68,24 @@ A lightweight Python library to batch and send automotive telemetry — like sig
68
68
 
69
69
  ---
70
70
 
71
- ## 📦 Installation
71
+ ## Installation
72
72
 
73
73
  ```bash
74
74
  pip install ics-wivi-analytics-ingest
75
75
  ```
76
76
  ---
77
77
 
78
- ## 🔑 Setting Endpoint via Environment Variables
78
+ ## Setting Endpoint via Environment Variables
79
79
 
80
80
  You can avoid hardcoding sensitive values like GraphQL endpoints by using environment variables.
81
81
 
82
82
  ### Example (Linux / macOS)
83
83
 
84
84
  ```bash
85
- export GRAPHQL_ENDPOINT="https://0.0.0.0:8092/graphql"
85
+ export GRAPHQL_ENDPOINT="https://graph.{server}.wlnv.srv:8080/graphql" # example endpoint = https://graph.a7f1.wlnv.srv:8080/graphql
86
86
  ```
87
87
 
88
- ## 🚀 Quick Usage
88
+ ## Quick Usage
89
89
 
90
90
  ```python
91
91
  from analytics_ingest import IcsAnalytics
@@ -95,7 +95,7 @@ client = IcsAnalytics(
95
95
  vehicle_id=456,
96
96
  fleet_id=789,
97
97
  org_id=1011,
98
- graphql_endpoint="https://0.0.0.0:8092/graphql", #default endpoint
98
+ graphql_endpoint="https://graph.{server}.wlnv.srv:8080/graphql", # example endpoint = https://graph.a7f1.wlnv.srv:8080/graphql
99
99
  batch_size=100,
100
100
  batch_interval_seconds=10,
101
101
  max_signal_count=100
@@ -185,7 +185,7 @@ client.close()
185
185
 
186
186
  ---
187
187
 
188
- ## ⚙️ Config Options
188
+ ## Config Options
189
189
 
190
190
  Set through constructor or environment variables.
191
191
 
@@ -205,7 +205,7 @@ Set through constructor or environment variables.
205
205
 
206
206
  ---
207
207
 
208
- ### 🔧 Payload Reference
208
+ ### Payload Reference
209
209
 
210
210
  #### `add_signal` Payload
211
211
 
@@ -293,7 +293,7 @@ Set through constructor or environment variables.
293
293
 
294
294
  ---
295
295
 
296
- ## 🛠️ Error Handling & Logging
296
+ ## Error Handling & Logging
297
297
 
298
298
  * Raises exceptions for bad input or backend failures
299
299
  * Use logging instead of print in production
@@ -301,7 +301,7 @@ Set through constructor or environment variables.
301
301
 
302
302
  ---
303
303
 
304
- ## 🧪 Testing
304
+ ## Testing
305
305
 
306
306
  Run all tests:
307
307
 
@@ -320,7 +320,7 @@ python -m twine upload dist/*
320
320
 
321
321
  ---
322
322
 
323
- ## 💡 Improvements & Roadmap
323
+ ## Improvements & Roadmap
324
324
 
325
325
  * Full async API support
326
326
  * Runtime config updates
@@ -330,7 +330,7 @@ python -m twine upload dist/*
330
330
 
331
331
  ---
332
332
 
333
- ## 🤝 Contributing
333
+ ## Contributing
334
334
 
335
335
  We welcome PRs and issues! Please follow PEP8 and include tests with any changes.
336
336
 
@@ -343,7 +343,7 @@ pre-commit install
343
343
 
344
344
  ---
345
345
 
346
- ## 🏁 Dev Quick Start
346
+ ## Dev Quick Start
347
347
 
348
348
  ```bash
349
349
  git clone http://lustra.intrepidcs.corp/ics/wivi/ipa-py-library.git
@@ -367,7 +367,7 @@ PYTHONPATH=src python3 integeration_test.py
367
367
 
368
368
  ---
369
369
 
370
- ## 📄 License
370
+ ## License
371
371
 
372
372
  MIT License
373
373
  Readme.txt
@@ -0,0 +1 @@
1
+ GRAPHQL_ENDPOINT = "https://graph.{server}.wlnv.srv:8080/graphql"
@@ -1 +0,0 @@
1
- GRAPHQL_ENDPOINT = "https://0.0.0.0:8092/graphql"