annet 3.4.2__py3-none-any.whl → 3.5.0__py3-none-any.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.

Potentially problematic release.


This version of annet might be problematic. Click here for more details.

@@ -101,7 +101,7 @@ class IpAddress(DumpableView, Generic[_PrefixT]):
101
101
 
102
102
  @dataclass
103
103
  class InterfaceConnectedEndpoint(Entity):
104
- device: Entity
104
+ device: Entity | None
105
105
 
106
106
 
107
107
  @dataclass
annet/annlib/command.py CHANGED
@@ -19,7 +19,8 @@ class Command:
19
19
  cmd: str
20
20
  questions: Optional[List[Question]] = None
21
21
  exc_handler: Optional[List[Question]] = None
22
- timeout: Optional[int] = None
22
+ timeout: Optional[int] = None # total timeout
23
+ read_timeout: Optional[int] = None # timeout between consecutive reads
23
24
  suppress_nonzero: bool = False
24
25
  suppress_eof: bool = False
25
26
 
annet/deploy_ui.py CHANGED
@@ -5,6 +5,7 @@ import os
5
5
  import sys
6
6
  import math
7
7
  import asyncio
8
+ import platform
8
9
  import textwrap
9
10
  import time
10
11
  import traceback
@@ -23,7 +24,7 @@ try:
23
24
  except ImportError:
24
25
  curses = None
25
26
 
26
- uname = os.uname()[0]
27
+ uname = platform.uname()[0]
27
28
  NCURSES_SIZE_T = 2 ** 15 - 1
28
29
  MIN_CONTENT_HEIGHT = 20
29
30
 
annet/executor.py CHANGED
@@ -162,7 +162,7 @@ class DeferredFileWrite:
162
162
  raise Exception()
163
163
 
164
164
  def write(self, data):
165
- with open(self._file, self._mode) as fh:
165
+ with open(self._file, self._mode, encoding="utf-8") as fh:
166
166
  fh.write(data)
167
167
 
168
168
  def close(self):
annet/implicit.py CHANGED
@@ -133,9 +133,9 @@ def _implicit_tree(device):
133
133
  no shutdown
134
134
  """
135
135
  elif device.hw.Cisco:
136
- # C2900/C3500/C3600 does not support the MTU on a per-interface basis
136
+ # C2900/C3500/C3600/AIR does not support the MTU on a per-interface basis
137
137
  if device.hw.Cisco.Catalyst.C2900 or device.hw.Cisco.Catalyst.C3500 \
138
- or device.hw.Cisco.Catalyst.C3600:
138
+ or device.hw.Cisco.Catalyst.C3600 or device.hw.Cisco.AIR:
139
139
  text += r"""
140
140
  !interface */\S*Ethernet\S+/
141
141
  no shutdown
annet/mesh/executor.py CHANGED
@@ -370,7 +370,7 @@ class MeshExecutor:
370
370
  device,
371
371
  direct_pair.device,
372
372
  direct_pair.ports,
373
- to_interface_changes(direct_pair.local),
373
+ to_interface_changes(direct_pair.local, direct_pair.connected),
374
374
  )
375
375
  peers.append(self._to_bgp_peer(direct_pair, target_interface))
376
376
 
@@ -378,7 +378,7 @@ class MeshExecutor:
378
378
  target_interface = self._apply_nondirect_interface_changes(
379
379
  device,
380
380
  getattr(virtual_pair.local, "ifname", None),
381
- to_interface_changes(virtual_pair.local),
381
+ to_interface_changes(virtual_pair.local, virtual_pair.connected),
382
382
  )
383
383
  peers.append(self._virtual_to_bgp_peer(virtual_pair, target_interface))
384
384
 
@@ -386,7 +386,7 @@ class MeshExecutor:
386
386
  target_interface = self._apply_nondirect_interface_changes(
387
387
  device,
388
388
  getattr(connected_pair.local, "ifname", None),
389
- to_interface_changes(connected_pair.local),
389
+ to_interface_changes(connected_pair.local, connected_pair.connected),
390
390
  )
