oep-client-python 0.0.42__py3-none-any.whl → 0.0.43__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.
oep_client/__init__.py CHANGED
@@ -2,4 +2,4 @@
2
2
 
3
3
  __all__ = ["__version__"]
4
4
 
5
- __version__ = "0.0.42"
5
+ __version__ = "0.0.43"
@@ -144,7 +144,7 @@ def checker_sources_sha256():
144
144
  for name in CHECKER_SOURCES}
145
145
 
146
146
 
147
- REVIEWED_CORE_SHA256 = 'd63f99f1809146ad41f1643526c81417b366d7a9d85af3845daee6654a229a14' # oep-spec 02c08c9 docs/oep-core.ja.md
147
+ REVIEWED_CORE_SHA256 = '699f7eb6333b6eb6678ddcf27074c03544f0f0a6ee0ef6ccdf02edd3757f962e' # oep-spec 364827b docs/oep-core.ja.md
148
148
 
149
149
 
150
150
  def require_reviewed_contract(registry, spec=None):
@@ -8,7 +8,7 @@ import struct
8
8
  from . import ops, require, tlvs
9
9
  from .. import conformance as _helpers
10
10
 
11
- REVIEWED_CORE_SHA256 = 'd63f99f1809146ad41f1643526c81417b366d7a9d85af3845daee6654a229a14' # oep-spec 02c08c9 docs/oep-core.ja.md
11
+ REVIEWED_CORE_SHA256 = '699f7eb6333b6eb6678ddcf27074c03544f0f0a6ee0ef6ccdf02edd3757f962e' # oep-spec 364827b docs/oep-core.ja.md
12
12
 
13
13
 
14
14
  class CoreSmokeChecks:
@@ -4,7 +4,7 @@ from pathlib import Path
4
4
  import struct
5
5
  from . import require,spec_identity
6
6
 
7
- REVIEWED_CORE_SHA256='d63f99f1809146ad41f1643526c81417b366d7a9d85af3845daee6654a229a14'
7
+ REVIEWED_CORE_SHA256='699f7eb6333b6eb6678ddcf27074c03544f0f0a6ee0ef6ccdf02edd3757f962e'
8
8
  CORE_OPS={'confirm':1,'list':2,'describe':3,'clock':4,'open':16,'end':17,'keepalive':18,'lock_state':19}
9
9
  # the settings' ops (core §13.5 / §13.7, transports §7.3): their numbers reviewed, their results not read here
10
10
  SETTINGS_OPS={'get':32,'set':33,'unset':34,'save':35,'state':36,'network':37}
@@ -9,7 +9,7 @@ from pathlib import Path
9
9
  from . import require,spec_identity
10
10
 
11
11
 
