zlmdb 25.10.1__cp313-cp313-manylinux_2_34_x86_64.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 zlmdb might be problematic. Click here for more details.

Files changed (87) hide show
  1. flatbuffers/__init__.py +19 -0
  2. flatbuffers/_version.py +17 -0
  3. flatbuffers/builder.py +776 -0
  4. flatbuffers/compat.py +86 -0
  5. flatbuffers/encode.py +42 -0
  6. flatbuffers/flexbuffers.py +1527 -0
  7. flatbuffers/number_types.py +181 -0
  8. flatbuffers/packer.py +42 -0
  9. flatbuffers/reflection/AdvancedFeatures.py +10 -0
  10. flatbuffers/reflection/BaseType.py +24 -0
  11. flatbuffers/reflection/Enum.py +169 -0
  12. flatbuffers/reflection/EnumVal.py +96 -0
  13. flatbuffers/reflection/Field.py +208 -0
  14. flatbuffers/reflection/KeyValue.py +56 -0
  15. flatbuffers/reflection/Object.py +175 -0
  16. flatbuffers/reflection/RPCCall.py +131 -0
  17. flatbuffers/reflection/Schema.py +206 -0
  18. flatbuffers/reflection/SchemaFile.py +77 -0
  19. flatbuffers/reflection/Service.py +145 -0
  20. flatbuffers/reflection/Type.py +98 -0
  21. flatbuffers/reflection/__init__.py +0 -0
  22. flatbuffers/table.py +129 -0
  23. flatbuffers/util.py +43 -0
  24. zlmdb/__init__.py +312 -0
  25. zlmdb/_database.py +990 -0
  26. zlmdb/_errors.py +31 -0
  27. zlmdb/_meta.py +27 -0
  28. zlmdb/_pmap.py +1667 -0
  29. zlmdb/_schema.py +137 -0
  30. zlmdb/_transaction.py +181 -0
  31. zlmdb/_types.py +1596 -0
  32. zlmdb/_version.py +27 -0
  33. zlmdb/cli.py +41 -0
  34. zlmdb/flatbuffers/__init__.py +5 -0
  35. zlmdb/flatbuffers/reflection/AdvancedFeatures.py +10 -0
  36. zlmdb/flatbuffers/reflection/BaseType.py +25 -0
  37. zlmdb/flatbuffers/reflection/Enum.py +252 -0
  38. zlmdb/flatbuffers/reflection/EnumVal.py +144 -0
  39. zlmdb/flatbuffers/reflection/Field.py +325 -0
  40. zlmdb/flatbuffers/reflection/KeyValue.py +84 -0
  41. zlmdb/flatbuffers/reflection/Object.py +260 -0
  42. zlmdb/flatbuffers/reflection/RPCCall.py +195 -0
  43. zlmdb/flatbuffers/reflection/Schema.py +301 -0
  44. zlmdb/flatbuffers/reflection/SchemaFile.py +112 -0
  45. zlmdb/flatbuffers/reflection/Service.py +213 -0
  46. zlmdb/flatbuffers/reflection/Type.py +148 -0
  47. zlmdb/flatbuffers/reflection/__init__.py +0 -0
  48. zlmdb/flatbuffers/reflection.fbs +152 -0
  49. zlmdb/lmdb/__init__.py +37 -0
  50. zlmdb/lmdb/__main__.py +25 -0
  51. zlmdb/lmdb/_config.py +10 -0
  52. zlmdb/lmdb/_lmdb_cffi.cpython-313-x86_64-linux-gnu.so +0 -0
  53. zlmdb/lmdb/cffi.py +2606 -0
  54. zlmdb/lmdb/tool.py +670 -0
  55. zlmdb/tests/lmdb/__init__.py +0 -0
  56. zlmdb/tests/lmdb/address_book.py +287 -0
  57. zlmdb/tests/lmdb/crash_test.py +339 -0
  58. zlmdb/tests/lmdb/cursor_test.py +333 -0
  59. zlmdb/tests/lmdb/env_test.py +919 -0
  60. zlmdb/tests/lmdb/getmulti_test.py +92 -0
  61. zlmdb/tests/lmdb/iteration_test.py +258 -0
  62. zlmdb/tests/lmdb/package_test.py +70 -0
  63. zlmdb/tests/lmdb/test_lmdb.py +188 -0
  64. zlmdb/tests/lmdb/testlib.py +185 -0
  65. zlmdb/tests/lmdb/tool_test.py +60 -0
  66. zlmdb/tests/lmdb/txn_test.py +575 -0
  67. zlmdb/tests/orm/MNodeLog.py +853 -0
  68. zlmdb/tests/orm/__init__.py +0 -0
  69. zlmdb/tests/orm/_schema_fbs.py +215 -0
  70. zlmdb/tests/orm/_schema_mnode_log.py +1201 -0
  71. zlmdb/tests/orm/_schema_py2.py +250 -0
  72. zlmdb/tests/orm/_schema_py3.py +307 -0
  73. zlmdb/tests/orm/_test_flatbuffers.py +144 -0
  74. zlmdb/tests/orm/_test_serialization.py +144 -0
  75. zlmdb/tests/orm/test_basic.py +217 -0
  76. zlmdb/tests/orm/test_etcd.py +275 -0
  77. zlmdb/tests/orm/test_pmap_indexes.py +466 -0
  78. zlmdb/tests/orm/test_pmap_types.py +90 -0
  79. zlmdb/tests/orm/test_pmaps.py +295 -0
  80. zlmdb/tests/orm/test_select.py +619 -0
  81. zlmdb-25.10.1.dist-info/METADATA +264 -0
  82. zlmdb-25.10.1.dist-info/RECORD +87 -0
  83. zlmdb-25.10.1.dist-info/WHEEL +5 -0
  84. zlmdb-25.10.1.dist-info/entry_points.txt +2 -0
  85. zlmdb-25.10.1.dist-info/licenses/LICENSE +137 -0
  86. zlmdb-25.10.1.dist-info/licenses/NOTICE +41 -0
  87. zlmdb-25.10.1.dist-info/top_level.txt +2 -0
