moat-kv 0.70.24__py3-none-any.whl → 0.71.6__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.
- moat/kv/__init__.py +6 -7
- moat/kv/_cfg.yaml +5 -8
- moat/kv/actor/__init__.py +2 -1
- moat/kv/actor/deletor.py +4 -1
- moat/kv/auth/__init__.py +12 -13
- moat/kv/auth/_test.py +4 -1
- moat/kv/auth/password.py +11 -7
- moat/kv/backend/mqtt.py +4 -8
- moat/kv/client.py +20 -39
- moat/kv/code.py +3 -3
- moat/kv/command/data.py +4 -3
- moat/kv/command/dump/__init__.py +29 -29
- moat/kv/command/internal.py +2 -3
- moat/kv/command/job.py +1 -2
- moat/kv/command/type.py +3 -6
- moat/kv/data.py +9 -8
- moat/kv/errors.py +16 -8
- moat/kv/mock/__init__.py +2 -12
- moat/kv/model.py +28 -32
- moat/kv/obj/__init__.py +3 -3
- moat/kv/obj/command.py +3 -3
- moat/kv/runner.py +4 -5
- moat/kv/server.py +106 -126
- moat/kv/types.py +8 -6
- {moat_kv-0.70.24.dist-info → moat_kv-0.71.6.dist-info}/METADATA +7 -6
- moat_kv-0.71.6.dist-info/RECORD +47 -0
- {moat_kv-0.70.24.dist-info → moat_kv-0.71.6.dist-info}/WHEEL +1 -1
- moat_kv-0.71.6.dist-info/licenses/LICENSE +3 -0
- moat_kv-0.71.6.dist-info/licenses/LICENSE.APACHE2 +202 -0
- moat_kv-0.71.6.dist-info/licenses/LICENSE.MIT +20 -0
- moat_kv-0.71.6.dist-info/top_level.txt +1 -0
- build/lib/docs/source/conf.py +0 -201
- build/lib/examples/pathify.py +0 -45
- build/lib/moat/kv/__init__.py +0 -19
- build/lib/moat/kv/_cfg.yaml +0 -97
- build/lib/moat/kv/_main.py +0 -91
- build/lib/moat/kv/actor/__init__.py +0 -98
- build/lib/moat/kv/actor/deletor.py +0 -139
- build/lib/moat/kv/auth/__init__.py +0 -444
- build/lib/moat/kv/auth/_test.py +0 -166
- build/lib/moat/kv/auth/password.py +0 -234
- build/lib/moat/kv/auth/root.py +0 -58
- build/lib/moat/kv/backend/__init__.py +0 -67
- build/lib/moat/kv/backend/mqtt.py +0 -74
- build/lib/moat/kv/backend/serf.py +0 -45
- build/lib/moat/kv/client.py +0 -1025
- build/lib/moat/kv/code.py +0 -236
- build/lib/moat/kv/codec.py +0 -11
- build/lib/moat/kv/command/__init__.py +0 -1
- build/lib/moat/kv/command/acl.py +0 -180
- build/lib/moat/kv/command/auth.py +0 -261
- build/lib/moat/kv/command/code.py +0 -293
- build/lib/moat/kv/command/codec.py +0 -186
- build/lib/moat/kv/command/data.py +0 -265
- build/lib/moat/kv/command/dump/__init__.py +0 -143
- build/lib/moat/kv/command/error.py +0 -149
- build/lib/moat/kv/command/internal.py +0 -248
- build/lib/moat/kv/command/job.py +0 -433
- build/lib/moat/kv/command/log.py +0 -53
- build/lib/moat/kv/command/server.py +0 -114
- build/lib/moat/kv/command/type.py +0 -201
- build/lib/moat/kv/config.py +0 -46
- build/lib/moat/kv/data.py +0 -216
- build/lib/moat/kv/errors.py +0 -561
- build/lib/moat/kv/exceptions.py +0 -126
- build/lib/moat/kv/mock/__init__.py +0 -101
- build/lib/moat/kv/mock/mqtt.py +0 -159
- build/lib/moat/kv/mock/serf.py +0 -250
- build/lib/moat/kv/mock/tracer.py +0 -63
- build/lib/moat/kv/model.py +0 -1069
- build/lib/moat/kv/obj/__init__.py +0 -646
- build/lib/moat/kv/obj/command.py +0 -241
- build/lib/moat/kv/runner.py +0 -1347
- build/lib/moat/kv/server.py +0 -2809
- build/lib/moat/kv/types.py +0 -513
- debian/moat-kv/usr/lib/python3/dist-packages/docs/source/conf.py +0 -201
- debian/moat-kv/usr/lib/python3/dist-packages/examples/pathify.py +0 -45
- debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/__init__.py +0 -19
- debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/_cfg.yaml +0 -97
- debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/_main.py +0 -91
- debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/actor/__init__.py +0 -98
- debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/actor/deletor.py +0 -139
- debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/auth/__init__.py +0 -444
- debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/auth/_test.py +0 -166
- debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/auth/password.py +0 -234
- debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/auth/root.py +0 -58
- debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/backend/__init__.py +0 -67
- debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/backend/mqtt.py +0 -74
- debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/backend/serf.py +0 -45
- debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/client.py +0 -1025
- debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/code.py +0 -236
- debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/codec.py +0 -11
- debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/command/__init__.py +0 -1
- debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/command/acl.py +0 -180
- debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/command/auth.py +0 -261
- debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/command/code.py +0 -293
- debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/command/codec.py +0 -186
- debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/command/data.py +0 -265
- debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/command/dump/__init__.py +0 -143
- debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/command/error.py +0 -149
- debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/command/internal.py +0 -248
- debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/command/job.py +0 -433
- debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/command/log.py +0 -53
- debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/command/server.py +0 -114
- debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/command/type.py +0 -201
- debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/config.py +0 -46
- debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/data.py +0 -216
- debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/errors.py +0 -561
- debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/exceptions.py +0 -126
- debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/mock/__init__.py +0 -101
- debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/mock/mqtt.py +0 -159
- debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/mock/serf.py +0 -250
- debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/mock/tracer.py +0 -63
- debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/model.py +0 -1069
- debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/obj/__init__.py +0 -646
- debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/obj/command.py +0 -241
- debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/runner.py +0 -1347
- debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/server.py +0 -2809
- debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/types.py +0 -513
- docs/source/conf.py +0 -201
- examples/pathify.py +0 -45
- moat/kv/backend/serf.py +0 -45
- moat/kv/codec.py +0 -11
- moat/kv/mock/serf.py +0 -250
- moat_kv-0.70.24.dist-info/RECORD +0 -137
- moat_kv-0.70.24.dist-info/top_level.txt +0 -9
- {moat_kv-0.70.24.dist-info → moat_kv-0.71.6.dist-info}/licenses/LICENSE.txt +0 -0
examples/pathify.py
DELETED
@@ -1,45 +0,0 @@
|
|
1
|
-
#!/usr/bin/python3
|
2
|
-
|
3
|
-
# Batch-convert data. In this case I had some entries which were stored as
|
4
|
-
# a list, but using Path made much more sense (esp when you need to
|
5
|
-
# view/edit the yaml export).
|
6
|
-
|
7
|
-
import anyio
|
8
|
-
from moat.kv.client import open_client
|
9
|
-
from moat.util import P, yload, Path
|
10
|
-
import asyncclick as click
|
11
|
-
|
12
|
-
|
13
|
-
def conv(m, s: str) -> bool:
|
14
|
-
try:
|
15
|
-
d = m.value[s]
|
16
|
-
except KeyError:
|
17
|
-
return 0
|
18
|
-
if isinstance(d, Path):
|
19
|
-
return 0
|
20
|
-
if not isinstance(d, Sequence):
|
21
|
-
return 0
|
22
|
-
d = Path.build(d)
|
23
|
-
m.value[s] = d
|
24
|
-
return 1
|
25
|
-
|
26
|
-
|
27
|
-
@click.command()
|
28
|
-
@click.argument("path", type=P)
|
29
|
-
@click.argument("keys", type=str, nargs=-1)
|
30
|
-
async def main(path, keys):
|
31
|
-
if not keys:
|
32
|
-
keys = "src dest dst state".split()
|
33
|
-
with open("/etc/moat.kv.cfg") as cff:
|
34
|
-
cfg = yload(cff)
|
35
|
-
async with open_client(**cfg) as client:
|
36
|
-
async for m in client.get_tree(path, nchain=2):
|
37
|
-
n = 0
|
38
|
-
for k in keys:
|
39
|
-
n += conv(m, k)
|
40
|
-
if n:
|
41
|
-
await client.set(ORIG + m.path, value=m.value, chain=m.chain)
|
42
|
-
|
43
|
-
|
44
|
-
if __name__ == "__main__":
|
45
|
-
main()
|
moat/kv/backend/serf.py
DELETED
@@ -1,45 +0,0 @@
|
|
1
|
-
from __future__ import annotations
|
2
|
-
from contextlib import asynccontextmanager
|
3
|
-
|
4
|
-
import anyio
|
5
|
-
import asyncserf
|
6
|
-
|
7
|
-
from . import Backend
|
8
|
-
|
9
|
-
# Simply setting connect=asyncserf.serf_client interferes with mocking
|
10
|
-
# when testing.
|
11
|
-
|
12
|
-
|
13
|
-
class SerfBackend(Backend):
|
14
|
-
client = None
|
15
|
-
|
16
|
-
@asynccontextmanager
|
17
|
-
async def connect(self, *a, **k):
|
18
|
-
async with asyncserf.serf_client(*a, **k) as c:
|
19
|
-
self.client = c
|
20
|
-
try:
|
21
|
-
yield self
|
22
|
-
finally:
|
23
|
-
with anyio.CancelScope(shield=True):
|
24
|
-
await self.aclose()
|
25
|
-
self.client = None
|
26
|
-
|
27
|
-
def monitor(self, *topic): # pylint: disable=invalid-overridden-method
|
28
|
-
topic = "user:" + ".".join(topic)
|
29
|
-
# self.client.stream is also async, pass thru
|
30
|
-
return self.client.stream(topic)
|
31
|
-
|
32
|
-
def send(self, *topic, payload): # pylint: disable=invalid-overridden-method
|
33
|
-
"""
|
34
|
-
Send this payload to this topic.
|
35
|
-
"""
|
36
|
-
# self.client.event is also async, pass thru
|
37
|
-
return self.client.event(".".join(topic), payload=payload, coalesce=False)
|
38
|
-
|
39
|
-
|
40
|
-
@asynccontextmanager
|
41
|
-
async def connect(*a, **kw):
|
42
|
-
async with anyio.create_task_group() as tg:
|
43
|
-
c = SerfBackend(tg)
|
44
|
-
async with c.connect(*a, **kw):
|
45
|
-
yield c
|
moat/kv/codec.py
DELETED
@@ -1,11 +0,0 @@
|
|
1
|
-
"""
|
2
|
-
This module contains helper functions for packing+unpacking of single messages,
|
3
|
-
plus an unpacker factory for streams.
|
4
|
-
"""
|
5
|
-
|
6
|
-
# compatibility
|
7
|
-
from __future__ import annotations
|
8
|
-
|
9
|
-
from moat.util import * # noqa: F403
|
10
|
-
|
11
|
-
__all__ = ["packer", "unpacker", "stream_unpacker"] # noqa: F405
|
moat/kv/mock/serf.py
DELETED
@@ -1,250 +0,0 @@
|
|
1
|
-
from __future__ import annotations
|
2
|
-
import copy
|
3
|
-
import logging
|
4
|
-
import time
|
5
|
-
from contextlib import AsyncExitStack, asynccontextmanager
|
6
|
-
from functools import partial
|
7
|
-
|
8
|
-
import anyio
|
9
|
-
import attr
|
10
|
-
from unittest import mock
|
11
|
-
import trio
|
12
|
-
from asyncscope import main_scope, scope
|
13
|
-
from asyncserf.stream import SerfEvent
|
14
|
-
from moat.util import NotGiven, ValueEvent, attrdict, combine_dict, create_queue
|
15
|
-
|
16
|
-
from moat.kv.codec import unpacker
|
17
|
-
from moat.kv.mock import S as _S
|
18
|
-
from moat.kv.server import Server
|
19
|
-
|
20
|
-
logger = logging.getLogger(__name__)
|
21
|
-
|
22
|
-
otm = time.time
|
23
|
-
|
24
|
-
from . import CFG
|
25
|
-
|
26
|
-
|
27
|
-
@asynccontextmanager
|
28
|
-
async def stdtest(n=1, run=True, ssl=False, tocks=20, **kw):
|
29
|
-
C_OUT = CFG.get("_stdout", NotGiven)
|
30
|
-
if C_OUT is not NotGiven:
|
31
|
-
del CFG["_stdout"]
|
32
|
-
TESTCFG = copy.deepcopy(CFG["kv"])
|
33
|
-
TESTCFG.server.port = None
|
34
|
-
TESTCFG.server.backend = "serf"
|
35
|
-
TESTCFG.root = "test"
|
36
|
-
if C_OUT is not NotGiven:
|
37
|
-
CFG["_stdout"] = C_OUT
|
38
|
-
TESTCFG["_stdout"] = C_OUT
|
39
|
-
|
40
|
-
if ssl:
|
41
|
-
import ssl
|
42
|
-
|
43
|
-
import trustme
|
44
|
-
|
45
|
-
ca = trustme.CA()
|
46
|
-
cert = ca.issue_server_cert("127.0.0.1")
|
47
|
-
server_ctx = ssl.create_default_context(purpose=ssl.Purpose.CLIENT_AUTH)
|
48
|
-
client_ctx = ssl.create_default_context(purpose=ssl.Purpose.SERVER_AUTH)
|
49
|
-
ca.configure_trust(client_ctx)
|
50
|
-
cert.configure_cert(server_ctx)
|
51
|
-
else:
|
52
|
-
server_ctx = client_ctx = False
|
53
|
-
|
54
|
-
clock = trio.lowlevel.current_clock()
|
55
|
-
clock.autojump_threshold = 0.0
|
56
|
-
# clock.rate = 5
|
57
|
-
|
58
|
-
@attr.s
|
59
|
-
class S(_S):
|
60
|
-
splits = attr.ib(factory=set)
|
61
|
-
serfs = attr.ib(factory=set)
|
62
|
-
|
63
|
-
def split(self, s):
|
64
|
-
assert s not in self.splits
|
65
|
-
logger.debug("Split: add %d", s)
|
66
|
-
self.splits.add(s)
|
67
|
-
|
68
|
-
def join(self, s):
|
69
|
-
logger.debug("Split: join %d", s)
|
70
|
-
self.splits.remove(s)
|
71
|
-
|
72
|
-
async def mock_get_host_port(st, host):
|
73
|
-
i = int(host[host.rindex("_") + 1 :])
|
74
|
-
s = st.s[i]
|
75
|
-
await s.is_serving
|
76
|
-
for host, port, *_ in s.ports:
|
77
|
-
if host == "::" or host[0] != ":":
|
78
|
-
return host, port
|
79
|
-
|
80
|
-
def tm():
|
81
|
-
try:
|
82
|
-
return trio.current_time()
|
83
|
-
except RuntimeError:
|
84
|
-
return otm()
|
85
|
-
|
86
|
-
async def mock_set_tock(self, old):
|
87
|
-
assert self._tock < tocks, "Test didn't terminate. Limit:" + str(tocks)
|
88
|
-
await old()
|
89
|
-
|
90
|
-
async with main_scope("moat.kv.test.serf") as scp:
|
91
|
-
tg = scp._tg
|
92
|
-
st = S(tg, client_ctx)
|
93
|
-
async with AsyncExitStack() as ex:
|
94
|
-
st.ex = ex # pylint: disable=attribute-defined-outside-init
|
95
|
-
ex.enter_context(mock.patch("time.time", new=tm))
|
96
|
-
ex.enter_context(mock.patch("time.monotonic", new=tm))
|
97
|
-
logging._startTime = tm()
|
98
|
-
|
99
|
-
ex.enter_context(
|
100
|
-
mock.patch("asyncserf.serf_client", new=partial(mock_serf_client, st)),
|
101
|
-
)
|
102
|
-
|
103
|
-
for i in range(n):
|
104
|
-
name = "test_" + str(i)
|
105
|
-
args = kw.get(name, kw.get("args", attrdict()))
|
106
|
-
args["cfg"] = combine_dict(
|
107
|
-
args.get("cfg", {}),
|
108
|
-
{
|
109
|
-
"kv": {
|
110
|
-
"conn": {"ssl": client_ctx},
|
111
|
-
},
|
112
|
-
"server": {
|
113
|
-
"bind_default": {
|
114
|
-
"host": "127.0.0.1",
|
115
|
-
"port": i + 50120,
|
116
|
-
"ssl": server_ctx,
|
117
|
-
},
|
118
|
-
"serf": {"i": i},
|
119
|
-
},
|
120
|
-
},
|
121
|
-
TESTCFG,
|
122
|
-
)
|
123
|
-
s = Server(name, **args)
|
124
|
-
ex.enter_context(
|
125
|
-
mock.patch.object(s, "_set_tock", new=partial(mock_set_tock, s, s._set_tock)),
|
126
|
-
)
|
127
|
-
ex.enter_context(
|
128
|
-
mock.patch.object(s, "_get_host_port", new=partial(mock_get_host_port, st)),
|
129
|
-
)
|
130
|
-
st.s.append(s)
|
131
|
-
|
132
|
-
async def with_serf(s, *a, **k):
|
133
|
-
s._scope = scope.get()
|
134
|
-
return await s._scoped_serve(*a, **k)
|
135
|
-
|
136
|
-
evts = []
|
137
|
-
for i in range(n):
|
138
|
-
if kw.get("run_" + str(i), run):
|
139
|
-
evt = anyio.Event()
|
140
|
-
await scp.spawn_service(with_serf, st.s[i], ready_evt=evt)
|
141
|
-
evts.append(evt)
|
142
|
-
for e in evts:
|
143
|
-
await e.wait()
|
144
|
-
try:
|
145
|
-
yield st
|
146
|
-
finally:
|
147
|
-
with anyio.fail_after(2, shield=True):
|
148
|
-
logger.info("Runtime: %s", clock.current_time())
|
149
|
-
tg.cancel_scope.cancel()
|
150
|
-
logger.info("End")
|
151
|
-
pass # unwinding ex:AsyncExitStack
|
152
|
-
|
153
|
-
|
154
|
-
@asynccontextmanager
|
155
|
-
async def mock_serf_client(master, **cfg):
|
156
|
-
async with scope.using_scope():
|
157
|
-
ms = MockServ(master, **cfg)
|
158
|
-
master.serfs.add(ms)
|
159
|
-
ms._scope = scope.get() # pylint:disable=attribute-defined-outside-init
|
160
|
-
try:
|
161
|
-
yield ms
|
162
|
-
finally:
|
163
|
-
master.serfs.remove(ms)
|
164
|
-
pass # terminating mock_serf_client nursery
|
165
|
-
|
166
|
-
|
167
|
-
class MockServ:
|
168
|
-
def __init__(self, master, **cfg):
|
169
|
-
self.cfg = cfg
|
170
|
-
self._tg = scope._tg
|
171
|
-
self.streams = {}
|
172
|
-
self._master = master
|
173
|
-
|
174
|
-
def __hash__(self):
|
175
|
-
return id(self)
|
176
|
-
|
177
|
-
async def spawn(self, fn, *args, **kw):
|
178
|
-
async def run(evt):
|
179
|
-
with anyio.CancelScope() as sc:
|
180
|
-
await evt.set(sc)
|
181
|
-
await fn(*args, **kw)
|
182
|
-
|
183
|
-
evt = ValueEvent()
|
184
|
-
self._tg.spawn(run, evt)
|
185
|
-
return await evt.get()
|
186
|
-
|
187
|
-
async def event(self, name, payload, coalesce=True):
|
188
|
-
try:
|
189
|
-
logger.debug("SERF:%s: %r", name, unpacker(payload))
|
190
|
-
except Exception:
|
191
|
-
logger.debug("SERF:%s: %r (raw)", name, payload)
|
192
|
-
assert not coalesce, "'coalesce' must be cleared!"
|
193
|
-
|
194
|
-
i_self = self.cfg.get("i", 0)
|
195
|
-
for s in list(self._master.serfs):
|
196
|
-
i_s = s.cfg.get("i", 0)
|
197
|
-
for x in self._master.splits:
|
198
|
-
if (i_s < x) != (i_self < x):
|
199
|
-
break
|
200
|
-
else:
|
201
|
-
n = tuple(name.split("."))
|
202
|
-
while n:
|
203
|
-
sl = s.streams.get(n, ())
|
204
|
-
for sn in sl:
|
205
|
-
await sn.q.put((name, payload))
|
206
|
-
n = n[:-1]
|
207
|
-
|
208
|
-
def stream(self, typ):
|
209
|
-
"""compat for supporting asyncactor"""
|
210
|
-
if not typ.startswith("user:"):
|
211
|
-
raise RuntimeError("not supported")
|
212
|
-
typ = typ[5:]
|
213
|
-
return self.serf_mon(typ)
|
214
|
-
|
215
|
-
def serf_mon(self, typ):
|
216
|
-
if "," in typ:
|
217
|
-
raise RuntimeError("not supported")
|
218
|
-
s = MockSerfStream(self, "user:" + typ)
|
219
|
-
return s
|
220
|
-
|
221
|
-
async def serf_send(self, typ, payload):
|
222
|
-
"""compat for supporting asyncactor"""
|
223
|
-
return await self.event(typ, payload)
|
224
|
-
|
225
|
-
|
226
|
-
class MockSerfStream:
|
227
|
-
q = None
|
228
|
-
|
229
|
-
def __init__(self, serf, typ):
|
230
|
-
self.serf = serf
|
231
|
-
assert typ.startswith("user:")
|
232
|
-
self.typ = tuple(typ[5:].split("."))
|
233
|
-
|
234
|
-
async def __aenter__(self):
|
235
|
-
self.q = create_queue(100)
|
236
|
-
self.serf.streams.setdefault(self.typ, []).append(self)
|
237
|
-
return self
|
238
|
-
|
239
|
-
async def __aexit__(self, *tb):
|
240
|
-
self.serf.streams[self.typ].remove(self)
|
241
|
-
del self.q
|
242
|
-
|
243
|
-
def __aiter__(self):
|
244
|
-
return self
|
245
|
-
|
246
|
-
async def __anext__(self):
|
247
|
-
res = await self.q.get()
|
248
|
-
evt = SerfEvent(self)
|
249
|
-
evt.topic, evt.payload = res
|
250
|
-
return evt
|
moat_kv-0.70.24.dist-info/RECORD
DELETED
@@ -1,137 +0,0 @@
|
|
1
|
-
build/lib/docs/source/conf.py,sha256=v4cO_xK-WpfHeOCQ4RaeHFk8vwBM7Gg3sw6DgGLmpCc,6072
|
2
|
-
build/lib/examples/pathify.py,sha256=cq2j7Nqhl3jmoNZ6l8wMj4j7DkHMxyB7-oTOrCZA0xQ,1128
|
3
|
-
build/lib/moat/kv/__init__.py,sha256=TO2TyH5Focv78vDDqtiN1vZVLsVihrOqvHBAlLIgVRA,508
|
4
|
-
build/lib/moat/kv/_cfg.yaml,sha256=fYMbr4A3-WuXxhqwJIY3AL_t2L_kKrlgJWU2bHry7t8,2249
|
5
|
-
build/lib/moat/kv/_main.py,sha256=SgI4ef8AQDOC4N4pLRiyaiSiFIzN-J337WIcuC7DPOY,2234
|
6
|
-
build/lib/moat/kv/client.py,sha256=c8YV0sjpO2XYpNE-fep7fDO2kgsNdShZxgCjohy23CY,34549
|
7
|
-
build/lib/moat/kv/code.py,sha256=gM7WNsjCfukr7h2fKm1U3zMHN5Wj-_hgy5U817LP9qE,6427
|
8
|
-
build/lib/moat/kv/codec.py,sha256=1AUNYxCOUJSZfZlny-asNZ0gmz0eaPmQKjr3biNDhWM,284
|
9
|
-
build/lib/moat/kv/config.py,sha256=cWJ1m8PRwzzapsin1XSDjRtYJCgNN6g7gA9q48luDV8,1093
|
10
|
-
build/lib/moat/kv/data.py,sha256=oiSGHnrrmJOkxC71bQj1ZsmBsVpE_vPT83IqRuHaNls,5992
|
11
|
-
build/lib/moat/kv/errors.py,sha256=wmi2OVsO4IeedScGTTFWvECkHLHMRiukoWXLpjI4-Us,16742
|
12
|
-
build/lib/moat/kv/exceptions.py,sha256=4gRsYa6kuBy1qFYiBUYElup_cvOe7QgPQtryHAYphzo,1849
|
13
|
-
build/lib/moat/kv/model.py,sha256=il8TjxrvL3EJKTZ88IDx2pJXcaKbXUSwsOIV4lXsW9Q,33390
|
14
|
-
build/lib/moat/kv/runner.py,sha256=eDXsNFWKidx5HLmP2MGpgRdeTeoL7dCSXLA_BKy55uE,41889
|
15
|
-
build/lib/moat/kv/server.py,sha256=O-yJiJYT5sQPeku9iTRo-SXqkHBq7OhKpHSA5IbKtvM,94918
|
16
|
-
build/lib/moat/kv/types.py,sha256=6klFuDHtbhRxrpLOYn1tnDndoRwE0nrolz3tFKOWtd8,14056
|
17
|
-
build/lib/moat/kv/actor/__init__.py,sha256=EdDaj0xXvL9QIecooWg3AfPyCHjdCCtKzXmtPRA7pkE,2134
|
18
|
-
build/lib/moat/kv/actor/deletor.py,sha256=v33XsCaemmaxZHRZP6JWap1yV9k7WkK6smPB-mwHyZA,4481
|
19
|
-
build/lib/moat/kv/auth/__init__.py,sha256=xd-nO76LTGeo7ppCqqv2aOc6nhzzyyRXmYKT4x3_I88,12490
|
20
|
-
build/lib/moat/kv/auth/_test.py,sha256=ZaMpMf2CTJ6sdGyENUhdWAY5TLC-kBtszM3dFQbyuWA,4342
|
21
|
-
build/lib/moat/kv/auth/password.py,sha256=DQG2BnNEoQ0H-znkHJx0G9-bcdWwg3IgqojcAHhKIsQ,6307
|
22
|
-
build/lib/moat/kv/auth/root.py,sha256=lW-_hgQp3ZIzAAe4iBl0rdMU-pFuHIC6ObA3rdFXxkk,1303
|
23
|
-
build/lib/moat/kv/backend/__init__.py,sha256=f5nIOWD2zml2YiaBNXtEOzC7SEGgwDFJMB8YzRISJ0A,1689
|
24
|
-
build/lib/moat/kv/backend/mqtt.py,sha256=0pRGXZmTuVl5cNwzo5ypc_84Zuzyu0aEtRGTbK8gjYk,2095
|
25
|
-
build/lib/moat/kv/backend/serf.py,sha256=i4u7V6h8SPO3XmP76DiARnFLC4M67xnQEX5-9SgbwtU,1295
|
26
|
-
build/lib/moat/kv/command/__init__.py,sha256=9_8wL9Scv8_Cs8HJyJHGvx1vwXErsuvlsAqNZLcJQR0,8
|
27
|
-
build/lib/moat/kv/command/acl.py,sha256=wSdlzKBjWIFX3IxCdLcG3ZqjvtX8KPtqe38ibyU2VDo,4665
|
28
|
-
build/lib/moat/kv/command/auth.py,sha256=vP22ZIBMjRdUxN4_ELKiDgIE5ZqdMxs1ky1WDVUx50M,7149
|
29
|
-
build/lib/moat/kv/command/code.py,sha256=ycGBoKBB0Gse3Tt9h9WvgiIZVe3Yg-x92RRjfCCCXVQ,8066
|
30
|
-
build/lib/moat/kv/command/codec.py,sha256=8GqOl-oxWFM2D1Fm9Iheot2AmS_SsOYfqfbbde3qvQY,6028
|
31
|
-
build/lib/moat/kv/command/data.py,sha256=ntT6CQkmXtyFMgJNm9WMn23kVP5MR73q53w2WASsoOg,8396
|
32
|
-
build/lib/moat/kv/command/error.py,sha256=XqHmVJgBGjr6XOozi23wEjiTqPopD1CzkIeR1a3Z_vY,4350
|
33
|
-
build/lib/moat/kv/command/internal.py,sha256=wjEHTltUXIMEiXriyd5DuTDlaI_2W2uaJIi-dNLT_OA,7397
|
34
|
-
build/lib/moat/kv/command/job.py,sha256=C2qH7ghQcPL5vj-Pg0YZ2i2Rvg5kpzH58EqBTCaK1Tw,13614
|
35
|
-
build/lib/moat/kv/command/log.py,sha256=ycdtMgiBw2DaCu0yu6tpWKPLlQ33ZZemXsfwZrCzRGg,1350
|
36
|
-
build/lib/moat/kv/command/server.py,sha256=Hl_6FFq322c5KjJCKxH1nCrxo-h0VEwH4IOMbVeUBN4,3392
|
37
|
-
build/lib/moat/kv/command/type.py,sha256=JN0_Abb5wR4UJH5zHnVZgT93NJRYY6qpRD_ZQT13u4k,6226
|
38
|
-
build/lib/moat/kv/command/dump/__init__.py,sha256=L05R6W9eDzUDAr7UhfEo1lZR-UB0qYUUf-5dRHC-p-0,4000
|
39
|
-
build/lib/moat/kv/mock/__init__.py,sha256=HW6YAwo_OBVRmTeRCc-ZoUHB7-D78cEONlcb5vACdIE,2760
|
40
|
-
build/lib/moat/kv/mock/mqtt.py,sha256=b9pzbwQBmTX2eSiSgNO7nh2-7l8-0TT8n2GxinQ-1l0,5213
|
41
|
-
build/lib/moat/kv/mock/serf.py,sha256=cuNT3jEXg3eq7Gs2R6734_gdWeyzZryZoT78MtemDH4,7611
|
42
|
-
build/lib/moat/kv/mock/tracer.py,sha256=qLEIn9gdlYUypyRYD8O8SbM8ye8XR4xtBl3otP6uNLs,2058
|
43
|
-
build/lib/moat/kv/obj/__init__.py,sha256=yeiZ6bWM8XhK28ruqX7RmpPhytYXlOJPRw_hsWbvExk,19800
|
44
|
-
build/lib/moat/kv/obj/command.py,sha256=QQiOhPtlGV07kuutV0KowmC2HiXhmIFUktofqlRg1GA,7446
|
45
|
-
debian/moat-kv/usr/lib/python3/dist-packages/docs/source/conf.py,sha256=v4cO_xK-WpfHeOCQ4RaeHFk8vwBM7Gg3sw6DgGLmpCc,6072
|
46
|
-
debian/moat-kv/usr/lib/python3/dist-packages/examples/pathify.py,sha256=cq2j7Nqhl3jmoNZ6l8wMj4j7DkHMxyB7-oTOrCZA0xQ,1128
|
47
|
-
debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/__init__.py,sha256=TO2TyH5Focv78vDDqtiN1vZVLsVihrOqvHBAlLIgVRA,508
|
48
|
-
debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/_cfg.yaml,sha256=fYMbr4A3-WuXxhqwJIY3AL_t2L_kKrlgJWU2bHry7t8,2249
|
49
|
-
debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/_main.py,sha256=SgI4ef8AQDOC4N4pLRiyaiSiFIzN-J337WIcuC7DPOY,2234
|
50
|
-
debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/client.py,sha256=c8YV0sjpO2XYpNE-fep7fDO2kgsNdShZxgCjohy23CY,34549
|
51
|
-
debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/code.py,sha256=gM7WNsjCfukr7h2fKm1U3zMHN5Wj-_hgy5U817LP9qE,6427
|
52
|
-
debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/codec.py,sha256=1AUNYxCOUJSZfZlny-asNZ0gmz0eaPmQKjr3biNDhWM,284
|
53
|
-
debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/config.py,sha256=cWJ1m8PRwzzapsin1XSDjRtYJCgNN6g7gA9q48luDV8,1093
|
54
|
-
debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/data.py,sha256=oiSGHnrrmJOkxC71bQj1ZsmBsVpE_vPT83IqRuHaNls,5992
|
55
|
-
debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/errors.py,sha256=wmi2OVsO4IeedScGTTFWvECkHLHMRiukoWXLpjI4-Us,16742
|
56
|
-
debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/exceptions.py,sha256=4gRsYa6kuBy1qFYiBUYElup_cvOe7QgPQtryHAYphzo,1849
|
57
|
-
debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/model.py,sha256=il8TjxrvL3EJKTZ88IDx2pJXcaKbXUSwsOIV4lXsW9Q,33390
|
58
|
-
debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/runner.py,sha256=eDXsNFWKidx5HLmP2MGpgRdeTeoL7dCSXLA_BKy55uE,41889
|
59
|
-
debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/server.py,sha256=O-yJiJYT5sQPeku9iTRo-SXqkHBq7OhKpHSA5IbKtvM,94918
|
60
|
-
debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/types.py,sha256=6klFuDHtbhRxrpLOYn1tnDndoRwE0nrolz3tFKOWtd8,14056
|
61
|
-
debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/actor/__init__.py,sha256=EdDaj0xXvL9QIecooWg3AfPyCHjdCCtKzXmtPRA7pkE,2134
|
62
|
-
debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/actor/deletor.py,sha256=v33XsCaemmaxZHRZP6JWap1yV9k7WkK6smPB-mwHyZA,4481
|
63
|
-
debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/auth/__init__.py,sha256=xd-nO76LTGeo7ppCqqv2aOc6nhzzyyRXmYKT4x3_I88,12490
|
64
|
-
debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/auth/_test.py,sha256=ZaMpMf2CTJ6sdGyENUhdWAY5TLC-kBtszM3dFQbyuWA,4342
|
65
|
-
debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/auth/password.py,sha256=DQG2BnNEoQ0H-znkHJx0G9-bcdWwg3IgqojcAHhKIsQ,6307
|
66
|
-
debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/auth/root.py,sha256=lW-_hgQp3ZIzAAe4iBl0rdMU-pFuHIC6ObA3rdFXxkk,1303
|
67
|
-
debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/backend/__init__.py,sha256=f5nIOWD2zml2YiaBNXtEOzC7SEGgwDFJMB8YzRISJ0A,1689
|
68
|
-
debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/backend/mqtt.py,sha256=0pRGXZmTuVl5cNwzo5ypc_84Zuzyu0aEtRGTbK8gjYk,2095
|
69
|
-
debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/backend/serf.py,sha256=i4u7V6h8SPO3XmP76DiARnFLC4M67xnQEX5-9SgbwtU,1295
|
70
|
-
debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/command/__init__.py,sha256=9_8wL9Scv8_Cs8HJyJHGvx1vwXErsuvlsAqNZLcJQR0,8
|
71
|
-
debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/command/acl.py,sha256=wSdlzKBjWIFX3IxCdLcG3ZqjvtX8KPtqe38ibyU2VDo,4665
|
72
|
-
debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/command/auth.py,sha256=vP22ZIBMjRdUxN4_ELKiDgIE5ZqdMxs1ky1WDVUx50M,7149
|
73
|
-
debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/command/code.py,sha256=ycGBoKBB0Gse3Tt9h9WvgiIZVe3Yg-x92RRjfCCCXVQ,8066
|
74
|
-
debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/command/codec.py,sha256=8GqOl-oxWFM2D1Fm9Iheot2AmS_SsOYfqfbbde3qvQY,6028
|
75
|
-
debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/command/data.py,sha256=ntT6CQkmXtyFMgJNm9WMn23kVP5MR73q53w2WASsoOg,8396
|
76
|
-
debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/command/error.py,sha256=XqHmVJgBGjr6XOozi23wEjiTqPopD1CzkIeR1a3Z_vY,4350
|
77
|
-
debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/command/internal.py,sha256=wjEHTltUXIMEiXriyd5DuTDlaI_2W2uaJIi-dNLT_OA,7397
|
78
|
-
debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/command/job.py,sha256=C2qH7ghQcPL5vj-Pg0YZ2i2Rvg5kpzH58EqBTCaK1Tw,13614
|
79
|
-
debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/command/log.py,sha256=ycdtMgiBw2DaCu0yu6tpWKPLlQ33ZZemXsfwZrCzRGg,1350
|
80
|
-
debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/command/server.py,sha256=Hl_6FFq322c5KjJCKxH1nCrxo-h0VEwH4IOMbVeUBN4,3392
|
81
|
-
debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/command/type.py,sha256=JN0_Abb5wR4UJH5zHnVZgT93NJRYY6qpRD_ZQT13u4k,6226
|
82
|
-
debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/command/dump/__init__.py,sha256=L05R6W9eDzUDAr7UhfEo1lZR-UB0qYUUf-5dRHC-p-0,4000
|
83
|
-
debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/mock/__init__.py,sha256=HW6YAwo_OBVRmTeRCc-ZoUHB7-D78cEONlcb5vACdIE,2760
|
84
|
-
debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/mock/mqtt.py,sha256=b9pzbwQBmTX2eSiSgNO7nh2-7l8-0TT8n2GxinQ-1l0,5213
|
85
|
-
debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/mock/serf.py,sha256=cuNT3jEXg3eq7Gs2R6734_gdWeyzZryZoT78MtemDH4,7611
|
86
|
-
debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/mock/tracer.py,sha256=qLEIn9gdlYUypyRYD8O8SbM8ye8XR4xtBl3otP6uNLs,2058
|
87
|
-
debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/obj/__init__.py,sha256=yeiZ6bWM8XhK28ruqX7RmpPhytYXlOJPRw_hsWbvExk,19800
|
88
|
-
debian/moat-kv/usr/lib/python3/dist-packages/moat/kv/obj/command.py,sha256=QQiOhPtlGV07kuutV0KowmC2HiXhmIFUktofqlRg1GA,7446
|
89
|
-
docs/source/conf.py,sha256=v4cO_xK-WpfHeOCQ4RaeHFk8vwBM7Gg3sw6DgGLmpCc,6072
|
90
|
-
examples/pathify.py,sha256=cq2j7Nqhl3jmoNZ6l8wMj4j7DkHMxyB7-oTOrCZA0xQ,1128
|
91
|
-
moat/kv/__init__.py,sha256=TO2TyH5Focv78vDDqtiN1vZVLsVihrOqvHBAlLIgVRA,508
|
92
|
-
moat/kv/_cfg.yaml,sha256=fYMbr4A3-WuXxhqwJIY3AL_t2L_kKrlgJWU2bHry7t8,2249
|
93
|
-
moat/kv/_main.py,sha256=SgI4ef8AQDOC4N4pLRiyaiSiFIzN-J337WIcuC7DPOY,2234
|
94
|
-
moat/kv/client.py,sha256=c8YV0sjpO2XYpNE-fep7fDO2kgsNdShZxgCjohy23CY,34549
|
95
|
-
moat/kv/code.py,sha256=gM7WNsjCfukr7h2fKm1U3zMHN5Wj-_hgy5U817LP9qE,6427
|
96
|
-
moat/kv/codec.py,sha256=1AUNYxCOUJSZfZlny-asNZ0gmz0eaPmQKjr3biNDhWM,284
|
97
|
-
moat/kv/config.py,sha256=cWJ1m8PRwzzapsin1XSDjRtYJCgNN6g7gA9q48luDV8,1093
|
98
|
-
moat/kv/data.py,sha256=oiSGHnrrmJOkxC71bQj1ZsmBsVpE_vPT83IqRuHaNls,5992
|
99
|
-
moat/kv/errors.py,sha256=wmi2OVsO4IeedScGTTFWvECkHLHMRiukoWXLpjI4-Us,16742
|
100
|
-
moat/kv/exceptions.py,sha256=4gRsYa6kuBy1qFYiBUYElup_cvOe7QgPQtryHAYphzo,1849
|
101
|
-
moat/kv/model.py,sha256=il8TjxrvL3EJKTZ88IDx2pJXcaKbXUSwsOIV4lXsW9Q,33390
|
102
|
-
moat/kv/runner.py,sha256=eDXsNFWKidx5HLmP2MGpgRdeTeoL7dCSXLA_BKy55uE,41889
|
103
|
-
moat/kv/server.py,sha256=O-yJiJYT5sQPeku9iTRo-SXqkHBq7OhKpHSA5IbKtvM,94918
|
104
|
-
moat/kv/types.py,sha256=6klFuDHtbhRxrpLOYn1tnDndoRwE0nrolz3tFKOWtd8,14056
|
105
|
-
moat/kv/actor/__init__.py,sha256=EdDaj0xXvL9QIecooWg3AfPyCHjdCCtKzXmtPRA7pkE,2134
|
106
|
-
moat/kv/actor/deletor.py,sha256=v33XsCaemmaxZHRZP6JWap1yV9k7WkK6smPB-mwHyZA,4481
|
107
|
-
moat/kv/auth/__init__.py,sha256=xd-nO76LTGeo7ppCqqv2aOc6nhzzyyRXmYKT4x3_I88,12490
|
108
|
-
moat/kv/auth/_test.py,sha256=ZaMpMf2CTJ6sdGyENUhdWAY5TLC-kBtszM3dFQbyuWA,4342
|
109
|
-
moat/kv/auth/password.py,sha256=DQG2BnNEoQ0H-znkHJx0G9-bcdWwg3IgqojcAHhKIsQ,6307
|
110
|
-
moat/kv/auth/root.py,sha256=lW-_hgQp3ZIzAAe4iBl0rdMU-pFuHIC6ObA3rdFXxkk,1303
|
111
|
-
moat/kv/backend/__init__.py,sha256=f5nIOWD2zml2YiaBNXtEOzC7SEGgwDFJMB8YzRISJ0A,1689
|
112
|
-
moat/kv/backend/mqtt.py,sha256=0pRGXZmTuVl5cNwzo5ypc_84Zuzyu0aEtRGTbK8gjYk,2095
|
113
|
-
moat/kv/backend/serf.py,sha256=i4u7V6h8SPO3XmP76DiARnFLC4M67xnQEX5-9SgbwtU,1295
|
114
|
-
moat/kv/command/__init__.py,sha256=9_8wL9Scv8_Cs8HJyJHGvx1vwXErsuvlsAqNZLcJQR0,8
|
115
|
-
moat/kv/command/acl.py,sha256=wSdlzKBjWIFX3IxCdLcG3ZqjvtX8KPtqe38ibyU2VDo,4665
|
116
|
-
moat/kv/command/auth.py,sha256=vP22ZIBMjRdUxN4_ELKiDgIE5ZqdMxs1ky1WDVUx50M,7149
|
117
|
-
moat/kv/command/code.py,sha256=ycGBoKBB0Gse3Tt9h9WvgiIZVe3Yg-x92RRjfCCCXVQ,8066
|
118
|
-
moat/kv/command/codec.py,sha256=8GqOl-oxWFM2D1Fm9Iheot2AmS_SsOYfqfbbde3qvQY,6028
|
119
|
-
moat/kv/command/data.py,sha256=ntT6CQkmXtyFMgJNm9WMn23kVP5MR73q53w2WASsoOg,8396
|
120
|
-
moat/kv/command/error.py,sha256=XqHmVJgBGjr6XOozi23wEjiTqPopD1CzkIeR1a3Z_vY,4350
|
121
|
-
moat/kv/command/internal.py,sha256=wjEHTltUXIMEiXriyd5DuTDlaI_2W2uaJIi-dNLT_OA,7397
|
122
|
-
moat/kv/command/job.py,sha256=C2qH7ghQcPL5vj-Pg0YZ2i2Rvg5kpzH58EqBTCaK1Tw,13614
|
123
|
-
moat/kv/command/log.py,sha256=ycdtMgiBw2DaCu0yu6tpWKPLlQ33ZZemXsfwZrCzRGg,1350
|
124
|
-
moat/kv/command/server.py,sha256=Hl_6FFq322c5KjJCKxH1nCrxo-h0VEwH4IOMbVeUBN4,3392
|
125
|
-
moat/kv/command/type.py,sha256=JN0_Abb5wR4UJH5zHnVZgT93NJRYY6qpRD_ZQT13u4k,6226
|
126
|
-
moat/kv/command/dump/__init__.py,sha256=L05R6W9eDzUDAr7UhfEo1lZR-UB0qYUUf-5dRHC-p-0,4000
|
127
|
-
moat/kv/mock/__init__.py,sha256=HW6YAwo_OBVRmTeRCc-ZoUHB7-D78cEONlcb5vACdIE,2760
|
128
|
-
moat/kv/mock/mqtt.py,sha256=b9pzbwQBmTX2eSiSgNO7nh2-7l8-0TT8n2GxinQ-1l0,5213
|
129
|
-
moat/kv/mock/serf.py,sha256=cuNT3jEXg3eq7Gs2R6734_gdWeyzZryZoT78MtemDH4,7611
|
130
|
-
moat/kv/mock/tracer.py,sha256=qLEIn9gdlYUypyRYD8O8SbM8ye8XR4xtBl3otP6uNLs,2058
|
131
|
-
moat/kv/obj/__init__.py,sha256=yeiZ6bWM8XhK28ruqX7RmpPhytYXlOJPRw_hsWbvExk,19800
|
132
|
-
moat/kv/obj/command.py,sha256=QQiOhPtlGV07kuutV0KowmC2HiXhmIFUktofqlRg1GA,7446
|
133
|
-
moat_kv-0.70.24.dist-info/licenses/LICENSE.txt,sha256=L5vKJLVOg5t0CEEPpW9-O_0vzbP0PEjEF06tLvnIDuk,541
|
134
|
-
moat_kv-0.70.24.dist-info/METADATA,sha256=fvQT4BFn3YX4hgGBlXxeNwglvnfWcu8vnxaEopeuHS8,3370
|
135
|
-
moat_kv-0.70.24.dist-info/WHEEL,sha256=xcaH6rP_nCxh1LBIPM7Q0uOnzSGjsIye-Q44j_zbzw8,104
|
136
|
-
moat_kv-0.70.24.dist-info/top_level.txt,sha256=LyFVSz3-SU-7B8r2qZ3ODVF_QvXqE08qepkD1rfQLk4,56
|
137
|
-
moat_kv-0.70.24.dist-info/RECORD,,
|
File without changes
|