Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python.announce > #4328

[Python-announce] zlmdb v25.10.1 released

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


Thread

[Python-announce] zlmdb v25.10.1 released "Tobias Oberstein" <tobias.oberstein@gmail.com> - 2025-11-07 10:43 +0000

csiph-web