File without changes
@@ -0,0 +1,215 @@
1
+ ###############################################################################
2
+ #
3
+ # The MIT License (MIT)
4
+ #
5
+ # Copyright (c) typedef int GmbH
6
+ #
7
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
8
+ # of this software and associated documentation files (the "Software"), to deal
9
+ # in the Software without restriction, including without limitation the rights
10
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11
+ # copies of the Software, and to permit persons to whom the Software is
12
+ # furnished to do so, subject to the following conditions:
13
+ #
14
+ # The above copyright notice and this permission notice shall be included in
15
+ # all copies or substantial portions of the Software.
16
+ #
17
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
23
+ # THE SOFTWARE.
24
+ #
25
+ ###############################################################################
26
+
27
+ import random
28
+ import uuid
29
+ import datetime
30
+
31
+ from zlmdb.flatbuffers.demo import User as _user
32
+ from zlmdb.flatbuffers.demo import Date as _date
33
+
34
+
35
+ class User(object):
36
+ def __init__(self, from_fbs=None):
37
+ self._from_fbs = from_fbs
38
+
39
+ self._name = None
40
+ self._authid = None
41
+ self._uuid = None
42
+ self._email = None
43
+ self._birthday = None
44
+ self._is_friendly = None
45
+ self._tags = None
46
+ self._ratings = None
47
+ self._ratings_cached = None
48
+ self._friends = None
49
+ self._friends_cached = None
50
+ self._referred_by = None
51
+
52
+ @property
53
+ def name(self):
54
+ return self._name or self._from_fbs.Name()
55
+
56
+ @name.setter
57
+ def name(self, value):
58
+ self._name = value
59
+
60
+ @property
61
+ def authid(self):
62
+ return self._authid or self._from_fbs.Authid()
63
+
64
+ @authid.setter
65
+ def authid(self, value):
66
+ self._authid = value
67
+
68
+ @property
69
+ def uuid(self):
70
+ return self._uuid or self._from_fbs.Uuid()
71
+
72
+ @uuid.setter
73
+ def uuid(self, value):
74
+ self._uuid = value
75
+
76
+ @property
77
+ def email(self):
78
+ return self._email or self._from_fbs.Email()
79
+
80
+ @email.setter
81
+ def email(self, value):
82
+ self._email = value
83
+
84
+ @property
85
+ def birthday(self):
86
+ return self._birthday or self._from_fbs.Birthday()
87
+
88
+ @birthday.setter
89
+ def birthday(self, value):
90
+ self._birthday = value
91
+
92
+ @property
93
+ def is_friendly(self):
94
+ return self._is_friendly or self._from_fbs.IsFriendly()
95
+
96
+ @is_friendly.setter
97
+ def is_friendly(self, value):
98
+ self._is_friendly = value
99
+
100
+ @property
101
+ def ratings(self):
102
+ if self._ratings is not None:
103
+ return self._ratings
104
+ if self._ratings_cached is None:
105
+ self._ratings_cached = {}
106
+ if self._from_fbs:
107
+ for i in range(self._from_fbs.RatingsLength()):
108
+ rat = self._from_fbs.Ratings(i)
109
+ self._ratings_cached[rat.Name()] = rat.Rating()
110
+ return self._ratings_cached
111
+
112
+ @ratings.setter
113
+ def ratings(self, value):
114
+ self._ratings = value
115
+
116
+ @property
117
+ def friends(self):
118
+ if self._friends is not None:
119
+ return self._friends
120
+ if self._friends_cached is None:
121
+ self._friends_cached = []
122
+ if self._from_fbs:
123
+ for i in range(self._from_fbs.FriendsLength()):
124
+ friend_oid = self._from_fbs.Friends(i)
125
+ self._friends_cached.append(friend_oid)
126
+ return self._friends_cached
127
+
128
+ @friends.setter
129
+ def friends(self, value):
130
+ self._friends = value
131
+
132
+ @property
133
+ def referred_by(self):
134
+ return self._referred_by or self._from_fbs.ReferredBy()
135
+
136
+ @referred_by.setter
137
+ def referred_by(self, value):
138
+ self._referred_by = value
139
+
140
+ def build(self, builder):
141
+ if self._name is not None:
142
+ name = builder.CreateString(self._name)
143
+ else:
144
+ name = builder.CreateString(self._from_fbs.Name())
145
+
146
+ if self._authid is not None:
147
+ authid = builder.CreateString(self._authid)
148
+ else:
149
+ authid = builder.CreateString(self._from_fbs.Authid())
150
+
151
+ if self._email is not None:
152
+ email = builder.CreateString(self._email)
153
+ else:
154
+ email = builder.CreateString(self._from_fbs.Email())
155
+
156
+ _user.UserStart(builder)
157
+ _user.UserAddName(builder, name)
158
+ _user.UserAddAuthid(builder, authid)
159
+ _user.UserAddEmail(builder, email)
160
+
161
+ if self._birthday is not None:
162
+ _user.UserAddBirthday(
163
+ builder,
164
+ _date.CreateDate(
165
+ builder,
166
+ self._birthday.year,
167
+ self._birthday.month,
168
+ self._birthday.day,
169
+ ),
170
+ )
171
+ else:
172
+ bd = self._from_fbs.Birthday()
173
+ _user.UserAddBirthday(
174
+ builder, _date.CreateDate(builder, bd.Year(), bd.Month(), bd.Day())
175
+ )
176
+
177
+ # FIXME: tags
178
+ # FIXME: ratings
179
+ # FIXME: friends
180
+
181
+ if self._is_friendly is not None:
182
+ _user.UserAddIsFriendly(builder, self._is_friendly)
183
+ else:
184
+ _user.UserAddIsFriendly(builder, self._from_fbs.IsFriendly())
185
+
186
+ if self._referred_by is not None:
187
+ _user.UserAddReferredBy(builder, self._referred_by)
188
+ else:
189
+ _user.UserAddReferredBy(builder, self._from_fbs.ReferredBy())
190
+
191
+ return _user.UserEnd(builder)
192
+
193
+ @staticmethod
194
+ def cast(buf):
195
+ return User(_user.User.GetRootAsUser(buf, 0))
196
+
197
+ @staticmethod
198
+ def create_test_user(oid=None):
199
+ user = User()
200
+ if oid is not None:
201
+ user.oid = oid
202
+ else:
203
+ user.oid = random.randint(0, 9007199254740992)
204
+ user.name = "Test {}".format(user.oid)
205
+ user.authid = "test-{}".format(user.oid)
206
+ user.uuid = uuid.uuid4()
207
+ user.email = "{}@example.com".format(user.authid)
208
+ user.birthday = datetime.date(1950, 12, 24)
209
+ user.is_friendly = True
210
+ user.tags = ["geek", "sudoko", "yellow"]
211
+ for j in range(10):
212
+ user.ratings["test-rating-{}".format(j)] = random.random()
213
+ user.friends = [random.randint(0, 9007199254740992) for _ in range(10)]
214
+ user.referred_by = random.randint(0, 9007199254740992)
215
+ return user