Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python.announce > #4328
| Path | csiph.com!fu-berlin.de!uni-berlin.de!not-for-mail |
|---|---|
| From | "Tobias Oberstein" <tobias.oberstein@gmail.com> |
| Newsgroups | comp.lang.python.announce |
| Subject | [Python-announce] zlmdb v25.10.1 released |
| Date | Fri, 07 Nov 2025 10:43:04 -0000 |
| Lines | 73 |
| Approved | python-announce-list@python.org |
| Message-ID | <176251218408.8797.6222025459985300557@mail.python.org> (permalink) |
| Reply-To | python-list@python.org |
| Mime-Version | 1.0 |
| Content-Type | text/plain; charset="utf-8" |
| Content-Transfer-Encoding | 8bit |
| X-Trace | news.uni-berlin.de 8CDXP1mk/FyjDjCHHQ4eIwOds4iwShC+Xg3Y4hrOhqdA== |
| Cancel-Lock | sha1:YFnrqK0lBKwMgAVyV6mr3kOc8zo= sha256:zP87ShTzZQS4/3NvEpe4jX2LQe/7RounnZ/ukIump00= |
| Delivered-To | python-announce-list@x.python.org |
| Authentication-Results | mail.python.org; dkim=none reason="no signature"; dkim-adsp=none (unprotected policy); dkim-atps=neutral |
| User-Agent | HyperKitty on https://mail.python.org/ |
| X-MailFrom | tobias.oberstein@gmail.com |
| X-Mailman-Rule-Hits | emergency |
| X-Mailman-Rule-Misses | dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-python-announce-list.python.org-0; header-match-python-announce-list.python.org-1; header-match-python-announce-list.python.org-2; header-match-python-announce-list.python.org-3; header-match-python-announce-list.python.org-4 |
| Message-ID-Hash | 63VV4QS6PZW753CVKMUM3U6VBD4SRZRZ |
| X-Message-ID-Hash | 63VV4QS6PZW753CVKMUM3U6VBD4SRZRZ |
| X-Mailman-Approved-At | Fri, 07 Nov 2025 07:21:49 -0500 |
| X-Mailman-Version | 3.3.11b1 |
| Precedence | list |
| List-Id | Announcement-only list for the Python programming language <python-announce-list.python.org> |
| Archived-At | <https://mail.python.org/archives/list/python-announce-list@python.org/message/63VV4QS6PZW753CVKMUM3U6VBD4SRZRZ/> |
| List-Archive | <https://mail.python.org/archives/list/python-announce-list@python.org/> |
| List-Help | <mailto:python-announce-list-request@python.org?subject=help> |
| List-Owner | <mailto:python-announce-list-owner@python.org> |
| List-Post | <mailto:python-announce-list@python.org> |
| List-Subscribe | <mailto:python-announce-list-join@python.org> |
| List-Unsubscribe | <mailto:python-announce-list-leave@python.org> |
| Xref | csiph.com comp.lang.python.announce:4328 |
Show key headers only | View raw
Hi all,
I'd like to share a new release of zlmdb: LMDB for Python with PyPy Support, Binary Wheels, and Vendored Dependencies.
- **📦 PyPI:** https://pypi.org/project/zlmdb/25.10.1/
- **📖 Docs:** https://zlmdb.readthedocs.io/en/latest/
- **💻 GitHub:** https://github.com/crossbario/zlmdb
- **📋 Full Announcement:** https://github.com/crossbario/zlmdb/discussions/73
## What is zlmdb?
zlmdb provides two APIs in one package:
1. **Low-level py-lmdb compatible API** - Drop-in replacement for py-lmdb with the same interface
2. **High-level ORM API** - Type-safe persistent objects with automatic serialization
## Why this release is interesting
**🔋 Batteries Included - Zero Dependencies**
- Vendored LMDB (no system installation needed)
- Vendored Flatbuffers (high-performance serialization built-in)
- Just `pip install zlmdb` and you're ready to go!
**🐍 PyPy Support**
- Built with CFFI (not CPyExt) so it works perfectly with PyPy
- Near-C performance with JIT compilation
- py-lmdb doesn't work on PyPy due to CPyExt dependency
**📦 Binary Wheels for Everything**
- CPython 3.11, 3.12, 3.13, 3.14 (including free-threaded 3.14t)
- PyPy 3.11
- Linux (x86_64, aarch64), macOS (Intel, Apple Silicon), Windows (x64)
- No compilation required on any platform
**⚡ Performance Features**
- Memory-mapped I/O (LMDB's legendary speed)
- Zero-copy operations where possible
- Multiple serializers: JSON, CBOR, Pickle, Flatbuffers
- Integration with Numpy, Pandas, and Apache Arrow
## Quick Example
```python
# Low-level API (py-lmdb compatible)
from zlmdb import lmdb
env = lmdb.open('/tmp/mydb')
with env.begin(write=True) as txn:
txn.put(b'key', b'value')
# High-level ORM API
from zlmdb import zlmdb
class User(zlmdb.Schema):
oid: int
name: str
email: str
db = zlmdb.Database('/tmp/userdb')
with db.begin(write=True) as txn:
user = User(oid=1, name='Alice', email='alice@example.com')
txn.store(user)
```
## When to use zlmdb?
- ✅ Need PyPy support (py-lmdb won't work)
- ✅ Want zero external dependencies
- ✅ Building for multiple platforms (we provide all wheels)
- ✅ Want both low-level control AND high-level ORM
- ✅ Need high-performance embedded database
zlmdb is part of the [WAMP project family](https://wamp-proto.org/) and used in production by [Crossbar.io](https://crossbar.io/).
Back to comp.lang.python.announce | Previous | Next | Find similar
[Python-announce] zlmdb v25.10.1 released "Tobias Oberstein" <tobias.oberstein@gmail.com> - 2025-11-07 10:43 +0000
csiph-web