scrapli 2.0.0a3__py3-none-macosx_11_0_arm64.whl → 2.0.0a5__py3-none-macosx_11_0_arm64.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.
Files changed (58) hide show
  1. scrapli/__init__.py +5 -5
  2. scrapli/auth.py +14 -7
  3. scrapli/cli.py +334 -66
  4. scrapli/cli_parse.py +1 -1
  5. scrapli/cli_result.py +42 -0
  6. scrapli/definitions/aethra_atosnt.yaml +9 -0
  7. scrapli/definitions/alcatel_aos.yaml +9 -0
  8. scrapli/definitions/arista_eos.yaml +1 -0
  9. scrapli/definitions/aruba_aoscx.yaml +33 -0
  10. scrapli/definitions/cisco_aireos.yaml +31 -0
  11. scrapli/definitions/cisco_asa.yaml +48 -0
  12. scrapli/definitions/cisco_cbs.yaml +50 -0
  13. scrapli/definitions/cisco_ftd.yaml +42 -0
  14. scrapli/definitions/cisco_nxos.yaml +2 -0
  15. scrapli/definitions/cumulus_linux.yaml +28 -0
  16. scrapli/definitions/cumulus_vtysh.yaml +42 -0
  17. scrapli/definitions/datacom_dmos.yaml +30 -0
  18. scrapli/definitions/datacom_dmswitch.yaml +32 -0
  19. scrapli/definitions/default.yaml +9 -0
  20. scrapli/definitions/dell_emc.yaml +46 -0
  21. scrapli/definitions/dell_enterprisesonic.yaml +40 -0
  22. scrapli/definitions/dlink_os.yaml +46 -0
  23. scrapli/definitions/edgecore_ecs.yaml +35 -0
  24. scrapli/definitions/eltex_esr.yaml +43 -0
  25. scrapli/definitions/fortinet_fortios.yaml +20 -0
  26. scrapli/definitions/fortinet_wlc.yaml +33 -0
  27. scrapli/definitions/hp_comware.yaml +31 -0
  28. scrapli/definitions/huawei_smartax.yaml +61 -0
  29. scrapli/definitions/huawei_vrp.yaml +56 -0
  30. scrapli/definitions/juniper_junos.yaml +3 -0
  31. scrapli/definitions/nokia_srlinux.yaml +13 -2
  32. scrapli/definitions/nokia_sros.yaml +31 -0
  33. scrapli/definitions/nokia_sros_classic.yaml +33 -0
  34. scrapli/definitions/nokia_sros_classic_aram.yaml +25 -0
  35. scrapli/definitions/paloalto_panos.yaml +36 -0
  36. scrapli/definitions/raisecom_ros.yaml +45 -0
  37. scrapli/definitions/ruckus_fastiron.yaml +45 -0
  38. scrapli/definitions/ruckus_unleashed.yaml +64 -0
  39. scrapli/definitions/siemens_roxii.yaml +28 -0
  40. scrapli/definitions/versa_flexvnf.yaml +45 -0
  41. scrapli/definitions/vyos_vyos.yaml +35 -0
  42. scrapli/definitions/zyxel_dslam.yaml +18 -0
  43. scrapli/ffi.py +1 -1
  44. scrapli/ffi_mapping.py +92 -37
  45. scrapli/ffi_mapping_cli.py +146 -22
  46. scrapli/ffi_mapping_netconf.py +28 -60
  47. scrapli/ffi_mapping_options.py +38 -6
  48. scrapli/ffi_types.py +43 -3
  49. scrapli/helper.py +56 -0
  50. scrapli/lib/{libscrapli.0.0.1-alpha.10.dylib → libscrapli.0.0.1-alpha.17.dylib} +0 -0
  51. scrapli/netconf.py +36 -147
  52. scrapli/transport.py +71 -130
  53. {scrapli-2.0.0a3.dist-info → scrapli-2.0.0a5.dist-info}/METADATA +1 -1
  54. scrapli-2.0.0a5.dist-info/RECORD +67 -0
  55. scrapli-2.0.0a3.dist-info/RECORD +0 -34
  56. {scrapli-2.0.0a3.dist-info → scrapli-2.0.0a5.dist-info}/WHEEL +0 -0
  57. {scrapli-2.0.0a3.dist-info → scrapli-2.0.0a5.dist-info}/licenses/LICENSE +0 -0
  58. {scrapli-2.0.0a3.dist-info → scrapli-2.0.0a5.dist-info}/top_level.txt +0 -0