391
391
  peers.append(self._to_bgp_peer(connected_pair, target_interface))
392
392
 
@@ -67,7 +67,17 @@ retort = Retort(
67
67
  )
68
68
 
69
69
  to_bgp_global_options = retort.get_loader(GlobalOptions)
70
- to_interface_changes = retort.get_loader(InterfaceChanges)
70
+
71
+
72
+ def to_interface_changes(local: LocalDTO, peer: PeerDTO) -> InterfaceChanges:
73
+ return InterfaceChanges(
74
+ addr=getattr(local, "addr", None),
75
+ lag_links_min=getattr(local, "lag_links_min", None),
76
+ svi=getattr(local, "svi", None),
77
+ subif=getattr(local, "subif", None),
78
+ vrf=getattr(peer, "vrf", None),
79
+ lag=getattr(local, "lag", None),
80
+ )
71
81
 
72
82
 
73
83
  def to_bgp_peer(local: LocalDTO, connected: PeerDTO, connected_hostname: str, interface: Optional[str]) -> Peer:
@@ -99,7 +99,7 @@ class DefaultRulebookProvider(RulebookProvider):
99
99
  return self._escaped_rul_cache[name]
100
100
  for root_dir in self.root_dir:
101
101
  try:
102
- with open(path.join(root_dir, "texts", name), "r") as f:
102
+ with open(path.join(root_dir, "texts", name), "r", encoding="utf-8") as f:
103
103
  self._escaped_rul_cache[name] = self._escape_mako(f.read())
104
104
  return self._escaped_rul_cache[name]
105
105
  except FileNotFoundError:
@@ -42,11 +42,15 @@ def sflow(rule, key, diff, **kwargs):
42
42
 
43
43
  def lldp(rule, key, diff, **kwargs):
44
44
  """
45
- Не удаляем все что начинается с set, т.к. set перезаписывает предыдущий конфиг
45
+ Обрабатываем блок lldp-agent
46
46
  """
47
47
  result = common.default(rule, key, diff, **kwargs)
48
48
  for op, cmd, ch in result:
49
+ # Не удаляем все что начинается с set, т.к. set перезаписывает предыдущий конфиг
49
50
  if diff[Op.REMOVED] and "set lldp" in cmd:
50
51
  pass
52
+ # В случае lldp tlv ... select удаляем все что до select
53
+ elif diff[Op.REMOVED] and cmd.endswith("select"):
54
+ yield (op, " ".join(cmd.split()[:-1]), ch)
51
55
  else:
52
56
  yield (op, cmd, ch)
@@ -6,6 +6,7 @@
6
6
  # Фичи должны быть включены прежде всего
7
7
  feature
8
8
  # Далее нужно будет указать команды и их порядок
9
+ sflow
9
10
  interface *
10
11
  description
11
12
  ip vrf forwarding
@@ -13,11 +13,12 @@
13
13
  # Physical
14
14
  sflow *
15
15
 
16
- interface */(ce|xe|eth)[0-9\/]+$/ %logic=common.permanent %diff_logic=cisco.iface.diff
16
+ interface */(ce|xe|eth|vlan)[0-9\/]+$/ %logic=common.permanent %diff_logic=cisco.iface.diff
17
17
  description * %logic=b4com.iface.description
18
18
  ip vrf forwarding *
19
19
  ip address *
20
20
  ipv6 address *
21
+ ipv6 nd *
21
22
  mtu * %logic=b4com.iface.mtu
22
23
  sflow * %logic=b4com.iface.sflow
23
24
  lldp-agent
@@ -55,6 +55,11 @@ dhcp snooping user-bind http
55
55
 
56
56
  ntp server disable
57
57
  ntp ipv6 server disable
58
+ ntp unicast-server domain *
59
+ ntp unicast-server ipv6 *
60
+ ntp unicast-server *
61
+ ntp-service unicast-server ipv6 *
62
+ ntp-service unicast-server *
58
63
  ntp ~