12
- REVIEWED={'docs/oep-core.ja.md':'d63f99f1809146ad41f1643526c81417b366d7a9d85af3845daee6654a229a14',
12
+ REVIEWED={'docs/oep-core.ja.md':'699f7eb6333b6eb6678ddcf27074c03544f0f0a6ee0ef6ccdf02edd3757f962e',
13
13
  'docs/oep-transports.ja.md':'2117de20712f7dfad6c81e247cf1b0b206ccf7528fcdf70702cbfce1c17dbadc'}
14
14
  QUICK_MS=1000 # core_quick_op_max_ms
15
15
 
@@ -12,11 +12,11 @@ from . import require, spec_identity
12
12
  REVIEWED = {
13
13
  'interfaces/oep-if-plan.ja.md': 'da8bd60af53499573c07bc33dbd8c4df93eb61a93b91dc57907f26620ae36bbf',
14
14
  'interfaces/oep-if-fixture.ja.md': '780beb7a3f9adb51fccf3441930e4c04d2bb64ef738e302195cf5a4e7c2a60a6',
15
- 'docs/oep-core.ja.md': 'd63f99f1809146ad41f1643526c81417b366d7a9d85af3845daee6654a229a14',
16
- 'interfaces/oep-if-debug.ja.md': '6743420c31bcd354dd5b4b5352f4d8bcfa695f787dbc28644dba9e9533357338',
15
+ 'docs/oep-core.ja.md': '699f7eb6333b6eb6678ddcf27074c03544f0f0a6ee0ef6ccdf02edd3757f962e',
16
+ 'interfaces/oep-if-debug.ja.md': '58843357aae5afd31082b068c76c754cbd047446fe4b0aa77b5c22cbedf1f3f8',
17
17
  'interfaces/oep-if-capture.ja.md': 'ffd89a6a1abf006aea788a6b47b270e6ac0e6d8190a716f4123c4f499bd3a61e',
18
18
  }
19
- REVIEWED_REGISTRY_SHA256='21057dbfc117365e0b9f9d96f377ed99dbc28568efc70829bf8d53384077f44e'
19
+ REVIEWED_REGISTRY_SHA256='278114efc9235b4c6026cd66e11ed558e0ac5afd789011973f6293ae1abffb9c'
20
20
 
21
21
 
22
22
  def reviewed_identity(spec):
@@ -6,7 +6,7 @@ from .. import registry as _reg
6
6
  SAVE=_reg.CORE.op['save'] # fn 0's save (core §13.7)
7
7
 
8
8
 
9
- REVIEWED={'docs/oep-core.ja.md':'d63f99f1809146ad41f1643526c81417b366d7a9d85af3845daee6654a229a14',
9
+ REVIEWED={'docs/oep-core.ja.md':'699f7eb6333b6eb6678ddcf27074c03544f0f0a6ee0ef6ccdf02edd3757f962e',
10
10
  'docs/oep-transports.ja.md':'2117de20712f7dfad6c81e247cf1b0b206ccf7528fcdf70702cbfce1c17dbadc'}
11
11
  QUICK_MS=1000 # core_quick_op_max_ms
12
12
 
@@ -6,10 +6,10 @@ import struct
6
6
 
7
7
  from . import ops, require, tlvs
8
8
 
9
- REVIEWED_INTERFACES = { # oep-spec 02c08c9 interfaces/
9
+ REVIEWED_INTERFACES = { # oep-spec 364827b interfaces/
10
10
  'oep-if-fixture.ja.md': '780beb7a3f9adb51fccf3441930e4c04d2bb64ef738e302195cf5a4e7c2a60a6',
11
11
  'oep-if-plan.ja.md': 'da8bd60af53499573c07bc33dbd8c4df93eb61a93b91dc57907f26620ae36bbf',
12
- 'oep-if-debug.ja.md': '6743420c31bcd354dd5b4b5352f4d8bcfa695f787dbc28644dba9e9533357338',
12
+ 'oep-if-debug.ja.md': '58843357aae5afd31082b068c76c754cbd047446fe4b0aa77b5c22cbedf1f3f8',
13
13
  'oep-if-common.ja.md': '25fed0b1b8b7f246a8b71d02cea810249803b1c3c1e9c3df466c04f38687f70c',
14
14
  }
15
15
 
oep_client/core.py CHANGED
@@ -216,15 +216,16 @@ def transports(hst: h.Host) -> list[tuple[int, int, int]]:
216
216
 
217
217
 
218
218
  def take(hst: h.Host, lease_ms: int = 3000, *, owner: str | None = None, wait_s: float = 5.0,
219
- force: bool = False) -> h.Opened:
219
+ force: bool = False, extensions=()) -> h.Opened:
220
220
  """Take the lock as host guide §6 says: when the probe's only transport is a serial port and this host opened it
221
221
  exclusively, the previous holder cannot be there any more - force at once; otherwise wait out the holder's lease
222
- (up to wait_s), and name it (InUse) if it keeps it going. force: the user asked for it."""
222
+ (up to wait_s), and name it (InUse) if it keeps it going. force: the user asked for it. extensions: named
223
+ extensions for the open, sent critical (Host.open; a broker's sharing, host guide §7)."""
223
224
  link = getattr(hst, "link", None)
224
225
  ways = transports(hst)
225
226
  only = len(ways) == 1 and ways[0][1] in SERIAL_KINDS and getattr(link, "framing", None) == "cobs" \
226
227
  and getattr(link, "transport", None) == "serial"
227
- return hst.take(lease_ms, owner=owner, only_way_in=only, wait_s=wait_s, force=force)
228
+ return hst.take(lease_ms, owner=owner, only_way_in=only, wait_s=wait_s, force=force, extensions=extensions)
228
229
 
229
230
 
230
231
  def plan_fn(hst: h.Host) -> int:
oep_client/host.py CHANGED
@@ -556,13 +556,15 @@ class Host:
556
556
  raise NotV1(f"the probe speaks OEP revision {self.revision}; session requests need revision 1 or more")
557
557
 
558
558
  # ---- session --------------------------------------------------------------------------------
559
- def open(self, lease_ms: int = 0, *, force: bool = False, owner: str | None = None) -> Opened:
559
+ def open(self, lease_ms: int = 0, *, force: bool = False, owner: str | None = None, extensions=()) -> Opened:
560
560
  """Open a new session under a new random id (core §6.4; the id goes in the header, never 0). lease_ms 0 = the
561
561
  probe's default; 1000..60000 are taken as asked. owner: who holds the lock (1-32 bytes), shown to other hosts.
562
562
  force: take the lock from another session (its resources are released first). A session this host had open
563
563
  is left behind: it ended, or the probe refuses this open locked while it holds the lock - end it first. The
564
564
  answer's boot_id is watched (core §6.5: a reboot drops the fn mapping). fn 0's describe (its max_op_ms) is read
565
- first when this host has not read it yet (core §4.4)."""
565
+ first when this host has not read it yet (core §4.4). extensions: named extensions (core §2.2, §12) to carry, each
566
+ a name or (name, data), sent critical - a probe that does not know one refuses the open (Unsupported, tag the
567
+ named extension's with bit 7) rather than ignore it; a broker's sharing is asked this way (host guide §7)."""
566
568
  self.require_v1()
567
569
  if self.kept is not None and self.session is None:
568
570
  self.kept.before_open(self, owner) # once: the previous run's session ended (host guide §5)
@@ -571,6 +573,12 @@ class Host:
571
573
  core.describe(self, m.CORE_FN) # max_op_ms before a request that changes state (core §4.4)
572
574
  sid = self.rng.randrange(1, 1 << 32) # random, never 0 (core §6.1)
573
575
  tail = m.tlv(OWNER, owner_text(owner)) if owner else b""
576
+ for item in extensions:
577
+ name, data = (item, b"") if isinstance(item, str) else item
578
+ raw = name.encode("ascii")
579
+ if not 1 <= len(raw) <= 255:
580
+ raise ValueError(f"named extension {name!r}: 1 to 255 bytes (core §2.2)")
581
+ tail += m.tlv(m.TAG_NAMED_EXTENSION, bytes([len(raw)]) + raw + bytes(data), critical=True)
574
582
  r = self.request(m.CORE_FN, m.OP_OPEN, struct.pack("<IB", lease_ms, int(force)) + tail, session=sid)
575
583
  rd = m.Reader(r.payload)
576
584
  lease, boot_id = rd.take("II")
@@ -646,17 +654,17 @@ class Host:
646
654
  return bool(locked), remaining, owner_of(p[5:])
647
655
 
648
656
  def take(self, lease_ms: int = 3000, *, owner: str | None = None, only_way_in: bool = False,
649
- wait_s: float = 5.0, force: bool = False) -> Opened:
657
+ wait_s: float = 5.0, force: bool = False, extensions=()) -> Opened:
650
658
  """open() the way host guide §6 takes the lock. only_way_in: this link is the probe's only transport and a
651
659
  serial port opened exclusively - whoever held the lock cannot be there any more, so it is taken by force at
652
660
  once. Otherwise the holder's lease is waited out (up to wait_s); a holder that keeps it going raises InUse,
653
- naming it. force: take it anyway (the user said so)."""
661
+ naming it. force: take it anyway (the user said so). extensions: as open's."""
654
662
  if force or only_way_in:
655
- return self.open(lease_ms, force=True, owner=owner)
663
+ return self.open(lease_ms, force=True, owner=owner, extensions=extensions)
656
664
  deadline = time.monotonic() + wait_s
657
665
  while True:
658
666
  try:
659
- return self.open(lease_ms, owner=owner)
667
+ return self.open(lease_ms, owner=owner, extensions=extensions)
660
668
  except Locked as e:
661
669
  left = deadline - time.monotonic()
662
670
  if left <= 0 or e.remaining_ms / 1000 > left:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: oep-client-python
3
- Version: 0.0.42
3
+ Version: 0.0.43
4
4
  Summary: Open Embedded Probe (OEP) v1 host: serial / USB / TCP transports, the session rules, the standard interfaces, and a virtual bench
5
5
  Project-URL: Homepage, https://github.com/Open-Embedded-Probe/oep-client-python
6
6
  Project-URL: Repository, https://github.com/Open-Embedded-Probe/oep-client-python
@@ -1,4 +1,4 @@
1
- oep_client/__init__.py,sha256=7OWbOEpQIfTwz_cjNABCmX2dm4vDMKyRJVsFedFOaR0,164
1
+ oep_client/__init__.py,sha256=LxTqckboeTxlWZ5qS1qsENf1WwpuF5eJG3mGUI5GyAc,164
2
2
  oep_client/__main__.py,sha256=fXvhDWRLSEPpHM6eSuBzztNzvDQi-Yqgrvz6MS5iRbg,31431
3
3
  oep_client/acquire.py,sha256=uecNDT1onLMeIxFkHFYgqG7chWWvLrAji93KnIisn0A,100072
4
4
  oep_client/arm.py,sha256=SszSLae8zErD4T-a1uQ6s6o3Lz7pe2SR8d3Qy-wi5rY,15633
@@ -8,7 +8,7 @@ oep_client/catalog.py,sha256=WkaksNn9cFvkTRnvtX4I9g1AvkFoldEiNQaKiyPQ7_E,10772
8
8
  oep_client/ch32_flash.py,sha256=lY_HKxf2foSfhNda91lcWefgRnY9ebTljsg4zJEj-Ks,12885
9
9
  oep_client/cobs.py,sha256=RbdPrqgzD3SukxOIXX9m2dZpVTud8xAYYEhm3rcW2nA,2513
10
10
  oep_client/console.py,sha256=hDxoaXDCzk6KiOo-Y3RqC4yZuLPkCXOVi886_C4xXaE,12910
11
- oep_client/core.py,sha256=qyOCFlujvSzIjbBbZmvA6cMjBn2FEOQYlq1KU2WLdOQ,22040
11
+ oep_client/core.py,sha256=o7qJjZc68RS9p91TfV3aLsLcTq-jWBO1atB9kGL_tkA,22188
12
12
  oep_client/decode.py,sha256=6pTFVBT0MLAKedZLVKyd5yT8hjrRw4fdDjnoDiE9XRs,2380
13
13
  oep_client/discovery.py,sha256=oES0_NkR1Hc9E_cgPcfW8qfevQcVuYmayMaHuqufdO8,20180
14
14
  oep_client/dump.py,sha256=rnPOwbcXKk0ATk2Ka8O8p_XN6lTzmAQAhIHjm-iwT7I,13014
@@ -17,7 +17,7 @@ oep_client/fixture.py,sha256=bEbW7JNIh6uqOq1enp6hRiZ0Ipu8YdzEzS37WaM3cd8,33977
17
17
  oep_client/frames.py,sha256=44h0dy4xlW3S3y39k3jwxHoKkI2Ib2fsmHdjlPYF310,4990
18
18
  oep_client/hardware.py,sha256=RboxkRxkQJ3DbNJEXyyiOFYlLFKGxrlcSwHho8zFC1U,30256
19
19
  oep_client/hid_stream.py,sha256=1dG1C5rSqSWs2f0WpzMOKdFd3oY_mzF7z9SxUztjpQA,14093
20
- oep_client/host.py,sha256=wMknfgqNyZeG0WAmj29_nVGHNoGoyQURj459gv75TRY,47159
20
+ oep_client/host.py,sha256=p3BROB3OiADdHAT7pqugEF-BQPME7aHSDpeMT-0q2vs,47933
21
21
  oep_client/interfaces.py,sha256=p-dQ3dtElTIPSmNFEnUzP_Mys6M43_yUqH1cZA0q5LI,11934
22
22
  oep_client/kept_session.py,sha256=S45NwNjeZry5kc5HAyk_orqXKAYf26MuyjJ2ojT51FQ,8084
23
23
  oep_client/link.py,sha256=4mKefivvb80pSNXMXebXXb97wgut9K_qihmxyfDEl6I,145569
@@ -46,7 +46,7 @@ oep_client/virtual_bench_usb.py,sha256=cnewgbsl30b0PgwkfebwSf3xjKyPg9y8vTd5Jew5r
46
46
  oep_client/virtual_core.py,sha256=cFqqCKBgVU0Wbf0UWBmKx16K3cSriiqU60FK3lfalAQ,10709
47
47
  oep_client/virtual_fixture_drive.py,sha256=_G3MVqkxpd1SfKPz1XRkYbPzAQvgBlJzVUNhjAhDdz4,21708
48
48
  oep_client/virtual_names.py,sha256=p72ME65R9Jy56xmVYnVCtapK3Id8iFpAdI5xLe2tNZ0,1449
49
- oep_client/conformance/__init__.py,sha256=lcfb87SMXISE1N1CgUZNkBtbDZNcGVQ6bP5XEnaVwG8,61746
49
+ oep_client/conformance/__init__.py,sha256=T_zCvXKQiaUIBPQ3aht5wLSsRNYaXKUNbbRGod0L558,61746
50
50
  oep_client/conformance/allocator.py,sha256=VE2nzIpXZJe4IBfgbRShp69JIwUFtLpxorQ_mO28SlM,6251
51
51
  oep_client/conformance/allocator_model.py,sha256=j6l1E1Hlju1jNeFQ_N0a2mDaegaTeyk6iScqzMpvvTc,1563
52
52
  oep_client/conformance/allocator_sample.py,sha256=xtiXuZa3VDTilrZArIWOiRyOkuXJ98_rY2M65sIVvpo,855
@@ -81,7 +81,7 @@ oep_client/conformance/clock.py,sha256=bDqBjih71zg_mhkgCSryzKI_N8FEoGoGv9jO4PMYD
81
81
  oep_client/conformance/clock_model.py,sha256=jyB8oTVR5sqbzeJCCWxdQBnzNNl4_uITLLYQ-yx8pRU,2568
82
82
  oep_client/conformance/clock_sample.py,sha256=x24mSpQoOamrXrinmnF_Tk4NPk76LwS6ZhfuK2SCwCo,673
83
83
  oep_client/conformance/core_fixed_fields.py,sha256=LRFP9yGOjDHQM1diX1HMdwXh9jMgAOY6xIC-woCikSk,6297
84
- oep_client/conformance/core_smoke.py,sha256=7Dn9sw7MEgyUAhQXmha3aGz6njhc-ditYyovFJ8YHKw,10823
84
+ oep_client/conformance/core_smoke.py,sha256=UQeohalc0nxoBRulk68c7V5WVIqJc1XFrfe08EdIPFg,10823
85
85
  oep_client/conformance/corr.py,sha256=P6ljdsXpBq-vyEXRWOB1MqACQjT6HRBXgfAxgkyPjl4,6552
86
86
  oep_client/conformance/cut.py,sha256=Oj9aj48g2VSrqFHRNlkY22MzXxQbr13Q8QXUsEMETis,7942
87
87
  oep_client/conformance/cut_model.py,sha256=bHPnK8vKoInKVslW0KlJXRRgpGK-7ktIVGUEXo60X34,4791
@@ -115,21 +115,21 @@ oep_client/conformance/gpio_lifecycle_model.py,sha256=K0nzlXf-43kj3jsfaAuzEWOftO
115
115
  oep_client/conformance/gpio_lifecycle_sample.py,sha256=Yk1WENQ-2tbPCM2yUY4Yk9dgWkjIfL42VtUSpx1qhhM,369
116
116
  oep_client/conformance/gpio_model.py,sha256=CXy42K8cdRSTBxLC44h-gTYhjh3HrduSehsgsbvmDpo,5633
117
117
  oep_client/conformance/gpio_sample.py,sha256=JHsOrjkYcM738IGSzP5q7v5vANETwKT6-csCTxH55MQ,490
118
- oep_client/conformance/host_core.py,sha256=3eFMNjSpEaYIWLV9k-9D66JC2XJjq10dhrl5M_6kfdE,12634
118
+ oep_client/conformance/host_core.py,sha256=o_M0nCTRzGvThC6G2C27DO3QdM1GRSE-eGkbhB7ZIO0,12634
119
119
  oep_client/conformance/host_core_sample.py,sha256=egU8Xw-f3eHx_CmUooN1yW1lzltOam6IsJbnD8uOx9I,3803
120
- oep_client/conformance/host_deadline.py,sha256=C_-kfZpGbW1_t7EU-Mjr19EsRzdCrotTbHWhtaRsHOc,6978
120
+ oep_client/conformance/host_deadline.py,sha256=_Ri9HSAlB27rgAqXdP-evsF-DGBegajXzV9l7NgAh-k,6978
121
121
  oep_client/conformance/host_deadline_sample.py,sha256=G471jEc2HxDIu52Acw_aHDSxFAEC72OBCuvn2YQtAdU,5136
122
122
  oep_client/conformance/host_notifications.py,sha256=LGRJhOS66_36MYG8fHLcyHroXtoZRQVJgammDieVhQY,9307
123
123
  oep_client/conformance/host_notifications_sample.py,sha256=auze2DdWtUOdQMHnfDF8WXLAiETv3OuODR6y77VmsTQ,1788
124
124
  oep_client/conformance/host_request_sample.py,sha256=pFlgw_nw_LTPoojI3Igdl1bQzsyMJSEDkuTgGOAV1Gg,1973
125
- oep_client/conformance/host_requests.py,sha256=uQlzxVuSysvXxhRG8OaxiM6lp2EiBQyA96ApELqgR5Y,11197
125
+ oep_client/conformance/host_requests.py,sha256=eVgWvAt3PMVVLVfEmpIoySVBiRaG_1G1nGNHwFvKsGg,11197
126
126
  oep_client/conformance/host_resend.py,sha256=P8tFWtr6TwQ33ph-JO0l8EXyJGxSjC6fBeyKQ4AhqxU,5519
127
127
  oep_client/conformance/host_resend_sample.py,sha256=nwaru9ZVcxpcTi1OEritp8PSF6Qfic_IRGuutH2aBA4,4808
128
128
  oep_client/conformance/host_tlv.py,sha256=h5SZT9r3DCsxMLcRacdyKOoZNQHSL8DzRgT1VPu_86A,6140
129
129
  oep_client/conformance/host_tlv_sample.py,sha256=V6ORb5E2i76dc8O73Bew0eO2CbjG-ZPc02JLi6w5vmY,743
130
130
  oep_client/conformance/host_values.py,sha256=VnjEB5TQbI34fuyAx0OGVbiyfI2ZH_of9I4TLT7Dyyk,4742
131
131
  oep_client/conformance/host_values_sample.py,sha256=7C58mSP9jjrkNSgSb3uNK44VrdPXOznof_oe5UCcZro,1532
132
- oep_client/conformance/host_wait.py,sha256=8MWihd6uLsGduC9ovRcpijUfR5iekKThzPe-7K64Bzg,5591
132
+ oep_client/conformance/host_wait.py,sha256=2upJp_9wWfssDO-CDnEb2RVp7_cQAnpLIt4MWwAtveE,5591
133
133
  oep_client/conformance/host_wait_sample.py,sha256=7SkJ8H_9ScMv8gLnT85xBKj_GXciPvAzmH-KxfMWYCg,3257
134
134
  oep_client/conformance/i2c.py,sha256=fNDweyCLlCsv7fCwmmQMC7di5AG1HzDCflW0miWwcjc,18041
135
135
  oep_client/conformance/i2c_model.py,sha256=HLYqRKdKMvlCGMcgYxSS3dy50Zf7aPojN_gO5fBvy6U,9759
@@ -157,7 +157,7 @@ oep_client/conformance/notification_sequence.py,sha256=TGdLjqPkCBtjH6f_oxgPGfl-l
157
157
  oep_client/conformance/notification_sequence_sample.py,sha256=awSniydBvRoy03PCR5Y6xHAVmLWV1wjKwfA2dwI8XCI,494
158
158
  oep_client/conformance/oep_declaration_model.py,sha256=_Zq_eLLkHNGcDfA0tPptWpqT4tZbCsVrdjE2k9lAcco,2947
159
159
  oep_client/conformance/oep_declarations.py,sha256=0DrrDdveGEiSMp5fjy-ZJjR0mjAxv2TQLylZl_hnqfo,7492
160
- oep_client/conformance/oep_smoke.py,sha256=iZ9UrDQruknM-DYnYiU7aLSh-obqG254_FNEQe-5Cjc,12496
160
+ oep_client/conformance/oep_smoke.py,sha256=P-FGzXl37oIvBMPrPHDg0fDsX7lq3XAICGXWhD6Fpk8,12496
161
161
  oep_client/conformance/outcome_model.py,sha256=jnKDNvkLBsSFQqQQEqCDt3zliKZx0b5LiLCHafrBv4U,3697
162
162
  oep_client/conformance/outcome_sample.py,sha256=6dbEwddcY0z4jGZsazp_gGI_Vu0em-0rOrGN2BVUMzI,673
163
163
  oep_client/conformance/outcomes.py,sha256=FktfF9aaexnXCgSNDYU6OZeqRuLd3ppFMXE1UrW-H2o,10047
@@ -250,8 +250,8 @@ oep_client/conformance/wire_options_sample.py,sha256=dog-yvUcu693M8b51tA5TnhAnKr
250
250
  oep_client/conformance/writer_lease.py,sha256=5VXS7kt1R4j6B26XdJa6UOqJg-a05ZewC2ynVmyxMTM,7331
251
251
  oep_client/conformance/writer_lease_model.py,sha256=FxhDqqzdFOa_SSHSvjdQFh49Wn3YuZ98ISSlRRxrq9E,1721
252
252
  oep_client/conformance/writer_lease_sample.py,sha256=oowRwYUNAE4f6rEE2HmYlSS9dDWE0TGegkcsqVH8Nak,455
253
- oep_client_python-0.0.42.dist-info/METADATA,sha256=a5b4YJJEEj69W9ExstaBRtCZufyidN96e5sABcHjcxk,55578
254
- oep_client_python-0.0.42.dist-info/WHEEL,sha256=2iZrJkDIkeDh0k9SikKMqFuRP-ua6mb4Ir1AsER4BEw,87
255
- oep_client_python-0.0.42.dist-info/entry_points.txt,sha256=XEt39Jz7oQyU9Hfg_tV6eDGofNxWYrjSfslxKP-fh70,135
256
- oep_client_python-0.0.42.dist-info/licenses/LICENSE,sha256=ntlalztb3L1OaNAxmQdHlubu5fVhjMc9oRZi3PeQhXg,1076
257
- oep_client_python-0.0.42.dist-info/RECORD,,
253
+ oep_client_python-0.0.43.dist-info/METADATA,sha256=r4CGX-c86d8zyO_orDssPk6E4bV4Szle72c_EfLxae0,55578
254
+ oep_client_python-0.0.43.dist-info/WHEEL,sha256=2iZrJkDIkeDh0k9SikKMqFuRP-ua6mb4Ir1AsER4BEw,87
255
+ oep_client_python-0.0.43.dist-info/entry_points.txt,sha256=XEt39Jz7oQyU9Hfg_tV6eDGofNxWYrjSfslxKP-fh70,135
256
+ oep_client_python-0.0.43.dist-info/licenses/LICENSE,sha256=ntlalztb3L1OaNAxmQdHlubu5fVhjMc9oRZi3PeQhXg,1076
257
+ oep_client_python-0.0.43.dist-info/RECORD,,