scrapli/transport.py CHANGED
@@ -1,5 +1,6 @@
1
1
  """scrapli.transport"""
2
2
 
3
+ from abc import ABC, abstractmethod
3
4
  from ctypes import c_char_p, c_int
4
5
  from dataclasses import dataclass, field
5
6
  from enum import Enum
@@ -33,8 +34,74 @@ class TransportKind(str, Enum):
33
34
  TEST = "test_"
34
35
 
35
36
 
37
+ class Options(ABC):
38
+ """
39
+ Options is the base class for transport related option containers.
40
+
41
+ Args:
42
+ N/A
43
+
44
+ Returns:
45
+ None
46
+
47
+ Raises:
48
+ N/A
49
+
50
+ """
51
+
52
+ _transport_kind: TransportKind | None = None
53
+
54
+ @property
55
+ def transport_kind(self) -> TransportKind:
56
+ """
57
+ Returns/sets the encoded name of the selected transport kind
58
+
59
+ Should not be called directly/by users.
60
+
61
+ Args:
62
+ N/A
63
+
64
+ Returns:
65
+ TransportKind: the selected transport kind
66
+
67
+ Raises:
68
+ OptionsException: if any option apply returns a non-zero return code.
69
+
70
+ """
71
+ if isinstance(self, BinOptions):
72
+ self._transport_kind = TransportKind.BIN
73
+ elif isinstance(self, Ssh2Options):
74
+ self._transport_kind = TransportKind.SSH2
75
+ elif isinstance(self, TelnetOptions):
76
+ self._transport_kind = TransportKind.TELNET
77
+ else:
78
+ self._transport_kind = TransportKind.TEST
79
+
80
+ return self._transport_kind
81
+
82
+ @abstractmethod
83
+ def apply(self, ffi_mapping: LibScrapliMapping, ptr: DriverPointer) -> None:
84
+ """
85
+ Applies the options to the given driver pointer.
86
+
87
+ Should not be called directly/by users.
88
+
89
+ Args:
90
+ ffi_mapping: the handle to the ffi mapping singleton
91
+ ptr: the pointer to the underlying cli or netconf object
92
+
93
+ Returns:
94
+ None
95
+
96
+ Raises:
97
+ OptionsException: if any option apply returns a non-zero return code.
98
+
99
+ """
100
+ raise NotImplementedError
101
+
102
+
36
103
  @dataclass
37
- class BinOptions:
104
+ class BinOptions(Options):
38
105
  """
39
106
  Options holds bin transport options to pass to the ffi layer.
40
107
 
@@ -154,7 +221,7 @@ class BinOptions:
154
221
 
155
222
 
156
223
  @dataclass
157
- class Ssh2Options:
224
+ class Ssh2Options(Options):
158
225
  """
159
226
  Options holds ssh2 transport options to pass to the ffi layer.
160
227
 
@@ -195,7 +262,7 @@ class Ssh2Options:
195
262
 
196
263
 
197
264
  @dataclass
198
- class TelnetOptions:
265
+ class TelnetOptions(Options):
199
266
  """
200
267
  Options holds telnet transport options to pass to the ffi layer.
201
268
 
@@ -231,7 +298,7 @@ class TelnetOptions:
231
298
 
232
299
 
233
300
  @dataclass
234
- class TestOptions:
301
+ class TestOptions(Options):
235
302
  """
236
303
  Options holds test transport options to pass to the ffi layer.
237
304
 
@@ -273,129 +340,3 @@ class TestOptions:
273
340
  status = ffi_mapping.options_mapping.transport_test.set_f(ptr, self._f)
274
341
  if status != 0:
275
342
  raise OptionsException("failed to set test transport f")