59
64
  dns snooping ttl delay-time
60
65
  dns ~
@@ -18,6 +18,11 @@ system
18
18
  ntp
19
19
  server *
20
20
  source-address *
21
+ syslog
22
+ host *
23
+ match
24
+ file messages
25
+ match
21
26
 
22
27
  routing-options
23
28
  autonomous-system *
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: annet
3
- Version: 3.4.2
3
+ Version: 3.5.0
4
4
  Summary: annet
5
5
  Home-page: https://github.com/annetutil/annet
6
6
  License: MIT
@@ -6,13 +6,13 @@ annet/cli.py,sha256=shq3hHzrTxFL3x1_zTOR43QHo0JYs8QSwyOvGtL86Co,12733
6
6
  annet/cli_args.py,sha256=jzMKRezWe_87k7VBNzgwPjWGMROJksbgrlX-GDd6oQs,13533
7
7
  annet/connectors.py,sha256=aoiDVLPizx8CW2p8SAwGCzyO_WW8H9xc2aujbGC4bDg,4882
8
8
  annet/deploy.py,sha256=JCcJ2hUmUsaOSrcxFuW8SlN0ubXSnHQ7H_nP_tx-PgE,7698
9
- annet/deploy_ui.py,sha256=KcP1g_c1HSA3n5qFxbGHd8t_arL4_xJV46PFO-7FLg8,28650
9
+ annet/deploy_ui.py,sha256=XsN1i7E9cNp1SAf1YBwhEBuwN91MvlNMSrLhnQrumA8,28672
10
10
  annet/diff.py,sha256=kD_2kxz5wc2TP10xj-BHs6IPq1yNKkXxIco8czjeC6M,9497
11
- annet/executor.py,sha256=lcKI-EbYqeCiBNpL729kSltduzxbAzOkQ1L_QK7tNv8,5112
11
+ annet/executor.py,sha256=INlWAZFLpHurg8GTXclbSzaeSIXgZo4ccmcRulQqr88,5130
12
12
  annet/filtering.py,sha256=ZtqxPsKdV9reZoRxtQyBg22BqyMqd-2SotYcxZ-68AQ,903
13
13
  annet/gen.py,sha256=j6SUrhEbfVQJrF2pOuWQaaBABwABk8cYzOln78jJ320,31956
14
14
  annet/hardware.py,sha256=e7RWc5yPdEDT5hxNqcqWv9g9DRWIgwAieA2iT4FdPqc,1158
15
- annet/implicit.py,sha256=G6EwZbrtUp089qRAwh96hminp236-1pJbeKAedoEafg,6056
15
+ annet/implicit.py,sha256=i6UxQAQESXWlIBohNuFQuSEgvdsydRzyBu1r7nrR2F4,6083
16
16
  annet/lib.py,sha256=4N4X6jCCrig5rk7Ua4AofrV9zK9jhzkBq57fLsfBJjw,4812
17
17
  annet/output.py,sha256=se8EpyNS9f9kPOlOaAV0ht4DjzDoBr8F2UafiezLPYw,7743
18
18
  annet/parallel.py,sha256=yM53RYaSpbIOUuBx4y07B_3jW8J-w3taiZWjcq_1r6A,17397
@@ -34,7 +34,7 @@ annet/adapters/netbox/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NM
34
34
  annet/adapters/netbox/common/adapter.py,sha256=-YcO3371D8hupNXKf5f4-FdFSjTto-7VKDvz29Gid38,2016
35
35
  annet/adapters/netbox/common/client.py,sha256=PaxHG4W9H8_uunIwMBNYkLq4eQJYoO6p6gY-ciQs7Nc,2563
36
36
  annet/adapters/netbox/common/manufacturer.py,sha256=n1RxJSGqXilKcGSqwIc7d2jD1NCaUXG5kQcOO93WTxw,1319
