zlmdb 25.12.3__cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.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 (78) hide show
  1. zlmdb/__init__.py +416 -0
  2. zlmdb/_database.py +990 -0
  3. zlmdb/_errors.py +31 -0
  4. zlmdb/_flatc/__init__.py +112 -0
  5. zlmdb/_flatc/bin/flatc +0 -0
  6. zlmdb/_lmdb_vendor/__init__.py +37 -0
  7. zlmdb/_lmdb_vendor/__main__.py +25 -0
  8. zlmdb/_lmdb_vendor/_config.py +10 -0
  9. zlmdb/_lmdb_vendor/_lmdb_cffi.cpython-312-aarch64-linux-gnu.so +0 -0
  10. zlmdb/_lmdb_vendor/cffi.py +2606 -0
  11. zlmdb/_lmdb_vendor/tool.py +670 -0
  12. zlmdb/_meta.py +27 -0
  13. zlmdb/_pmap.py +1667 -0
  14. zlmdb/_schema.py +137 -0
  15. zlmdb/_transaction.py +181 -0
  16. zlmdb/_types.py +1596 -0
  17. zlmdb/_version.py +27 -0
  18. zlmdb/cli.py +41 -0
  19. zlmdb/flatbuffers/__init__.py +60 -0
  20. zlmdb/flatbuffers/_git_version.py +24 -0
  21. zlmdb/flatbuffers/_version.py +17 -0
  22. zlmdb/flatbuffers/builder.py +824 -0
  23. zlmdb/flatbuffers/compat.py +89 -0
  24. zlmdb/flatbuffers/encode.py +43 -0
  25. zlmdb/flatbuffers/flexbuffers.py +1570 -0
  26. zlmdb/flatbuffers/number_types.py +182 -0
  27. zlmdb/flatbuffers/packer.py +42 -0
  28. zlmdb/flatbuffers/reflection/AdvancedFeatures.py +10 -0
  29. zlmdb/flatbuffers/reflection/BaseType.py +25 -0
  30. zlmdb/flatbuffers/reflection/Enum.py +252 -0
  31. zlmdb/flatbuffers/reflection/EnumVal.py +144 -0
  32. zlmdb/flatbuffers/reflection/Field.py +325 -0
  33. zlmdb/flatbuffers/reflection/KeyValue.py +84 -0
  34. zlmdb/flatbuffers/reflection/Object.py +260 -0
  35. zlmdb/flatbuffers/reflection/RPCCall.py +195 -0
  36. zlmdb/flatbuffers/reflection/Schema.py +301 -0
  37. zlmdb/flatbuffers/reflection/SchemaFile.py +112 -0
  38. zlmdb/flatbuffers/reflection/Service.py +213 -0
  39. zlmdb/flatbuffers/reflection/Type.py +148 -0
  40. zlmdb/flatbuffers/reflection/__init__.py +0 -0
  41. zlmdb/flatbuffers/reflection.bfbs +0 -0
  42. zlmdb/flatbuffers/reflection.fbs +156 -0
  43. zlmdb/flatbuffers/table.py +129 -0
  44. zlmdb/flatbuffers/util.py +47 -0
  45. zlmdb/py.typed +0 -0
  46. zlmdb/tests/conftest.py +9 -0
  47. zlmdb/tests/lmdb/__init__.py +0 -0
  48. zlmdb/tests/lmdb/address_book.py +287 -0
  49. zlmdb/tests/lmdb/crash_test.py +339 -0
  50. zlmdb/tests/lmdb/cursor_test.py +333 -0
  51. zlmdb/tests/lmdb/env_test.py +919 -0
  52. zlmdb/tests/lmdb/getmulti_test.py +92 -0
  53. zlmdb/tests/lmdb/iteration_test.py +258 -0
  54. zlmdb/tests/lmdb/package_test.py +70 -0
  55. zlmdb/tests/lmdb/test_lmdb.py +188 -0
  56. zlmdb/tests/lmdb/testlib.py +185 -0
  57. zlmdb/tests/lmdb/tool_test.py +60 -0
  58. zlmdb/tests/lmdb/txn_test.py +575 -0
  59. zlmdb/tests/orm/MNodeLog.py +853 -0
  60. zlmdb/tests/orm/__init__.py +0 -0
  61. zlmdb/tests/orm/_schema_fbs.py +215 -0
  62. zlmdb/tests/orm/_schema_mnode_log.py +1202 -0
  63. zlmdb/tests/orm/_schema_py2.py +250 -0
  64. zlmdb/tests/orm/_schema_py3.py +307 -0
  65. zlmdb/tests/orm/_test_flatbuffers.py +144 -0
  66. zlmdb/tests/orm/_test_serialization.py +144 -0
  67. zlmdb/tests/orm/test_basic.py +217 -0
  68. zlmdb/tests/orm/test_etcd.py +275 -0
  69. zlmdb/tests/orm/test_pmap_indexes.py +466 -0
  70. zlmdb/tests/orm/test_pmap_types.py +90 -0
  71. zlmdb/tests/orm/test_pmaps.py +295 -0
  72. zlmdb/tests/orm/test_select.py +619 -0
  73. zlmdb-25.12.3.dist-info/METADATA +277 -0
  74. zlmdb-25.12.3.dist-info/RECORD +78 -0
  75. zlmdb-25.12.3.dist-info/WHEEL +6 -0
  76. zlmdb-25.12.3.dist-info/entry_points.txt +3 -0
  77. zlmdb-25.12.3.dist-info/licenses/LICENSE +167 -0
  78. zlmdb-25.12.3.dist-info/licenses/NOTICE +41 -0