276
-
277
-
278
- @dataclass
279
- class Options:
280
- """
281
- Options holds transport options to pass to the ffi layer.
282
-
283
- Only one flavor of transport options can be set at a time. The active option determines the
284
- transport to be used for the connection.
285
-
286
- Args:
287
- bin: the bin transport options
288
- ssh2: the ssh2 transport options
289
- telnet: the telnet transport options
290
- test: the test transport options
291
-
292
- Returns:
293
- None
294
-
295
- Raises:
296
- N/A
297
-
298
- """
299
-
300
- bin: BinOptions | None = None
301
- ssh2: Ssh2Options | None = None
302
- telnet: TelnetOptions | None = None
303
- test: TestOptions | None = None
304
-
305
- _transport_kind: bytes | None = field(init=False, default=None, repr=False)
306
-
307
- def __post_init__(self) -> None:
308
- _set_fields = [f for f in [self.bin, self.ssh2, self.telnet, self.test] if f is not None]
309
-
310
- if len(_set_fields) == 0:
311
- self.bin = BinOptions()
312
-
313
- return
314
-
315
- if len(_set_fields) == 1:
316
- return
317
-
318
- raise OptionsException("more than one transport set")
319
-
320
- def apply(self, ffi_mapping: LibScrapliMapping, ptr: DriverPointer) -> None:
321
- """
322
- Applies the options to the given driver pointer.
323
-
324
- Should not be called directly/by users.
325
-
326
- Args:
327
- ffi_mapping: the handle to the ffi mapping singleton
328
- ptr: the pointer to the underlying cli or netconf object
329
-
330
- Returns:
331
- None
332
-
333
- Raises:
334
- OptionsException: if any option apply returns a non-zero return code.
335
-
336
- """
337
- if self.bin:
338
- self.bin.apply(ffi_mapping, ptr)
339
- elif self.ssh2:
340
- self.ssh2.apply(ffi_mapping, ptr)
341
- elif self.telnet:
342
- self.telnet.apply(ffi_mapping, ptr)
343
- elif self.test:
344
- self.test.apply(ffi_mapping, ptr)
345
-
346
- def get_transport_kind(self) -> bytes:
347
- """
348
- Returns the encoded name of the selected transport kind
349
-
350
- Should not be called directly/by users.
351
-
352
- Args:
353
- N/A
354
-
355
- Returns:
356
- bytes: the encoded name of the selected transport kind
357
-
358
- Raises:
359
- OptionsException: if any option apply returns a non-zero return code.
360
-
361
- """
362
- if self.bin:
363
- self._transport_kind = TransportKind.BIN.encode(encoding="utf-8")
364
- elif self.ssh2:
365
- self._transport_kind = TransportKind.SSH2.encode(encoding="utf-8")
366
- elif self.telnet:
367
- self._transport_kind = TransportKind.TELNET.encode(encoding="utf-8")
368
- else:
369
- self._transport_kind = TransportKind.TEST.encode(encoding="utf-8")
370
-
371
- return self._transport_kind
372
-
373
- def __repr__(self) -> str:
374
- """
375
- Magic repr method for Options object
376
-
377
- Args:
378
- N/A
379
-
380
- Returns:
381
- str: repr for Options object
382
-
383
- Raises:
384
- N/A
385
-
386
- """
387
- if self.bin:
388
- return (
389
- # it will probably be "canonical" to import Options as SessionOptions, so we'll make
390
- # the repr do that too
391
- f"Transport{self.__class__.__name__}("
392
- f"bin={self.bin!r}, "
393
- )
394
-
395
- if self.ssh2:
396
- return f"Transport{self.__class__.__name__}(" f"ssh2={self.ssh2!r}, "
397
-
398
- if self.telnet:
399
- return f"Transport{self.__class__.__name__}(" f"telnet={self.telnet!r}, "
400
-
401
- return f"Transport{self.__class__.__name__}(" f"test={self.test!r}, "
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: scrapli
3
- Version: 2.0.0a3
3
+ Version: 2.0.0a5
4
4
  Summary: Fast, flexible, sync/async, Python 3.10+ screen scraping client specifically for network devices
5
5
  Author-email: Carl Montanari <carl.r.montanari@gmail.com>
6
6
  License-Expression: MIT