37
- annet/adapters/netbox/common/models.py,sha256=PK4a8YBSp6mNe1V7oI2rILbVL9QnsRRIJQ4YN6aIz0w,7899
37
+ annet/adapters/netbox/common/models.py,sha256=N9JIH3zj43MvOxkiUOqOpL7ZXIwYbG_Dz2Atx1HtOp0,7906
38
38
  annet/adapters/netbox/common/query.py,sha256=kbNQSZwkjFeDArHwA8INHUauxCxYElXtNh58pZipWdo,1867
39
39
  annet/adapters/netbox/common/status_client.py,sha256=POaqiQJ0jPcqUQH-X_fWHVnKB7TBYveNriaT0eNTlfI,769
40
40
  annet/adapters/netbox/common/storage_base.py,sha256=3dn42CWTEZVBig4ABhy5BMQQ3YGb28InncWZoGvrgKk,8768
@@ -52,7 +52,7 @@ annet/adapters/netbox/v42/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJW
52
52
  annet/adapters/netbox/v42/models.py,sha256=UWrnRh1k3a048XsVmqh50dF91dunrolIJzmTLT0QExw,1920
53
53
  annet/adapters/netbox/v42/storage.py,sha256=iMhdrdAAYZXS_VHoqi_5azFB3BVmp4daK4TVCI9vhxM,4666
54
54
  annet/annlib/__init__.py,sha256=fT1l4xV5fqqg8HPw9HqmZVN2qwS8i6X1aIm2zGDjxKY,252
55
- annet/annlib/command.py,sha256=uuBddMQphtn8P5MO5kzIa8_QrtMns-k05VeKv1bcAuA,1043
55
+ annet/annlib/command.py,sha256=eiMs5rYImBLQMBsLgFjsfhNUdlWqxkzQnGHHm7j9s4U,1136
56
56
  annet/annlib/diff.py,sha256=MZ6eQAU3cadQp8KaSE6uAYFtcfMDCIe_eNuVROnYkCk,4496
57
57
  annet/annlib/errors.py,sha256=jBcSFzY6Vj-FxR__vqjFm-87AwYQ0xHuAopTirii5AU,287
58
58
  annet/annlib/filter_acl.py,sha256=ZJvNpSwE5MzJS_sKLenQpZgTuM-IrngwcbukQRq90do,7195
@@ -93,9 +93,9 @@ annet/generators/common/initial.py,sha256=qYBxXFhyOPy34cxc6hsIXseod-lYCmmbuNHpM0
93
93
  annet/mesh/__init__.py,sha256=lcgdnBIxc2MAN7Er1bcErEKPqrjWO4uIp_1FldMXTYg,557
94
94
  annet/mesh/basemodel.py,sha256=E6NTOneiMDwB1NCpjDRECoaeQ0f3n_fmTLnKTrSHTU4,4917
95
95
  annet/mesh/device_models.py,sha256=Vt9yOYBn3b67_Lz0-xnwe4QP-0gCDkX2XvhaZ1JizOM,4710
96
- annet/mesh/executor.py,sha256=rw_xr01kkcTn3U_s4ozGxRfCNdO4Mgg5kqmrAA-ySdE,17162
96
+ annet/mesh/executor.py,sha256=U-3LlAkd34SUD-xZK2K0KaQNy0b2xnVGFkTWlftJXWs,17235
97
97
  annet/mesh/match_args.py,sha256=CR3kdIV9NGtyk9E2JbcOQ3TRuYEryTWP3m2yCo2VCWg,5751
98
- annet/mesh/models_converter.py,sha256=qTd-411215LBOsGHGBbYcmben58HdV4BRkMmspd5FgY,3238
98
+ annet/mesh/models_converter.py,sha256=nCtzFR3s65MVkCE_xJm1Ci5c2hUwsr6ajfBiSmy3r_8,3565
99
99
  annet/mesh/peer_models.py,sha256=Ta0q3MwECz_zzHISbKKvbrGyVXi2Kdg5ZwpbZr8qqJA,2730
