celitech-sdk 1.0.0__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 (58) hide show
  1. celitech-sdk-1.0.0/LICENSE +21 -0
  2. celitech-sdk-1.0.0/PKG-INFO +482 -0
  3. celitech-sdk-1.0.0/README.md +472 -0
  4. celitech-sdk-1.0.0/pyproject.toml +14 -0
  5. celitech-sdk-1.0.0/setup.cfg +4 -0
  6. celitech-sdk-1.0.0/src/celitech/__init__.py +2 -0
  7. celitech-sdk-1.0.0/src/celitech/hooks/__init__.py +0 -0
  8. celitech-sdk-1.0.0/src/celitech/hooks/hook.py +95 -0
  9. celitech-sdk-1.0.0/src/celitech/models/__init__.py +14 -0
  10. celitech-sdk-1.0.0/src/celitech/models/base.py +251 -0
  11. celitech-sdk-1.0.0/src/celitech/models/create_purchase_ok_response.py +85 -0
  12. celitech-sdk-1.0.0/src/celitech/models/create_purchase_request.py +54 -0
  13. celitech-sdk-1.0.0/src/celitech/models/edit_purchase_ok_response.py +41 -0
  14. celitech-sdk-1.0.0/src/celitech/models/edit_purchase_request.py +41 -0
  15. celitech-sdk-1.0.0/src/celitech/models/get_esim_device_ok_response.py +41 -0
  16. celitech-sdk-1.0.0/src/celitech/models/get_esim_history_ok_response.py +50 -0
  17. celitech-sdk-1.0.0/src/celitech/models/get_esim_mac_ok_response.py +39 -0
  18. celitech-sdk-1.0.0/src/celitech/models/get_esim_ok_response.py +43 -0
  19. celitech-sdk-1.0.0/src/celitech/models/get_purchase_consumption_ok_response.py +17 -0
  20. celitech-sdk-1.0.0/src/celitech/models/list_destinations_ok_response.py +38 -0
  21. celitech-sdk-1.0.0/src/celitech/models/list_packages_ok_response.py +61 -0
  22. celitech-sdk-1.0.0/src/celitech/models/list_purchases_ok_response.py +129 -0
  23. celitech-sdk-1.0.0/src/celitech/models/top_up_esim_ok_response.py +82 -0
  24. celitech-sdk-1.0.0/src/celitech/models/top_up_esim_request.py +49 -0
  25. celitech-sdk-1.0.0/src/celitech/models/utils/cast_models.py +81 -0
  26. celitech-sdk-1.0.0/src/celitech/models/utils/json_map.py +80 -0
  27. celitech-sdk-1.0.0/src/celitech/net/__init__.py +0 -0
  28. celitech-sdk-1.0.0/src/celitech/net/environment/__init__.py +1 -0
  29. celitech-sdk-1.0.0/src/celitech/net/environment/environment.py +11 -0
  30. celitech-sdk-1.0.0/src/celitech/net/headers/__init__.py +0 -0
  31. celitech-sdk-1.0.0/src/celitech/net/headers/base_header.py +9 -0
  32. celitech-sdk-1.0.0/src/celitech/net/request_chain/__init__.py +0 -0
  33. celitech-sdk-1.0.0/src/celitech/net/request_chain/handlers/__init__.py +0 -0
  34. celitech-sdk-1.0.0/src/celitech/net/request_chain/handlers/base_handler.py +39 -0
  35. celitech-sdk-1.0.0/src/celitech/net/request_chain/handlers/hook_handler.py +47 -0
  36. celitech-sdk-1.0.0/src/celitech/net/request_chain/handlers/http_handler.py +80 -0
  37. celitech-sdk-1.0.0/src/celitech/net/request_chain/handlers/retry_handler.py +65 -0
  38. celitech-sdk-1.0.0/src/celitech/net/request_chain/request_chain.py +57 -0
  39. celitech-sdk-1.0.0/src/celitech/net/transport/__init__.py +0 -0
  40. celitech-sdk-1.0.0/src/celitech/net/transport/request.py +89 -0
  41. celitech-sdk-1.0.0/src/celitech/net/transport/request_error.py +53 -0
  42. celitech-sdk-1.0.0/src/celitech/net/transport/response.py +57 -0
  43. celitech-sdk-1.0.0/src/celitech/net/transport/serializer.py +249 -0
  44. celitech-sdk-1.0.0/src/celitech/net/transport/utils.py +28 -0
  45. celitech-sdk-1.0.0/src/celitech/sdk.py +30 -0
  46. celitech-sdk-1.0.0/src/celitech/services/__init__.py +0 -0
  47. celitech-sdk-1.0.0/src/celitech/services/destinations.py +29 -0
  48. celitech-sdk-1.0.0/src/celitech/services/e_sim.py +121 -0
  49. celitech-sdk-1.0.0/src/celitech/services/packages.py +72 -0
  50. celitech-sdk-1.0.0/src/celitech/services/purchases.py +189 -0
  51. celitech-sdk-1.0.0/src/celitech/services/utils/base_service.py +63 -0
  52. celitech-sdk-1.0.0/src/celitech/services/utils/default_headers.py +57 -0
  53. celitech-sdk-1.0.0/src/celitech/services/utils/validator.py +170 -0
  54. celitech-sdk-1.0.0/src/celitech_sdk.egg-info/PKG-INFO +482 -0
  55. celitech-sdk-1.0.0/src/celitech_sdk.egg-info/SOURCES.txt +56 -0
  56. celitech-sdk-1.0.0/src/celitech_sdk.egg-info/dependency_links.txt +1 -0
  57. celitech-sdk-1.0.0/src/celitech_sdk.egg-info/requires.txt +1 -0
  58. celitech-sdk-1.0.0/src/celitech_sdk.egg-info/top_level.txt +1 -0
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,482 @@
1
+ Metadata-Version: 2.1
2
+ Name: celitech-sdk
3
+ Version: 1.0.0
4
+ Summary: Welcome to the CELITECH API documentation! Useful links: [Homepage](https://www.celitech.com) | [Support email](mailto:support@celitech.com) | [Blog](https://www.celitech.com/blog/)
5
+ License: MIT
6
+ Requires-Python: >=3.7
7
+ Description-Content-Type: text/markdown
8
+ License-File: LICENSE
9
+ Requires-Dist: requests>=2.31.0
10
+
11
+ # Celitech Python SDK 1.0.0
12
+
13
+ A Python SDK for Celitech.
14
+
15
+ - API version: 1.1.0
16
+ - SDK version: 1.0.0
17
+
18
+ Welcome to the CELITECH API documentation! Useful links: [Homepage](https://www.celitech.com) | [Support email](mailto:support@celitech.com) | [Blog](https://www.celitech.com/blog/)
19
+
20
+ ## Table of Contents
21
+
22
+ - [Installation](#installation)
23
+ - [Environment Variables](#environment-variables)
24
+ - [Services](#services)
25
+
26
+ ## Installation
27
+
28
+ ```bash
29
+ pip install celitech-sdk
30
+ ```
31
+
32
+ ## Environment Variables
33
+
34
+ You will need the following environment variables in order to access all the features of this SDK:
35
+
36
+ | Name | Description |
37
+ | :------------ | :---------------------- |
38
+ | CLIENT_ID | Client ID parameter |
39
+ | CLIENT_SECRET | Client Secret parameter |
40
+
41
+ You can set these environment variables on the command line or you can use whatever tooling your project has in place to manage environment variables. If you are using a `.env` file, we have provided a template with the variable names in the `.env.example` file in the same directory as this readme.
42
+
43
+ ## Services
44
+
45
+ A list of all SDK services. Click on the service name to access its corresponding service methods.
46
+
47
+ | Service |
48
+ | :------------------------------------------ |
49
+ | [DestinationsService](#destinationsservice) |
50
+ | [PackagesService](#packagesservice) |
51
+ | [PurchasesService](#purchasesservice) |
52
+ | [ESimService](#esimservice) |
53
+
54
+ ### DestinationsService
55
+
56
+ A list of all methods in the `DestinationsService` service. Click on the method name to view detailed information about that method.
57
+
58
+ | Methods | Description |
59
+ | :-------------------------------------- | :----------------------- |
60
+ | [list_destinations](#list_destinations) | Name of the destinations |
61
+
62
+ #### **list_destinations**
63
+
64
+ Name of the destinations
65
+
66
+ - HTTP Method: `GET`
67
+ - Endpoint: `/destinations`
68
+
69
+ **Parameters**
70
+ | Name | Type| Required | Description |
71
+ | :-------- | :----------| :----------:| :----------|
72
+
73
+ **Return Type**
74
+
75
+ `ListDestinationsOkResponse`
76
+
77
+ **Example Usage Code Snippet**
78
+
79
+ ```py
80
+ from celitech import Celitech, Environment
81
+
82
+ sdk = Celitech(
83
+ base_url=Environment.DEFAULT.value
84
+ )
85
+
86
+ result = sdk.destinations.list_destinations()
87
+
88
+ print(result)
89
+ ```
90
+
91
+ ### PackagesService
92
+
93
+ A list of all methods in the `PackagesService` service. Click on the method name to view detailed information about that method.
94
+
95
+ | Methods | Description |
96
+ | :------------------------------ | :------------------------- |
97
+ | [list_packages](#list_packages) | List of available packages |
98
+
99
+ #### **list_packages**
100
+
101
+ List of available packages
102
+
103
+ - HTTP Method: `GET`
104
+ - Endpoint: `/packages`
105
+
106
+ **Parameters**
107
+ | Name | Type| Required | Description |
108
+ | :-------- | :----------| :----------:| :----------|
109
+ | destination | str | ❌ | List of available packages |
110
+ | startDate | str | ❌ | List of available packages |
111
+ | endDate | str | ❌ | List of available packages |
112
+ | afterCursor | str | ❌ | List of available packages |
113
+ | limit | float | ❌ | List of available packages |
114
+ | startTime | int | ❌ | List of available packages |
115
+ | endTime | int | ❌ | List of available packages |
116
+ | duration | float | ❌ | List of available packages |
117
+
118
+ **Return Type**
119
+
120
+ `ListPackagesOkResponse`
121
+
122
+ **Example Usage Code Snippet**
123
+
124
+ ```py
125
+ from celitech import Celitech, Environment
126
+
127
+ sdk = Celitech(
128
+ base_url=Environment.DEFAULT.value
129
+ )
130
+
131
+ result = sdk.packages.list_packages(
132
+ destination="FRA",
133
+ start_date="2023-11-01",
134
+ end_date="2023-11-20",
135
+ after_cursor="Y3JlYXRlZEF0OjE1OTk0OTMwOTgsZGVzdGluYXRpb246QVVTLG1pbkRheXM6MCxkYXRhTGltaXRJbkJ5dGVzOjUzNjg3MDkxMjA",
136
+ limit=20,
137
+ start_time=8,
138
+ end_time=2,
139
+ duration=8.44
140
+ )
141
+
142
+ print(result)
143
+ ```
144
+
145
+ ### PurchasesService
146
+
147
+ A list of all methods in the `PurchasesService` service. Click on the method name to view detailed information about that method.
148
+
149
+ | Methods | Description |
150
+ | :---------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
151
+ | [list_purchases](#list_purchases) | This endpoint can be used to list all the successful purchases made between a given interval. |
152
+ | [create_purchase](#create_purchase) | This endpoint is used to purchase a new eSIM by providing the package details. |
153
+ | [top_up_esim](#top_up_esim) | This endpoint is used to top-up an eSIM with the previously associated destination by providing an existing ICCID and the package details. The top-up is not feasible for eSIMs in "DELETED" or "ERROR" state. |
154
+ | [edit_purchase](#edit_purchase) | This endpoint allows you to modify the dates of an existing package with a future activation start time. Editing can only be performed for packages that have not been activated, and it cannot change the package size. The modification must not change the package duration category to ensure pricing consistency. |
155
+ | [get_purchase_consumption](#get_purchase_consumption) | This endpoint can be called for consumption notifications (e.g. every 1 hour or when the user clicks a button). It returns the data balance (consumption) of purchased packages. |
156
+
157
+ #### **list_purchases**
158
+
159
+ This endpoint can be used to list all the successful purchases made between a given interval.
160
+
161
+ - HTTP Method: `GET`
162
+ - Endpoint: `/purchases`
163
+
164
+ **Parameters**
165
+ | Name | Type| Required | Description |
166
+ | :-------- | :----------| :----------:| :----------|
167
+ | iccid | str | ❌ | This endpoint can be used to list all the successful purchases made between a given interval. |
168
+ | afterDate | str | ❌ | This endpoint can be used to list all the successful purchases made between a given interval. |
169
+ | beforeDate | str | ❌ | This endpoint can be used to list all the successful purchases made between a given interval. |
170
+ | afterCursor | str | ❌ | This endpoint can be used to list all the successful purchases made between a given interval. |
171
+ | limit | float | ❌ | This endpoint can be used to list all the successful purchases made between a given interval. |
172
+ | after | float | ❌ | This endpoint can be used to list all the successful purchases made between a given interval. |
173
+ | before | float | ❌ | This endpoint can be used to list all the successful purchases made between a given interval. |
174
+
175
+ **Return Type**
176
+
177
+ `ListPurchasesOkResponse`
178
+
179
+ **Example Usage Code Snippet**
180
+
181
+ ```py
182
+ from celitech import Celitech, Environment
183
+
184
+ sdk = Celitech(
185
+ base_url=Environment.DEFAULT.value
186
+ )
187
+
188
+ result = sdk.purchases.list_purchases(
189
+ iccid="1111222233334444555",
190
+ after_date="2023-11-01",
191
+ before_date="2023-11-20",
192
+ after_cursor="Y3JlYXRlZEF0OjE1OTk0OTMwOTgsZGVzdGluYXRpb246QVVTLG1pbkRheXM6MCxkYXRhTGltaXRJbkJ5dGVzOjUzNjg3MDkxMjA",
193
+ limit=20,
194
+ after=2.38,
195
+ before=3.34
196
+ )
197
+
198
+ print(result)
199
+ ```
200
+
201
+ #### **create_purchase**
202
+
203
+ This endpoint is used to purchase a new eSIM by providing the package details.
204
+
205
+ - HTTP Method: `POST`
206
+ - Endpoint: `/purchases`
207
+
208
+ **Parameters**
209
+ | Name | Type| Required | Description |
210
+ | :-------- | :----------| :----------:| :----------|
211
+ | request_body | CreatePurchaseRequest | ❌ | The request body. |
212
+
213
+ **Return Type**
214
+
215
+ `CreatePurchaseOkResponse`
216
+
217
+ **Example Usage Code Snippet**
218
+
219
+ ```py
220
+ from celitech import Celitech, Environment
221
+ from celitech.models import CreatePurchaseRequest
222
+
223
+ sdk = Celitech(
224
+ base_url=Environment.DEFAULT.value
225
+ )
226
+
227
+ request_body = CreatePurchaseRequest(**{
228
+ "destination": "FRA",
229
+ "data_limit_in_gb": 1,
230
+ "start_date": "2023-11-01",
231
+ "end_date": "2023-11-20",
232
+ "email": "example@domain.com",
233
+ "network_brand": "CELITECH",
234
+ "start_time": 2.37,
235
+ "end_time": 8.12
236
+ })
237
+
238
+ result = sdk.purchases.create_purchase(request_body=request_body)
239
+
240
+ print(result)
241
+ ```
242
+
243
+ #### **top_up_esim**
244
+
245
+ This endpoint is used to top-up an eSIM with the previously associated destination by providing an existing ICCID and the package details. The top-up is not feasible for eSIMs in "DELETED" or "ERROR" state.
246
+
247
+ - HTTP Method: `POST`
248
+ - Endpoint: `/purchases/topup`
249
+
250
+ **Parameters**
251
+ | Name | Type| Required | Description |
252
+ | :-------- | :----------| :----------:| :----------|
253
+ | request_body | TopUpEsimRequest | ❌ | The request body. |
254
+
255
+ **Return Type**
256
+
257
+ `TopUpEsimOkResponse`
258
+
259
+ **Example Usage Code Snippet**
260
+
261
+ ```py
262
+ from celitech import Celitech, Environment
263
+ from celitech.models import TopUpEsimRequest
264
+
265
+ sdk = Celitech(
266
+ base_url=Environment.DEFAULT.value
267
+ )
268
+
269
+ request_body = TopUpEsimRequest(**{
270
+ "iccid": "1111222233334444555",
271
+ "data_limit_in_gb": 1,
272
+ "start_date": "2023-11-01",
273
+ "end_date": "2023-11-20",
274
+ "email": "example@domain.com",
275
+ "start_time": 8.12,
276
+ "end_time": 4.35
277
+ })
278
+
279
+ result = sdk.purchases.top_up_esim(request_body=request_body)
280
+
281
+ print(result)
282
+ ```
283
+
284
+ #### **edit_purchase**
285
+
286
+ This endpoint allows you to modify the dates of an existing package with a future activation start time. Editing can only be performed for packages that have not been activated, and it cannot change the package size. The modification must not change the package duration category to ensure pricing consistency.
287
+
288
+ - HTTP Method: `POST`
289
+ - Endpoint: `/purchases/edit`
290
+
291
+ **Parameters**
292
+ | Name | Type| Required | Description |
293
+ | :-------- | :----------| :----------:| :----------|
294
+ | request_body | EditPurchaseRequest | ❌ | The request body. |
295
+
296
+ **Return Type**
297
+
298
+ `EditPurchaseOkResponse`
299
+
300
+ **Example Usage Code Snippet**
301
+
302
+ ```py
303
+ from celitech import Celitech, Environment
304
+ from celitech.models import EditPurchaseRequest
305
+
306
+ sdk = Celitech(
307
+ base_url=Environment.DEFAULT.value
308
+ )
309
+
310
+ request_body = EditPurchaseRequest(**{
311
+ "purchase_id": "ae471106-c8b4-42cf-b83a-b061291f2922",
312
+ "start_date": "2023-11-01",
313
+ "end_date": "2023-11-20",
314
+ "start_time": 8.76,
315
+ "end_time": 4.68
316
+ })
317
+
318
+ result = sdk.purchases.edit_purchase(request_body=request_body)
319
+
320
+ print(result)
321
+ ```
322
+
323
+ #### **get_purchase_consumption**
324
+
325
+ This endpoint can be called for consumption notifications (e.g. every 1 hour or when the user clicks a button). It returns the data balance (consumption) of purchased packages.
326
+
327
+ - HTTP Method: `GET`
328
+ - Endpoint: `/purchases/{purchaseId}/consumption`
329
+
330
+ **Parameters**
331
+ | Name | Type| Required | Description |
332
+ | :-------- | :----------| :----------:| :----------|
333
+ | purchaseId | str | ✅ | This endpoint can be called for consumption notifications (e.g. every 1 hour or when the user clicks a button). It returns the data balance (consumption) of purchased packages. |
334
+
335
+ **Return Type**
336
+
337
+ `GetPurchaseConsumptionOkResponse`
338
+
339
+ **Example Usage Code Snippet**
340
+
341
+ ```py
342
+ from celitech import Celitech, Environment
343
+
344
+ sdk = Celitech(
345
+ base_url=Environment.DEFAULT.value
346
+ )
347
+
348
+ result = sdk.purchases.get_purchase_consumption(purchase_id="4973fa15-6979-4daa-9cf3-672620df819c")
349
+
350
+ print(result)
351
+ ```
352
+
353
+ ### ESimService
354
+
355
+ A list of all methods in the `ESimService` service. Click on the method name to view detailed information about that method.
356
+
357
+ | Methods | Description |
358
+ | :------------------------------------ | :------------------------------------- |
359
+ | [get_esim](#get_esim) | Get status from eSIM |
360
+ | [get_esim_device](#get_esim_device) | Get device info from an installed eSIM |
361
+ | [get_esim_history](#get_esim_history) | Get history from an eSIM |
362
+ | [get_esim_mac](#get_esim_mac) | Get MAC from eSIM |
363
+
364
+ #### **get_esim**
365
+
366
+ Get status from eSIM
367
+
368
+ - HTTP Method: `GET`
369
+ - Endpoint: `/esim`
370
+
371
+ **Parameters**
372
+ | Name | Type| Required | Description |
373
+ | :-------- | :----------| :----------:| :----------|
374
+ | iccid | str | ✅ | Get status from eSIM |
375
+
376
+ **Return Type**
377
+
378
+ `GetEsimOkResponse`
379
+
380
+ **Example Usage Code Snippet**
381
+
382
+ ```py
383
+ from celitech import Celitech, Environment
384
+
385
+ sdk = Celitech(
386
+ base_url=Environment.DEFAULT.value
387
+ )
388
+
389
+ result = sdk.e_sim.get_esim(iccid="1111222233334444555")
390
+
391
+ print(result)
392
+ ```
393
+
394
+ #### **get_esim_device**
395
+
396
+ Get device info from an installed eSIM
397
+
398
+ - HTTP Method: `GET`
399
+ - Endpoint: `/esim/{iccid}/device`
400
+
401
+ **Parameters**
402
+ | Name | Type| Required | Description |
403
+ | :-------- | :----------| :----------:| :----------|
404
+ | iccid | str | ✅ | Get device info from an installed eSIM |
405
+
406
+ **Return Type**
407
+
408
+ `GetEsimDeviceOkResponse`
409
+
410
+ **Example Usage Code Snippet**
411
+
412
+ ```py
413
+ from celitech import Celitech, Environment
414
+
415
+ sdk = Celitech(
416
+ base_url=Environment.DEFAULT.value
417
+ )
418
+
419
+ result = sdk.e_sim.get_esim_device(iccid="1111222233334444555")
420
+
421
+ print(result)
422
+ ```
423
+
424
+ #### **get_esim_history**
425
+
426
+ Get history from an eSIM
427
+
428
+ - HTTP Method: `GET`
429
+ - Endpoint: `/esim/{iccid}/history`
430
+
431
+ **Parameters**
432
+ | Name | Type| Required | Description |
433
+ | :-------- | :----------| :----------:| :----------|
434
+ | iccid | str | ✅ | Get history from an eSIM |
435
+
436
+ **Return Type**
437
+
438
+ `GetEsimHistoryOkResponse`
439
+
440
+ **Example Usage Code Snippet**
441
+
442
+ ```py
443
+ from celitech import Celitech, Environment
444
+
445
+ sdk = Celitech(
446
+ base_url=Environment.DEFAULT.value
447
+ )
448
+
449
+ result = sdk.e_sim.get_esim_history(iccid="1111222233334444555")
450
+
451
+ print(result)
452
+ ```
453
+
454
+ #### **get_esim_mac**
455
+
456
+ Get MAC from eSIM
457
+
458
+ - HTTP Method: `GET`
459
+ - Endpoint: `/esim/{iccid}/mac`
460
+
461
+ **Parameters**
462
+ | Name | Type| Required | Description |
463
+ | :-------- | :----------| :----------:| :----------|
464
+ | iccid | str | ✅ | Get MAC from eSIM |
465
+
466
+ **Return Type**
467
+
468
+ `GetEsimMacOkResponse`
469
+
470
+ **Example Usage Code Snippet**
471
+
472
+ ```py
473
+ from celitech import Celitech, Environment
474
+
475
+ sdk = Celitech(
476
+ base_url=Environment.DEFAULT.value
477
+ )
478
+
479
+ result = sdk.e_sim.get_esim_mac(iccid="1111222233334444555")
480
+
481
+ print(result)
482
+ ```