@@ -0,0 +1,277 @@
1
+ Metadata-Version: 2.4
2
+ Name: zlmdb
3
+ Version: 25.12.3
4
+ Summary: Object-relational zero-copy in-memory database layer for LMDB
5
+ Project-URL: Homepage, https://github.com/crossbario/zlmdb
6
+ Project-URL: Documentation, https://zlmdb.readthedocs.io
7
+ Project-URL: Repository, https://github.com/crossbario/zlmdb
8
+ Project-URL: Changelog, https://github.com/crossbario/zlmdb/blob/master/docs/changelog.rst
9
+ Author-email: typedef int GmbH <contact@typedefint.eu>
10
+ License-Expression: MIT
11
+ License-File: LICENSE
12
+ License-File: NOTICE
13
+ Keywords: cbor,crossbar,database,embedded,flatbuffers,key-value,lmdb,wamp,zero-copy,zlmdb
14
+ Classifier: Development Status :: 5 - Production/Stable
15
+ Classifier: Intended Audience :: Developers
16
+ Classifier: Natural Language :: English
17
+ Classifier: Operating System :: OS Independent
18
+ Classifier: Programming Language :: Python
19
+ Classifier: Programming Language :: Python :: 3
20
+ Classifier: Programming Language :: Python :: 3.11
21
+ Classifier: Programming Language :: Python :: 3.12
22
+ Classifier: Programming Language :: Python :: 3.13
23
+ Classifier: Programming Language :: Python :: 3.14
24
+ Classifier: Programming Language :: Python :: Implementation :: CPython
25
+ Classifier: Programming Language :: Python :: Implementation :: PyPy
26
+ Classifier: Topic :: Database
27
+ Classifier: Topic :: Database :: Database Engines/Servers
28
+ Classifier: Topic :: Software Development :: Libraries
29
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
30
+ Requires-Python: >=3.11
31
+ Requires-Dist: cbor2>=5.4.6
32
+ Requires-Dist: cffi>=1.15.1
33
+ Requires-Dist: click>=8.1.3
34
+ Requires-Dist: numpy>=1.24.1
35
+ Requires-Dist: pynacl>=1.5.0
36
+ Requires-Dist: pyyaml>=6.0
37
+ Requires-Dist: setuptools>=40.8.0
38
+ Requires-Dist: txaio>=25.12.2
39
+ Provides-Extra: dev
40
+ Requires-Dist: auditwheel>=5.0.0; extra == 'dev'
41
+ Requires-Dist: build>=1.0.0; extra == 'dev'
42
+ Requires-Dist: coverage>=5.0.0; extra == 'dev'
43
+ Requires-Dist: pyenchant>=3.0.0; extra == 'dev'
44
+ Requires-Dist: pytest-runner>=2.11.1; extra == 'dev'
45
+ Requires-Dist: pytest>=3.4.2; extra == 'dev'
46
+ Requires-Dist: ruff>=0.1.0; extra == 'dev'
47
+ Requires-Dist: scour>=0.38; extra == 'dev'
48
+ Requires-Dist: sphinx-autoapi>=2.0.0; extra == 'dev'
49
+ Requires-Dist: sphinx-rtd-theme>=0.1.9; extra == 'dev'
50
+ Requires-Dist: sphinx>=1.7.1; extra == 'dev'
51
+ Requires-Dist: sphinxcontrib-images>=0.9.0; extra == 'dev'
52
+ Requires-Dist: sphinxcontrib-spelling>=7.0.0; extra == 'dev'
53
+ Requires-Dist: twine>=3.3.0; extra == 'dev'
54
+ Requires-Dist: twisted>=20.3.0; extra == 'dev'
55
+ Requires-Dist: wheel>=0.36.2; extra == 'dev'
56
+ Provides-Extra: docs
57
+ Requires-Dist: furo>=2024.7.0; extra == 'docs'
58
+ Requires-Dist: linkify-it-py>=2.0.0; extra == 'docs'
59
+ Requires-Dist: myst-parser>=2.0; extra == 'docs'
60
+ Requires-Dist: pyenchant>=3.2; extra == 'docs'
61
+ Requires-Dist: scour>=0.38; extra == 'docs'
62
+ Requires-Dist: sphinx-autoapi>=2.1.0; extra == 'docs'
63
+ Requires-Dist: sphinx-copybutton>=0.5; extra == 'docs'
64
+ Requires-Dist: sphinx-design>=0.5; extra == 'docs'
65
+ Requires-Dist: sphinx>=8.2.3; extra == 'docs'
66
+ Requires-Dist: sphinxcontrib-images>=0.9; extra == 'docs'
67
+ Requires-Dist: sphinxcontrib-spelling>=8.0; extra == 'docs'
68
+ Requires-Dist: sphinxext-opengraph>=0.9; extra == 'docs'
69
+ Description-Content-Type: text/markdown
70
+
71
+ # zLMDB
72
+
73
+ [![PyPI](https://img.shields.io/pypi/v/zlmdb.svg)](https://pypi.python.org/pypi/zlmdb)
74
+ [![Python](https://img.shields.io/pypi/pyversions/zlmdb.svg)](https://pypi.python.org/pypi/zlmdb)
75
+ [![CI](https://github.com/crossbario/zlmdb/workflows/main/badge.svg)](https://github.com/crossbario/zlmdb/actions?query=workflow%3Amain)
76
+ [![CD (wheels)](https://github.com/crossbario/zlmdb/workflows/wheels/badge.svg)](https://github.com/crossbario/zlmdb/actions?query=workflow%3Awheels)
77
+ [![CD (wheels-arm64)](https://github.com/crossbario/zlmdb/workflows/wheels-arm64/badge.svg)](https://github.com/crossbario/zlmdb/actions?query=workflow%3Awheels-arm64)
78
+ [![CD (wheels-docker)](https://github.com/crossbario/zlmdb/workflows/wheels-docker/badge.svg)](https://github.com/crossbario/zlmdb/actions?query=workflow%3Awheels-docker)
79
+ [![Docs](https://readthedocs.org/projects/zlmdb/badge/?version=latest)](https://zlmdb.readthedocs.io/en/latest/)
80
+ [![License](https://img.shields.io/pypi/l/zlmdb.svg)](https://github.com/crossbario/zlmdb/blob/master/LICENSE)
81
+ [![Downloads](https://img.shields.io/pypi/dm/zlmdb.svg)](https://pypi.python.org/pypi/zlmdb)
82
+
83
+ ---
84
+
85
+ zlmdb is a complete LMDB solution for Python providing **two APIs in one
86
+ package**:
87
+
88
+ 1. **Low-level py-lmdb compatible API** - Direct LMDB access with full
89
+ control
90
+ 2. **High-level object-relational API** - Type-safe ORM with automatic
91
+ serialization
92
+
93
+ ## Key Features
94
+
95
+ **Low-level LMDB API (py-lmdb compatible):**
96
+
97
+ - Drop-in replacement for py-lmdb
98
+ - Direct access to LMDB transactions, cursors, and databases
99
+ - Full LMDB feature set (subdatabases, duplicate keys, etc.)
100
+ - Works with all py-lmdb examples and code
101
+
102
+ **High-level Object-Relational API:**
103
+
104
+ - Type-safe persistent objects with automatic serialization
105
+ - Multiple serializers (JSON, CBOR, Pickle, Flatbuffers)
106
+ - Export/import from/to Apache Arrow
107
+ - Native Numpy arrays and Pandas data frames support
108
+ - Automatic indexes and relationships
109
+ - Schema management
110
+
111
+ **Implementation:**
112
+
113
+ - CFFI-only (no CPyExt) for maximum compatibility
114
+ - Works on both CPython and PyPy
115
+ - Native binary wheels for x86-64 and ARM64
116
+ - Vendored LMDB (no external dependencies)
117
+ - High-performance with zero-copy operations
118
+ - Free software (MIT license)
119
+
120
+ ## Usage Examples
121
+
122
+ **Low-level API (py-lmdb compatible):**
123
+
124
+ ``` python
125
+ import zlmdb.lmdb as lmdb
126
+
127
+ # Open database
128
+ env = lmdb.open('/tmp/mydb', max_dbs=10)
129
+ db = env.open_db(b'users')
130
+
131
+ # Write data
132
+ with env.begin(write=True) as txn:
133
+ txn.put(b'alice', b'alice@example.com', db=db)
134
+ txn.put(b'bob', b'bob@example.com', db=db)
135
+
136
+ # Read data
137
+ with env.begin() as txn:
138
+ email = txn.get(b'alice', db=db)
139
+ print(email) # b'alice@example.com'
140
+ ```
141
+
142
+ **High-level API (zlmdb ORM):**
143
+
144
+ ``` python
145
+ import zlmdb
146
+
147
+ # Define schema
148
+ class User(object):
149
+ def __init__(self, oid, name, email):
150
+ self.oid = oid
151
+ self.name = name
152
+ self.email = email
153
+
154
+ schema = zlmdb.Schema()
155
+ schema.users = zlmdb.MapUuidCbor(1, marshal=lambda obj: obj.__dict__)
156
+
157
+ # Use it
158
+ db = zlmdb.Database('/tmp/mydb', schema=schema)
159
+ with db.begin(write=True) as txn:
160
+ user = User(uuid.uuid4(), 'Alice', 'alice@example.com')
161
+ schema.users[txn, user.oid] = user
162
+ ```
163
+
164
+ # Development Workflow
165
+
166
+ This project uses [just](https://github.com/casey/just) as a modern task
167
+ runner and [uv](https://github.com/astral-sh/uv) for fast Python package
168
+ management.
169
+
170
+ ## Complete Recipe List
171
+
172
+ **Virtual Environment Management:**
173
+
174
+ - \[x\] `just create [venv]` - Create Python venv (auto-detects system
175
+ Python if no arg)
176
+ - \[x\] `just create-all` - Create all venvs (cpy314, cpy313, cpy312,
177
+ cpy311, pypy311)
178
+ - \[x\] `just version [venv]` - Show Python version
179
+ - \[x\] `just list-all` - List all available Python runtimes
180
+
181
+ **Installation:**
182
+
183
+ - \[x\] `just install [venv]` - Install zlmdb (runtime deps only)
184
+ - \[x\] `just install-dev [venv]` - Install in editable mode
185
+ - \[x\] `just install-tools [venv]` - Install dev tools (pytest,
186
+ sphinx, etc.)
187
+ - \[x\] `just install-all` - Install in all venvs
188
+
189
+ **Testing - LMDB:** 🧪
190
+
191
+ - \[x\] `just test-examples-lmdb` - Test all LMDB examples (in default
192
+ venv)
193
+ - \[x\] `just test-examples-lmdb-addressbook [venv]` - Test example
194
+ LMDB address book
195
+ - \[x\] `just test-examples-lmdb-dirtybench [venv]` - Test example
196
+ LMDB dirtybench
197
+ - \[x\] `just test-examples-lmdb-dirtybench-gdbm [venv]` - Test
198
+ example LMDB dirtybench-gdbm
199
+ - \[x\] `just test-examples-lmdb-nastybench [venv]` - Test example
200
+ LMDB nastybench
201
+ - \[x\] `just test-examples-lmdb-parabench [venv]` - Test example LMDB
202
+ parabench
203
+
204
+ **Testing - ORM:** 🧪
205
+
206
+ - \[ \] `just test [venv]` - Run full test suite (both test
207
+ directories)
208
+ - \[ \] `just test-quick [venv]` - Quick pytest run
209
+ - \[x\] `just test-single [venv]` - Run test_basic.py
210
+ - \[x\] `just test-pmaps [venv]` - Run pmap tests
211
+ - \[x\] `just test-indexes [venv]` - Run index tests
212
+ - \[x\] `just test-select [venv]` - Run select tests
213
+ - \[ \] `just test-zdb-etcd/df/dyn/fbs [venv]` - Individual zdb tests
214
+ - \[ \] `just test-zdb [venv]` - All zdb tests
215
+ - \[ \] `just test-all` - Test in all venvs
216
+ - \[ \] `just coverage [venv]` - Generate HTML coverage report
217
+
218
+ **Code Quality:** ✨
219
+
220
+ - \[x\] `just autoformat [venv]` - Auto-format code with Ruff
221
+ (modifies files!)
222
+ - \[x\] `just check-format [venv]` - Check formatting with Ruff (dry
223
+ run)
224
+ - \[x\] `just check-typing [venv]` - Run static type checking with
225
+ mypy
226
+
227
+ **Building:** 📦
228
+
229
+ - \[x\] `just build [venv]` - Build wheel
230
+ - \[x\] `just build-sourcedist [venv]` - Build sdist
231
+ - \[x\] `just build-all` - Build wheels for all venvs
232
+ - \[!\] `just dist [venv]` - Build both sdist and wheels
233
+ - \[x\] `just verify-wheels [venv]` - Verify all built wheels.
234
+
235
+ **Publishing:** 🚀
236
+
237
+ - \[ \] `just publish [venv]` - Upload to PyPI with twine
238
+
239
+ **Documentation:** 📚
240
+
241
+ - \[x\] `just docs [venv]` - Build HTML docs with Sphinx
242
+ - \[x\] `just docs-view [venv]` - Build and open in browser
243
+ - \[x\] `just docs-clean` - Clean doc build artifacts
244
+
245
+ **Cleaning:** 🧹
246
+
247
+ - \[x\] `just clean` - Clean everything (alias for distclean)
248
+ - \[x\] `just clean-build` - Remove build/ dist/ \*.egg-info
249
+ - \[x\] `just clean-pyc` - Remove \*.pyc \_\_pycache\_\_
250
+ - \[x\] `just clean-test` - Remove .coverage .pytest_cache
251
+ - \[x\] `just distclean` - Nuclear clean (removes venvs too!)
252
+
253
+ **Utilities:** 🔧
254
+
255
+ - \[ \] `just update-flatbuffers` - Update from deps/ submodule
256
+ - \[ \] `just generate-flatbuffers-reflection` - Generate reflection
257
+ code
258
+ - \[ \] `just fix-copyright` - Update copyright headers
259
+ - \[ \] `just setup-completion` - Setup bash tab completion
260
+
261
+ ## Quick Start
262
+
263
+ ``` bash
264
+ # Install just and uv (if not already installed)
265
+ curl --proto '=https' --tlsv1.2 -sSf https://just.systems/install.sh | bash
266
+ curl -LsSf https://astral.sh/uv/install.sh | sh
267
+
268
+ # Create virtual environment and install in development mode
269
+ just create
270
+ just install-dev
271
+
272
+ # Run tests
273
+ just test
274
+
275
+ # Build wheel
276
+ just build
277
+ ```
@@ -0,0 +1,78 @@
1
+ zlmdb/__init__.py,sha256=JVN9d6oZPVy7qtTAInzVfJeRYuqNKb-ncoQGiASGOM8,13704
2
+ zlmdb/_database.py,sha256=QR2_khA-k0VFDpNML37YD1hIJ9cZCkNvoT5JdycnBmg,31622
3
+ zlmdb/_errors.py,sha256=zARyyszfA4RYiCUsDJxS9H_ncZNou_DBSJ9xbynQb0E,1402
4
+ zlmdb/_meta.py,sha256=JrGGGNR6-D8u22HGgQ7Wj2LEsvD2KT2tx38f7GCdul8,1299
5
+ zlmdb/_pmap.py,sha256=b7TFmVjc2-QC3dwVs1OY2uTR4RGUTE_PEFNFgl8xXF0,52054
6
+ zlmdb/_schema.py,sha256=6416CuTENC_OhcmNPfypJwW28usfsYHTFsSysOhtuTQ,3703
7
+ zlmdb/_transaction.py,sha256=_ZYvWgUQu556I-mHf7DAZtXdNv7GhdBadMwN-knkw8I,4810
8
+ zlmdb/_types.py,sha256=7UQWmbIJVK6T9r2VMVuLgibeVWxaxXxtOoq0R8jfkdo,46097
9
+ zlmdb/_version.py,sha256=bqhthuRPS2gVc4fumGEkJ58LdZOHi_eMTY-Pee4JeqY,1305
10
+ zlmdb/cli.py,sha256=5xYSiE_LsF_Zl0RC6MPd4oJHajZTWnUQl5ORnz7An3A,1645
11
+ zlmdb/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
12
+ zlmdb/_flatc/__init__.py,sha256=-LRramLJ8-YgvzvS5IWKZcgIair2GALwEYjm9h9PQeA,3725
13
+ zlmdb/_flatc/bin/flatc,sha256=3rl1niVis9U4FqugbOuYWXIS4AivdjlyzEpshZYKKFo,3557576
14
+ zlmdb/_lmdb_vendor/__init__.py,sha256=n5VLZ2w3q9X5keVkNY_qoXXXBtfqiNM7wg-04Cjfk-s,1193
15
+ zlmdb/_lmdb_vendor/__main__.py,sha256=gi5_AzV2YZiNREEylj8E7gWSrN889bG3-W4LfSK8DFA,913
16
+ zlmdb/_lmdb_vendor/_config.py,sha256=_n6Ol4IFjLKPJwpiDVoKMHeuSeRWvqC2XNyfNnOyGX0,346
17
+ zlmdb/_lmdb_vendor/_lmdb_cffi.cpython-312-aarch64-linux-gnu.so,sha256=T-vITXrFhESl7xBFHfv7TwDNakIb3Vi9JpMFbtXvQJE,901792
18
+ zlmdb/_lmdb_vendor/cffi.py,sha256=TwjJ0tVf4MSVVVRulmrQUh7vMhVfiMi-4BHgF6UEDo8,93708
19
+ zlmdb/_lmdb_vendor/tool.py,sha256=247PGv0YFFMIo3fw8vm4Nggsb5izpXYpE5Jbf8N6UHs,19620
20
+ zlmdb/flatbuffers/__init__.py,sha256=2dItDioSwIwwiaMdK5OByo1yzaLtPyy_CddQ0WwyCyA,2256
21
+ zlmdb/flatbuffers/_git_version.py,sha256=KnKJgl_Do96zYMZ6DSj6f1V4rP8HMo2t4wUhyRsgFZU,984
22
+ zlmdb/flatbuffers/_version.py,sha256=GVL6M_yJfoAklDfbfTYFV72LDbIU-YgRXL4d1yX3EVw,695
23
+ zlmdb/flatbuffers/builder.py,sha256=echCMezWfQQWYDydY-i3olMdds8BNq0b1rT1MoU0FdQ,26275
24
+ zlmdb/flatbuffers/compat.py,sha256=UW2c76L_SSPsjE251rlQdeeGmS2PolqBlOkUl-5m1M8,2507
25
+ zlmdb/flatbuffers/encode.py,sha256=EJLIJLIxQpcReTHkFlRVdM3i37-v451yaYqGxN9ZXNs,1578
26
+ zlmdb/flatbuffers/flexbuffers.py,sha256=XdA4TqSWdCtXmXxSjTfl2DyIt5dF6iruRl7dmwYC7-0,48848
27
+ zlmdb/flatbuffers/number_types.py,sha256=op0UgItYDJfKT91UVrWrSl76RbIwPIQD_D_97OyEfuo,3956
28
+ zlmdb/flatbuffers/packer.py,sha256=pw3y_NM-WOEcbfT6NzACszU9PPESQYDZabofgRxsj-g,1165
29
+ zlmdb/flatbuffers/reflection.bfbs,sha256=mfREoAX_uhCYpuoqZNVfY3QIuRx2Ep1MCNmG82j3x1I,8016
30
+ zlmdb/flatbuffers/reflection.fbs,sha256=O5MZBmpKjhg5_hWafzIQmf_ypgK_hZlwVwjV9JrGbAQ,4320
31
+ zlmdb/flatbuffers/table.py,sha256=czsOLUmc86MlHMcadFtQKaNEaEKYDWTa-sIX4eRd4eI,4700
32
+ zlmdb/flatbuffers/util.py,sha256=m095xCTnQpz3X3m1_rQ27KrcbrlOktpXc7kD9XnkD-k,1650
33
+ zlmdb/flatbuffers/reflection/AdvancedFeatures.py,sha256=KCr2HwlAyH9QLv4YxMPEDkyiNrC_iQCqKTKYTZitF_o,322
34
+ zlmdb/flatbuffers/reflection/BaseType.py,sha256=YjF8BFAvvQSpi7aFSneo7wd2Z58TrTPbo3ZExDjKQP8,397
35
+ zlmdb/flatbuffers/reflection/Enum.py,sha256=hojc0h5guI79TUB_ELqxYGdSRxg6fIfMWszyL_rfhpU,6794
36
+ zlmdb/flatbuffers/reflection/EnumVal.py,sha256=T5Ive79Lsis08yPvTPHEGHpv_W1oloRvEq2U62juAmI,3772
37
+ zlmdb/flatbuffers/reflection/Field.py,sha256=RIOm2guTz7Wmq0JmbA2SINPGfMtLaXD4xrdBd6WPb9M,8637
38
+ zlmdb/flatbuffers/reflection/KeyValue.py,sha256=t8khpoBWg055nZwEgWSRHOSaTGNBWtJHtPH8gXfJ3P4,2034
39
+ zlmdb/flatbuffers/reflection/Object.py,sha256=9Ubabbv6XWgAP6HvCLghy90-mUHYYM9F72qzz7WrG2M,7087
40
+ zlmdb/flatbuffers/reflection/RPCCall.py,sha256=gsOxHGDhJKkHwbgXNTZMWHEHheGPCmw6UCthFk-PJUQ,5232
41
+ zlmdb/flatbuffers/reflection/Schema.py,sha256=Atu_3oT2yfgpyvrOkBbXWgCMZZdzBkX2hADY7Yv4lk4,8177
42
+ zlmdb/flatbuffers/reflection/SchemaFile.py,sha256=m1Y0BuZHZxJpAWzghqGdijUZ5GvF541rW8lUZ5IfvYE,3171
43
+ zlmdb/flatbuffers/reflection/Service.py,sha256=vFWn3JiLhj3qxtj81rEpixlVOx-fHDsszCgN3Nm0tSY,5820
44
+ zlmdb/flatbuffers/reflection/Type.py,sha256=Cn3bEPA_GNzpWPbaWZJBdUQyzv7e6p792korxltdjcs,3825
45
+ zlmdb/flatbuffers/reflection/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
46
+ zlmdb/tests/conftest.py,sha256=nGxIp6EQTawqbK09gKHrLDHtundrZNJH8Z25Gef0yfA,294
47
+ zlmdb/tests/lmdb/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
48
+ zlmdb/tests/lmdb/address_book.py,sha256=_qWIRf2M2E01IFlV5LKltZJ4PEehyrfsbl6sJTCfn0E,8624
49
+ zlmdb/tests/lmdb/crash_test.py,sha256=WRjWEhLgFmV-TkvD0uhbyzde_K8oujLHZw-2BWnf54w,10791
50
+ zlmdb/tests/lmdb/cursor_test.py,sha256=9JJ54n1o6eT3qWOBiX96P4p4pTZrCfuUnfDpOeTfz44,11159
51
+ zlmdb/tests/lmdb/env_test.py,sha256=d8JS2nwrDJ7uuKi5HeOuvq8VMgb3l0CKdMnRMPRor70,28168
52
+ zlmdb/tests/lmdb/getmulti_test.py,sha256=wsQxK3f8SuEwTxYJiLbtZR_iYUsvKGB9pjA--OqXZ48,2977
53
+ zlmdb/tests/lmdb/iteration_test.py,sha256=cwqb6pJVym_IFzNyztIy8ZnM7tBj9QECU4E77ZsagyI,8842
54
+ zlmdb/tests/lmdb/package_test.py,sha256=SkNFOlEll1vZVznWOOQNn5biiRY0oRXiY8_sFaf9y1A,2073
55
+ zlmdb/tests/lmdb/test_lmdb.py,sha256=XJkU2SkLDlXQ9SFmJa-eCLn3Xre8jZyiSfQuqlVmlmQ,5694
56
+ zlmdb/tests/lmdb/testlib.py,sha256=X8w-MQnUsKXXytzrhHfuS2mZPJQdiJexm1eyNpe34bA,4311
57
+ zlmdb/tests/lmdb/tool_test.py,sha256=-MKSHbqPJF-tD7Koc8J52fAv3kwbksBwFkBQL3pok6g,1660
58
+ zlmdb/tests/lmdb/txn_test.py,sha256=6Qa4dyz_VIXhFcVjKEVvDT6paw7iA85ZWdk51dhcGVM,17533
59
+ zlmdb/tests/orm/MNodeLog.py,sha256=8Fela6T_urDCuvSSCq20Tc1ETFgs2NtyXAKiimpbESQ,25457
60
+ zlmdb/tests/orm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
61
+ zlmdb/tests/orm/_schema_fbs.py,sha256=aypa4KTEGFo1nSAfrCwXxz50TuhhLXBbEfoLCY_hTh0,6739
62
+ zlmdb/tests/orm/_schema_mnode_log.py,sha256=j_6eEg3Bi6J4Ebvod1LcoqJWsLMCyuyuyYRmb_4wibU,40673
63
+ zlmdb/tests/orm/_schema_py2.py,sha256=C9_HUWWoZmlDt7m5ZGMVjm6aObJIXiRrCl9pkDLCP1M,9236
64
+ zlmdb/tests/orm/_schema_py3.py,sha256=EWcGvmmidk6mRWupM7-68qiL_my1M6QbXTdnEdM2Hhs,10686
65
+ zlmdb/tests/orm/_test_flatbuffers.py,sha256=tOMsG2kbmQTnRYOv-64I0cyk6GzR1v6IUtMfLNY3BsA,5089
66
+ zlmdb/tests/orm/_test_serialization.py,sha256=FhsJPqog2Zscbpd6Vmf69YlekeyEXPPAqU3xZ2tajmM,4563
67
+ zlmdb/tests/orm/test_basic.py,sha256=z1dKxzBxex821V702qMvHTRA0zBPuTmW3WNkP-G_wsU,7111
68
+ zlmdb/tests/orm/test_etcd.py,sha256=f3hrC27-dcY6-cs8RrtQegpLSgc182cBX_rR5kAQBZY,8950
69
+ zlmdb/tests/orm/test_pmap_indexes.py,sha256=xXTiZjXijTJmVDgZtvFs9cB-ByiZmaZOxWV_p8BdEis,17066
70
+ zlmdb/tests/orm/test_pmap_types.py,sha256=NhLL9DUnEcfuJrg739KH72dvOvRZi2pP0vOovjzEuWg,3120
71
+ zlmdb/tests/orm/test_pmaps.py,sha256=rLzplhyrAqR6ElmwQsE4GKhs4XmEbwUr8s1RvLpFEr0,9627
72
+ zlmdb/tests/orm/test_select.py,sha256=o6sdnq-0wFD8QFzm3k9zf3RkKzl5EkmoBmjyY5z6ERg,24172
73
+ zlmdb-25.12.3.dist-info/METADATA,sha256=lHb5Eb6o8mrEEHk4-oFLIfN9rBRE_dLJ5GFjXvu24IE,10234
74
+ zlmdb-25.12.3.dist-info/WHEEL,sha256=sHILY-1lceBbSWvsKi9PjTz7YY_zlL4bGfI6Sjr6EqI,151
75
+ zlmdb-25.12.3.dist-info/entry_points.txt,sha256=6J1paH3rpW4TJK5eR9-f6bkyGU7ipGdirgkny6rC6Uc,67
76
+ zlmdb-25.12.3.dist-info/RECORD,,
77
+ zlmdb-25.12.3.dist-info/licenses/LICENSE,sha256=C6DAxZX9Ae4ZR4ykF_IQt1dA-bhMqTfr94MVThzAEXQ,6688
78
+ zlmdb-25.12.3.dist-info/licenses/NOTICE,sha256=Ig4YvYXSZW0xiGTaa-IcYbfXSPbT0yEW_hsWkGSOIZg,1613
@@ -0,0 +1,6 @@
1
+ Wheel-Version: 1.0
2
+ Generator: hatchling 1.28.0
3
+ Root-Is-Purelib: false
4
+ Tag: cp312-cp312-manylinux_2_24_aarch64
5
+ Tag: cp312-cp312-manylinux_2_28_aarch64
6
+
@@ -0,0 +1,3 @@
1
+ [console_scripts]
2
+ flatc = zlmdb._flatc:main
3
+ zlmdb = zlmdb.cli:main
@@ -0,0 +1,167 @@
1
+ ---
2
+ title: MIT License
3
+ spdx-id: MIT
4
+ source: https://opensource.org/license/mit/
5
+
6
+ description: |
7
+ The MIT License is a short, permissive free software license.
8
+ It allows reuse within proprietary software provided all copies retain
9
+ the license terms. This project is distributed under the MIT License
10
+ by typedef int GmbH and Contributors.
11
+
12
+ permissions:
13
+ - commercial-use
14
+ - modifications
15
+ - distribution
16
+ - private-use
17
+ - sublicense
18
+
19
+ conditions:
20
+ - include-copyright
21
+ - include-license
22
+
23
+ limitations:
24
+ - liability
25
+ - warranty
26
+
27
+ held-by: typedef int GmbH and Contributors
28
+ project: zlmdb
29
+ year: 2018
30
+ ---
31
+
32
+ The MIT License (MIT)
33
+
34
+ Copyright (c) typedef int GmbH and Contributors
35
+
36
+ Permission is hereby granted, free of charge, to any person obtaining a copy
37
+ of this software and associated documentation files (the "Software"), to deal
38
+ in the Software without restriction, including without limitation the rights
39
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
40
+ copies of the Software, and to permit persons to whom the Software is
41
+ furnished to do so, subject to the following conditions:
42
+
43
+ The above copyright notice and this permission notice shall be included in
44
+ all copies or substantial portions of the Software.
45
+
46
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
47
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
48
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
49
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
50
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
51
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
52
+ THE SOFTWARE.
53
+
54
+ ===============================================================================
55
+ Third-Party Component Licenses
56
+ ===============================================================================
57
+
58
+ zlmdb includes and distributes the following third-party components:
59
+
60
+ 1. LMDB (Lightning Memory-Mapped Database)
61
+ 2. py-lmdb (Python LMDB bindings)
62
+ 3. Flatbuffers
63
+
64
+ These components are included via git submodules and/or vendored code and are
65
+ built into the zlmdb distribution. The licenses for these components are
66
+ reproduced below.
67
+
68
+ -------------------------------------------------------------------------------
69
+ LMDB License (OpenLDAP Public License)
70
+ -------------------------------------------------------------------------------
71
+
72
+ LMDB is Copyright (C) 2011-2024 Howard Chu, Symas Corp.
73
+ Source: https://git.openldap.org/openldap/openldap/-/tree/LMDB_0.9.33
74
+
75
+ The OpenLDAP Public License
76
+ Version 2.8, 17 August 2003
77
+
78
+ Redistribution and use of this software and associated documentation
79
+ ("Software"), with or without modification, are permitted provided
80
+ that the following conditions are met:
81
+
82
+ 1. Redistributions in source form must retain copyright statements
83
+ and notices,
84
+
85
+ 2. Redistributions in binary form must reproduce applicable copyright
86
+ statements and notices, this list of conditions, and the following
87
+ disclaimer in the documentation and/or other materials provided
88
+ with the distribution, and
89
+
90
+ 3. Redistributions must contain a verbatim copy of this document.
91
+
92
+ The OpenLDAP Foundation may revise this license from time to time.
93
+ Each revision is distinguished by a version number. You may use
94
+ this Software under terms of this license revision or under the
95
+ terms of any subsequent revision of the license.
96
+
97
+ THIS SOFTWARE IS PROVIDED BY THE OPENLDAP FOUNDATION AND ITS
98
+ CONTRIBUTORS ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
99
+ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
100
+ AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
101
+ SHALL THE OPENLDAP FOUNDATION, ITS CONTRIBUTORS, OR THE AUTHOR(S)
102
+ OR OWNER(S) OF THE SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT,
103
+ INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
104
+ BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
105
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
106
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
107
+ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
108
+ ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
109
+ POSSIBILITY OF SUCH DAMAGE.
110
+
111
+ The names of the authors and copyright holders must not be used in
112
+ advertising or otherwise to promote the sale, use or other dealing
113
+ in this Software without specific, written prior permission. Title
114
+ to copyright in this Software shall at all times remain with copyright
115
+ holders.
116
+
117
+ OpenLDAP is a registered trademark of the OpenLDAP Foundation.
118
+
119
+ Copyright 1999-2003 The OpenLDAP Foundation, Redwood City,
120
+ California, USA. All Rights Reserved. Permission to copy and
121
+ distribute verbatim copies of this document is granted.
122
+
123
+ -------------------------------------------------------------------------------
124
+ py-lmdb License (OpenLDAP Public License)
125
+ -------------------------------------------------------------------------------
126
+
127
+ py-lmdb is Copyright 2013-2024 The py-lmdb authors, all rights reserved.
128
+ Original author: David Wilson
129
+ Current maintainer: Nic Watson
130
+ Source: https://github.com/jnwatson/py-lmdb
131
+
132
+ zlmdb includes vendored Python CFFI bindings and patches from py-lmdb,
133
+ which are licensed under the OpenLDAP Public License 2.8 (same as above).
134
+
135
+ Redistribution and use in source and binary forms, with or without
136
+ modification, are permitted only as authorized by the OpenLDAP
137
+ Public License.
138
+
139
+ A copy of this license is available above in the LMDB License section,
140
+ or alternatively at <http://www.OpenLDAP.org/license.html>.
141
+
142
+ OpenLDAP is a registered trademark of the OpenLDAP Foundation.
143
+
144
+ Individual files and/or contributed packages may be copyright by
145
+ other parties and/or subject to additional restrictions.
146
+
147
+ -------------------------------------------------------------------------------
148
+ Flatbuffers License (Apache License 2.0)
149
+ -------------------------------------------------------------------------------
150
+
151
+ Flatbuffers is Copyright 2014 Google Inc.
152
+ Source: https://github.com/google/flatbuffers (v25.9.23)
153
+
154
+ Licensed under the Apache License, Version 2.0 (the "License");
155
+ you may not use this file except in compliance with the License.
156
+ You may obtain a copy of the License at
157
+
158
+ http://www.apache.org/licenses/LICENSE-2.0
159
+
160
+ Unless required by applicable law or agreed to in writing, software
161
+ distributed under the License is distributed on an "AS IS" BASIS,
162
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
163
+ See the License for the specific language governing permissions and
164
+ limitations under the License.
165
+
166
+ Full Apache License 2.0 text available at:
167
+ http://www.apache.org/licenses/LICENSE-2.0.txt
@@ -0,0 +1,41 @@
1
+ zlmdb - Object-relational zero-copy in-memory database layer based on LMDB
2
+ ===========================================================================
3
+
4
+ Copyright (c) typedef int GmbH and contributors
5
+ Licensed under the MIT License (see LICENSE file)
6
+
7
+ This software includes and distributes the following third-party components:
8
+
9
+ 1. LMDB (Lightning Memory-Mapped Database)
10
+ Version: 0.9.33
11
+ Copyright: 2011-2024 Howard Chu, Symas Corp.
12
+ License: OpenLDAP Public License 2.8
13
+ Source: https://git.openldap.org/openldap/openldap
14
+ Git submodule: lmdb-upstream/
15
+
16
+ LMDB C sources are included via git submodule and compiled into zlmdb.
17
+ The OpenLDAP Public License is included in the LICENSE file.
18
+
19
+ 2. py-lmdb (Python LMDB bindings)
20
+ Copyright: 2013-2024 The py-lmdb authors
21
+ Original author: David Wilson
22
+ Current maintainer: Nic Watson
23
+ License: OpenLDAP Public License 2.8
24
+ Source: https://github.com/jnwatson/py-lmdb
25
+ Vendored files: lmdb/ directory, lmdb-patches/ directory
26
+
27
+ Python CFFI bindings and patches from py-lmdb are vendored and built into zlmdb.
28
+ The OpenLDAP Public License is included in the LICENSE file.
29
+
30
+ 3. Flatbuffers
31
+ Version: 25.9.23
32
+ Copyright: 2014 Google Inc.
33
+ License: Apache License 2.0
34
+ Source: https://github.com/google/flatbuffers
35
+ Git submodule: deps/flatbuffers/
36
+
37
+ Flatbuffers Python runtime is vendored and distributed with zlmdb.
38
+ The Apache License 2.0 is included in the LICENSE file.
39
+
40
+ For complete license texts, see the LICENSE file in the root directory.
41
+ For original license files, see the respective git submodule directories.