100
100
  annet/mesh/port_processor.py,sha256=RHiMS5W8qoDkTKiarQ748bcr8bNx4g_R4Y4vZg2k4TU,478
101
101
  annet/mesh/registry.py,sha256=xmWF7yxWXmwqX2_jyMAKrbGd2G9sjb4rYDx4Xk61QKc,9607
@@ -116,7 +116,7 @@ annet/rpl_generators/execute.py,sha256=wS6e6fwcPWywsHB0gBMqZ17eF0s4YOBgDgwPB_cr5
116
116
  annet/rpl_generators/policy.py,sha256=W_wlw37CIIqkdl_Og7c9-RxS55ojosLGHVEgTs80M6U,52348
117
117
  annet/rpl_generators/prefix_lists.py,sha256=sxTPeOJufwogguuhjjMbrGSgW3wm2HNboX9tN3qLitU,6910
118
118
  annet/rpl_generators/rd.py,sha256=-l0Dy-t1lIFCLLIzRb_okwU1jxr_kNEds92FyoVS7qs,1999
119
- annet/rulebook/__init__.py,sha256=Zm2RycKvIa-x-FwvaLSdJEV3t-V1QhsnjjkQ5dB7SzI,3979
119
+ annet/rulebook/__init__.py,sha256=AmcqrLYaoU1-sO2vmtjWZbzsZ44_w7nXncoEVa_hpyk,3997
120
120
  annet/rulebook/common.py,sha256=zK1s2c5lc5HQbIlMUQ4HARQudXSgOYiZ_Sxc2I_tHqg,721
121
121
  annet/rulebook/deploying.py,sha256=9CMeOUw5L1OWdrccSRfpJyH9H_jH7xWNU1JldviBNrk,3015
122
122
  annet/rulebook/patching.py,sha256=7iZvtjR7T8_bK6mCsGlC5uPmntCDQ9OkkDHRWupnMNA,5045
@@ -128,7 +128,7 @@ annet/rulebook/aruba/ap_env.py,sha256=5fUVLhXH4-0DAtv8t0yoqJUibaRMuzF8Q7mGFzNsEN
128
128
  annet/rulebook/aruba/misc.py,sha256=O0p_wsR07gtB8rm1eJvJ7VYnGm5T8Uau_SVKR9FVInI,234
129
129
  annet/rulebook/b4com/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
130
130
  annet/rulebook/b4com/file.py,sha256=zK7RwBk1YaVoDSFSg1u7Pt8u0Fk3nhhu27aJRngemwc,137
131
- annet/rulebook/b4com/iface.py,sha256=FGOYeeL3ZcogT8bDrmMYPG0KiZ5Q7iz5R19e1zrE0P8,1683
131
+ annet/rulebook/b4com/iface.py,sha256=4Xk4QPPSTO8E2Z2eI1aGVtc6jnhtwGPf6t_cWz9C4YI,1938
132
132
  annet/rulebook/cisco/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
133
133
  annet/rulebook/cisco/iface.py,sha256=WISkzjp_G7WKPpg098FCIm4b7ipOxtRLOQbu-7gMUL0,1792
134
134
  annet/rulebook/cisco/misc.py,sha256=zgKdWGmjRYmvq58dh7Lbn7ofwSYZoISgXsUh5lkGKF8,2318
@@ -151,19 +151,19 @@ annet/rulebook/texts/aruba.deploy,sha256=hI432Bq-of_LMXuUflCu7eNSEFpx6qmj0KItEw6
151
151
  annet/rulebook/texts/aruba.order,sha256=ZMakkn0EJ9zomgY6VssoptJImrHrUmYnCqivzLBFTRo,1158
152
152
  annet/rulebook/texts/aruba.rul,sha256=zvGVpoYyJvMoL0fb1NQ8we_GCLZXno8nwWpZIOScLQQ,2584