@@ -0,0 +1,67 @@
1
+ scrapli/__init__.py,sha256=G3vjD5_RuxNDmBIefMHrVKYNg1A68L63Xqd-oN1qPBg,916
2
+ scrapli/auth.py,sha256=kTbgydd5pWoAbQXGSW46slweKiaTdSxy3E7N7jshnME,8282
3
+ scrapli/cli.py,sha256=LKBqSlfig8nL-OlD8qIOUApyyPUT9_L-MoBtmBTSWAs,57045
4
+ scrapli/cli_decorators.py,sha256=Mj1BfouFiAWb2bbVvhBgc9qqJou6mf-ClvK3Ngy1dJA,4412
5
+ scrapli/cli_parse.py,sha256=fIdRx2cEAgjCqn2N4Q3sXY_g1Sk4wrsWQ7ula_nMQOU,5188
6
+ scrapli/cli_result.py,sha256=q4RG-F_fNFNbHmlC2koLbjEzkpNddI_IqUwZpKGaLU4,6005
7
+ scrapli/exceptions.py,sha256=RNU720WL6efW_4Pdjruzp0M-Se-zQR3mFcsrzscvaPA,1524
8
+ scrapli/ffi.py,sha256=wnAaSMd0x2aknCyKHrLvUbOkOu0yEocw8uCQlgiBDwM,2149
9
+ scrapli/ffi_mapping.py,sha256=3kP-u9BsKaUe-9MtxzvL9P3qnYzFnzA5-35fiQZzsDk,6451
10
+ scrapli/ffi_mapping_cli.py,sha256=USSlwnfsZtHtV7ZzDFrL248HdfIHuv61TqD122V2owI,21337
11
+ scrapli/ffi_mapping_netconf.py,sha256=G7VmR-pIQI5G4SEkDYoAtDVa_pfDaTRM2U9chfXhqaY,42156
12
+ scrapli/ffi_mapping_options.py,sha256=1Y8BUWv0pG07qWMtv_pZjIqICb604Hu--COnr_z7SUI,28368
13
+ scrapli/ffi_types.py,sha256=1ziWVjC82HVdZMg5-52AzvEYYBt6vba6NgSzjwRq5RM,4501
14
+ scrapli/helper.py,sha256=Cf8sQq8PMFLI2QAyxvG2Zd1DqTeKRO_BrOld4CDi4EQ,2963
15
+ scrapli/netconf.py,sha256=T_Op82Qjo5P3WCb-OMOiAYqgu82oqzuymet4AmGFUD0,80054
16
+ scrapli/netconf_decorators.py,sha256=C5yk5Gq7OD_V1g6rVOi8qzeA5MQHEI3B2IUXxyj0IIU,4464
17
+ scrapli/netconf_result.py,sha256=JHvNa5KX6gEf5iwJxCc9Hlcg5ljhRWkd0aoGaXAtYPw,1174
18
+ scrapli/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
+ scrapli/session.py,sha256=8f3XvpZ-4-uw4uuRBVtQMbo8Ftzwu99uCwDL9_UQkO8,4275
20
+ scrapli/transport.py,sha256=vg6uMpsXrx6kOyNxnyg0OZ74w2U9rj1aPk0oz__2D0c,9506
21
+ scrapli/definitions/__init__.py,sha256=d-XZBK_ZjN4Sy6SmhJL-T4imYY_UioM8gSiX-PKVDuE,26
22
+ scrapli/definitions/aethra_atosnt.yaml,sha256=K_S4Iec_lA6hmleF85bs2AJr3gQjO4dbtUiMSoIzx5Q,189
23
+ scrapli/definitions/alcatel_aos.yaml,sha256=oHM9F93-eApg9zuR65M1JCQTgxdwr0-c0V2IcbQNKH8,213
24
+ scrapli/definitions/arista_eos.yaml,sha256=WNgxbzEm3Jrz0K2emmM4jTixCYfPU6oD2Vl3_Rz_0Uw,1751
25
+ scrapli/definitions/aruba_aoscx.yaml,sha256=FQlRxBOGUdGueveBx9ek3kWoowzfAvRPByypyu_0XD4,868
26
+ scrapli/definitions/cisco_aireos.yaml,sha256=QewqV3DINNrOmJTOjcPma4qeznlEeuhJ8NQB9giIQVY,801
27
+ scrapli/definitions/cisco_asa.yaml,sha256=60v3PwEV7-aSVztmZbd_9oig4259no-euva9rHnEDg0,1313
28
+ scrapli/definitions/cisco_cbs.yaml,sha256=ds1-fBOThR3W5VA8XqrkF2yAzeMVtUIo4WIXNPA0fdw,1399
29
+ scrapli/definitions/cisco_ftd.yaml,sha256=rIbZ1gBMiJULJAjaj3sl95o73bep5ojVRgRfD94SoKY,1039
30
+ scrapli/definitions/cisco_iosxe.yaml,sha256=nnqi8qQmFmKX4BgnuLMJqj0hAyqkVRmSfmDLsJKBFaA,1699
31
+ scrapli/definitions/cisco_iosxr.yaml,sha256=hkxQe9sMyCx3Eo9BDSxHD1MWG6yxHl6EHnyjSTjD-_I,1317
32
+ scrapli/definitions/cisco_nxos.yaml,sha256=6zJVtPDyh7U0y2zRl524okCPusRS-hlDOwpoWtVQjyA,1949
33
+ scrapli/definitions/cumulus_linux.yaml,sha256=0KPBMGoxGSL-znA-KURiPPJw_-prUX4UKexPi83rWt0,668
34
+ scrapli/definitions/cumulus_vtysh.yaml,sha256=QOVG77ioTy057wbGuqMfvATnqS75Y3_hskOFho_3j4g,1007
35
+ scrapli/definitions/datacom_dmos.yaml,sha256=CpEJlg4i4GXg_jkZdttuQwyk6RjhEU74GF2X7hinwsw,696
36
+ scrapli/definitions/datacom_dmswitch.yaml,sha256=Z1NKSUM_F4dkPAHiMjKaI_mqa_JPRMaEvSw43t8tCqs,745
37
+ scrapli/definitions/default.yaml,sha256=iGegcCtWsGCnb9Z5yYVf2uFGyE1QKw5FkGnLBoYiIbw,169
38
+ scrapli/definitions/dell_emc.yaml,sha256=TcsN5xf61RDHg8aIIw-DsvOBaiMtk9qp3E13MIGldUo,1313
39
+ scrapli/definitions/dell_enterprisesonic.yaml,sha256=iOC4dkx6tSTzJe6L4dVeVwnR-7MMJJLpK4kbxJuU08I,970
40
+ scrapli/definitions/dlink_os.yaml,sha256=vJqLO-BW0I7fI_K6HXfEsNPm9jMbR8yrIqdf2Q-Tr-k,1295
41
+ scrapli/definitions/edgecore_ecs.yaml,sha256=taxJAu0GW5aXIFlp3XethnsAAz37oLaVrEP_QOD-PHg,915
42
+ scrapli/definitions/eltex_esr.yaml,sha256=qZ-hCaQImgJjVUt7BuzzfgUU4spOERDEdG-A24yT1-8,1217
43
+ scrapli/definitions/fortinet_fortios.yaml,sha256=dLwUKbaCXHfnJmKGoIuGC9ld61SG4UgMcdCnJvfIB9w,468
44
+ scrapli/definitions/fortinet_wlc.yaml,sha256=QkFN7ZE5bN4cYpzNsoUbl7FvjroCfMXApUFSPeszVhE,899
45
+ scrapli/definitions/hp_comware.yaml,sha256=nOdm6ImtR9CR0V-UnXyzqnzLTkBSKmsfO5-iCjtzC9Y,852
46
+ scrapli/definitions/huawei_smartax.yaml,sha256=E5XHM40UVAiv0tNZqqZFmFNcnm6M4WM0CUpb3Qf1eoA,1511
47
+ scrapli/definitions/huawei_vrp.yaml,sha256=3j1XJr9XDo_GtGeAlvf2F4INDyM6by-dqaItO-8Qej8,2205
48
+ scrapli/definitions/juniper_junos.yaml,sha256=WETQGc8QCCTo-cu2-K32BNMlAH6lHLZGRNIxUZbpW30,2592
49
+ scrapli/definitions/nokia_srlinux.yaml,sha256=xi9nMWXnwBpv_g8IBrOcww-I3vSwYTEo3-OpPJIUXx0,1324
50
+ scrapli/definitions/nokia_sros.yaml,sha256=8vYccqUDz1YdY7cBSBS_S72HbCULm--r1PyyMBE73MA,720
51
+ scrapli/definitions/nokia_sros_classic.yaml,sha256=xoZjeP4YaBNK9X9IgsQ8KXUBU1054qUhBnqGSdv-2ng,772
52
+ scrapli/definitions/nokia_sros_classic_aram.yaml,sha256=nRdtrQe6cMq5eee8ttw7JQJspjTikxQcuWSupe0ZveI,584
53
+ scrapli/definitions/paloalto_panos.yaml,sha256=pvK4XO9YNtt0VSWPmU9-VZn2fYldWCIBTTTtvzk8zsM,880
54
+ scrapli/definitions/raisecom_ros.yaml,sha256=GTAoA-YkCZRw719VLN1omeRrGGs4fAJPzKdCixMHT-w,1288
55
+ scrapli/definitions/ruckus_fastiron.yaml,sha256=9T95H7z-twIRHi8H4WdUF2oQ2NEp-QcGql6oGwLKwTo,1249
56
+ scrapli/definitions/ruckus_unleashed.yaml,sha256=93C7alrRuPu05ZOdMtgNULTOM-MV_ZY9A_brfrTnDU0,1679
57
+ scrapli/definitions/siemens_roxii.yaml,sha256=HtuER7N45x5XsRP9NePTgo2SIFoO7D78anou8GTvs4c,737
58
+ scrapli/definitions/versa_flexvnf.yaml,sha256=31cDWn2QhwPUxsb5fVI0Bs6utWXIvkDfRH8POUn65XY,1086
59
+ scrapli/definitions/vyos_vyos.yaml,sha256=R2x4R-33opgocFXVdxZfCRSNUPt0F_lMSJe6m9bJNzw,958
60
+ scrapli/definitions/zyxel_dslam.yaml,sha256=OVZXtwKkEQ_zjX4j4ZEFXMsP7Y7UziFkyfEYHzqtW9g,412
61
+ scrapli/lib/__init__.py,sha256=emX2ZjmnwMNIozlcKNDDXr_4zlryoLD8h2fM-CO3KZY,18
62
+ scrapli/lib/libscrapli.0.0.1-alpha.17.dylib,sha256=mp5UYE6wTotiFRdXpdgTfYSmbsenzq2LREaElGgK9Xc,5504088
63
+ scrapli-2.0.0a5.dist-info/licenses/LICENSE,sha256=IeyhkG2h_dAvJ7nAF0S4GSUg045jwI27YADV_KSJi50,1071
64
+ scrapli-2.0.0a5.dist-info/METADATA,sha256=holO5Rx518SE2VdkuaderSoSsEG8yN2pQQffMKPBgpk,2286
65
+ scrapli-2.0.0a5.dist-info/WHEEL,sha256=jc2C2uw104ioj1TL9cE0YO67_kdAwX4W8JgYPomxr5M,105
66
+ scrapli-2.0.0a5.dist-info/top_level.txt,sha256=piC9TaaPt0z-1Ryrs69hDvsIQkmE5ceDAAW5donUvsI,8
67
+ scrapli-2.0.0a5.dist-info/RECORD,,
@@ -1,34 +0,0 @@
1
- scrapli/__init__.py,sha256=WcoeX97YFLS6MNLwnhlCZaUQZRZ5qftj5fYWOhAyu9o,929
2
- scrapli/auth.py,sha256=LMYD31AMK0pyTa0RQo9I3ap3F1onmDylb2zQsHl6zrw,7907
3
- scrapli/cli.py,sha256=-WzN7uHnkgmmH6vdINp9Tr5rVAmoecSqvvpiWxY5dog,48186
4
- scrapli/cli_decorators.py,sha256=Mj1BfouFiAWb2bbVvhBgc9qqJou6mf-ClvK3Ngy1dJA,4412
5
- scrapli/cli_parse.py,sha256=b9l2w7TSKpHwNGumCsENvRO1R4NMKnOe5v2vfrweTUA,5171
6
- scrapli/cli_result.py,sha256=YkgAJ4LiEOiC46376EZjbRqoZzERyVmtwbU8VQ7Nl84,4914
7
- scrapli/exceptions.py,sha256=RNU720WL6efW_4Pdjruzp0M-Se-zQR3mFcsrzscvaPA,1524
8
- scrapli/ffi.py,sha256=QgPj1OK8t2swrt_T1nwRHR92DTwhBC_E4r5s6wOCHTI,2149
9
- scrapli/ffi_mapping.py,sha256=7tnL1mwBYc1dlSH6l2YG_a_5_6BaXmFZiMY1SkE9nOw,5017
10
- scrapli/ffi_mapping_cli.py,sha256=lIy4mD5MH0DT2fxgDH0WAG5zlsK5UXrzDh817q2VQRY,18503
11
- scrapli/ffi_mapping_netconf.py,sha256=zPciAB6gP_Zy8d6pwW6MnrSvrp0i5fg4HKgQ_PHqggg,44314
12
- scrapli/ffi_mapping_options.py,sha256=X2Y-B_K1e2f7aSbJ5pNktT3X7tDpdu_RZ1TX-ba75nI,27557
13
- scrapli/ffi_types.py,sha256=ZG9LqeNQ34FR4KGCEj4S0Al9qEMCIc8306Xfe8YTOUk,3230
14
- scrapli/helper.py,sha256=hiVHcczqFqhF0qAyiBn0mioL_fsI2pszCoM9VS_KYsw,1628
15
- scrapli/netconf.py,sha256=rf0YpTCZLVYkx3DZY2lCPg3dKZ_lgUG_JtfSfF2ts1Q,83819
16
- scrapli/netconf_decorators.py,sha256=C5yk5Gq7OD_V1g6rVOi8qzeA5MQHEI3B2IUXxyj0IIU,4464
17
- scrapli/netconf_result.py,sha256=JHvNa5KX6gEf5iwJxCc9Hlcg5ljhRWkd0aoGaXAtYPw,1174
18
- scrapli/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
- scrapli/session.py,sha256=8f3XvpZ-4-uw4uuRBVtQMbo8Ftzwu99uCwDL9_UQkO8,4275
20
- scrapli/transport.py,sha256=v_S4td5kezlUwqANwZh5pQhxgW2jEPCvCe97C8e0fmA,11313
21
- scrapli/definitions/__init__.py,sha256=d-XZBK_ZjN4Sy6SmhJL-T4imYY_UioM8gSiX-PKVDuE,26
22
- scrapli/definitions/arista_eos.yaml,sha256=ZR3BmdmGScJobQQZfW7gwOLj5wGxdpZ1omgraw9KgCc,1714
23
- scrapli/definitions/cisco_iosxe.yaml,sha256=nnqi8qQmFmKX4BgnuLMJqj0hAyqkVRmSfmDLsJKBFaA,1699
24
- scrapli/definitions/cisco_iosxr.yaml,sha256=hkxQe9sMyCx3Eo9BDSxHD1MWG6yxHl6EHnyjSTjD-_I,1317
25
- scrapli/definitions/cisco_nxos.yaml,sha256=ih_FiqkBJk3pgGou29DGN0tjrdkF_qqH5bJOa-V1SXg,1889
26
- scrapli/definitions/juniper_junos.yaml,sha256=bWErL-XgxwwnZv4R9MsSZFLla0VnVhrHqDQ3pZJ9-1I,2491
27
- scrapli/definitions/nokia_srlinux.yaml,sha256=2TrpoVCIwi-E_IzTsuQjmKBR4lSz_24c2mhhwv6e1ec,1042
28
- scrapli/lib/__init__.py,sha256=emX2ZjmnwMNIozlcKNDDXr_4zlryoLD8h2fM-CO3KZY,18
29
- scrapli/lib/libscrapli.0.0.1-alpha.10.dylib,sha256=ACZJULpslVhGBd0SrZQ4mkwr0ZIn_6tD0z1LgAcVJEM,5484024
30
- scrapli-2.0.0a3.dist-info/licenses/LICENSE,sha256=IeyhkG2h_dAvJ7nAF0S4GSUg045jwI27YADV_KSJi50,1071
31
- scrapli-2.0.0a3.dist-info/METADATA,sha256=gdi0WMI58yL5THIN5mvyN_F__PrE4fZ4DbtymoGwf1k,2286
32
- scrapli-2.0.0a3.dist-info/WHEEL,sha256=jc2C2uw104ioj1TL9cE0YO67_kdAwX4W8JgYPomxr5M,105
33
- scrapli-2.0.0a3.dist-info/top_level.txt,sha256=piC9TaaPt0z-1Ryrs69hDvsIQkmE5ceDAAW5donUvsI,8
34
- scrapli-2.0.0a3.dist-info/RECORD,,