153
153
  annet/rulebook/texts/b4com.deploy,sha256=SVX8-yLHM90tJC4M-ekpGuGM1aQZW3euSGyg67l--R0,781
154
- annet/rulebook/texts/b4com.order,sha256=nzPSPpq8f6WnVazOekJUEgt7ueEtf3Ietdl1m1X2qF8,867
155
- annet/rulebook/texts/b4com.rul,sha256=JhnaGx6Hc7sEMUGgFyru2PfmTNgFhcF-lgckopMMSP8,1334
154
+ annet/rulebook/texts/b4com.order,sha256=1ssX8XPSpCzYgS8quOIpnOtgKhWJbfexGF9lj_D_TmE,873
155
+ annet/rulebook/texts/b4com.rul,sha256=IPaHBWXN0gnaZQLBF8wVK3EPDTs7ueOPdJw1WdX_CtE,1353
156
156
  annet/rulebook/texts/cisco.deploy,sha256=Hu0NkcGv3f1CWUrnbzI3eQOPXJxtH4NNOPRV68IrW4U,1226
157
157
  annet/rulebook/texts/cisco.order,sha256=ecwktxyY2_W63oqv2aqVhvfViuia42fZb-2uLP0Efg8,1942
158
158
  annet/rulebook/texts/cisco.rul,sha256=jgL5_xnSwd_H4E8cx4gcneSvJC5W1zz6_BWSb64iuxI,3017
159
159
  annet/rulebook/texts/huawei.deploy,sha256=uUsZCHUrC5Zyb_MePrR5svnE1QyGQlg7UxcKf00sJyg,10451
160
160
  annet/rulebook/texts/huawei.order,sha256=_X2LmxD9FGcIcb8ziwc13Imy1tBtQJgafrQGmvHPZLM,10649
161
- annet/rulebook/texts/huawei.rul,sha256=02Fi1RG4YYea2clHCluBuJDKNbT0hS9jtsk6_h6GK8k,12958
161
+ annet/rulebook/texts/huawei.rul,sha256=gTGF5vmLb1DbHcEJXQh_8PX-NXJQcyz8NVR0mg4x2XQ,13096
162
162
  annet/rulebook/texts/iosxr.deploy,sha256=Hu0NkcGv3f1CWUrnbzI3eQOPXJxtH4NNOPRV68IrW4U,1226
163
163
  annet/rulebook/texts/iosxr.order,sha256=gUp6XHwzqkDsArCUAwtx3rR1qlGfYsHy2vP9oZN2oDk,1922
164
164
  annet/rulebook/texts/iosxr.rul,sha256=MhIoIbOrfqisbyprZLy86DvO4rl6LtPESFnDU9nQUY0,2974
165
165
  annet/rulebook/texts/juniper.order,sha256=PpxmcCgeaeP3TyYe3BWvtb24MKYV_BujjCH3HD4lsc8,256
166
- annet/rulebook/texts/juniper.rul,sha256=EmtrEJZesnmc2nXjURRD2G0WOq4zLluI_PNupKhSOJs,2654
166
+ annet/rulebook/texts/juniper.rul,sha256=yo5hUt6XuxagquHHLD9zUw0YX-T2eo0CecryDRn4IW0,2738
167
167
  annet/rulebook/texts/nexus.deploy,sha256=9YNAQEw7aQxtYZJbE-dMD6qJrTzs_G92Ifrx3Ft4Wn4,1120
168
168
  annet/rulebook/texts/nexus.order,sha256=AZMKCD5Zf_mBOlE36aMDvO4w5rdbepTz1Dsyv7xP9Qs,1834
169
169
  annet/rulebook/texts/nexus.rul,sha256=veixbi_ztbX6OMV_WjdkgpEXa47yDxOkPE0YQ6r4wqs,2558
@@ -197,8 +197,8 @@ annet/vendors/library/optixtrans.py,sha256=VdME69Ca4HAEgoaKN21fZxnmmsqqaxOe_HZja
197
197
  annet/vendors/library/pc.py,sha256=vfv31_NPi7M-4AUDL89UcpawK2E6xvCpELA209cd1ho,1086
198
198
  annet/vendors/library/ribbon.py,sha256=DDOBq-_-FL9dCxqXs2inEWZ-pvw-dJ-A-prA7cKMhec,1216
199
199
  annet/vendors/library/routeros.py,sha256=iQa7m_4wjuvcgBOI9gyZwlw1BvzJfOkvUbyoEk-NI9I,1254
200
- annet-3.4.2.dist-info/licenses/AUTHORS,sha256=rh3w5P6gEgqmuC-bw-HB68vBCr-yIBFhVL0PG4hguLs,878
201
- annet-3.4.2.dist-info/licenses/LICENSE,sha256=yPxl7dno02Pw7gAcFPIFONzx_gapwDoPXsIsh6Y7lC0,1079
200
+ annet-3.5.0.dist-info/licenses/AUTHORS,sha256=rh3w5P6gEgqmuC-bw-HB68vBCr-yIBFhVL0PG4hguLs,878
201
+ annet-3.5.0.dist-info/licenses/LICENSE,sha256=yPxl7dno02Pw7gAcFPIFONzx_gapwDoPXsIsh6Y7lC0,1079
202
202
  annet_generators/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
203
203
  annet_generators/example/__init__.py,sha256=OJ77uj8axc-FIyIu_Xdcnzmde3oQW5mk5qbODkhuVc8,355
204
204
  annet_generators/example/hostname.py,sha256=RloLzNVetEoWPLITzfJ13Nk3CC0yi-cZB1RTd6dnuhI,2541
@@ -211,8 +211,8 @@ annet_generators/rpl_example/generator.py,sha256=EWah19gOH8G-QyNyWqxCqdRi0BK7GbM
211
211
  annet_generators/rpl_example/items.py,sha256=HPgxScDvSqJPdz0c2SppDrH82DZYC4zUaniQwcWmh4A,1176
212
212
  annet_generators/rpl_example/mesh.py,sha256=z_WgfDZZ4xnyh3cSf75igyH09hGvtexEVwy1gCD_DzA,288
213
213
  annet_generators/rpl_example/route_policy.py,sha256=z6nPb0VDeQtKD1NIg9sFvmUxBD5tVs2frfNIuKdM-5c,2318
214
- annet-3.4.2.dist-info/METADATA,sha256=bLeca3jp_YNTggKhc9n3N4rJuqXXgls45oww9mR_kJ8,815
215
- annet-3.4.2.dist-info/WHEEL,sha256=ooBFpIzZCPdw3uqIQsOo4qqbA4ZRPxHnOH7peeONza0,91
216
- annet-3.4.2.dist-info/entry_points.txt,sha256=5lIaDGlGi3l6QQ2ry2jZaqViP5Lvt8AmsegdD0Uznck,192
217
- annet-3.4.2.dist-info/top_level.txt,sha256=QsoTZBsUtwp_FEcmRwuN8QITBmLOZFqjssRfKilGbP8,23
218
- annet-3.4.2.dist-info/RECORD,,
214
+ annet-3.5.0.dist-info/METADATA,sha256=d13vJqNGhtvSbEvqCZvqBT6RoiyDDz07wndWrnxagzk,815
215
+ annet-3.5.0.dist-info/WHEEL,sha256=Nw36Djuh_5VDukK0H78QzOX-_FQEo6V37m3nkm96gtU,91
216
+ annet-3.5.0.dist-info/entry_points.txt,sha256=5lIaDGlGi3l6QQ2ry2jZaqViP5Lvt8AmsegdD0Uznck,192
217
+ annet-3.5.0.dist-info/top_level.txt,sha256=QsoTZBsUtwp_FEcmRwuN8QITBmLOZFqjssRfKilGbP8,23
218
+ annet-3.5.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.0.1)
2
+ Generator: setuptools (80.7.1)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5