Release date: 2024-01-15
- Add Python 3.12 support
- Rebuild Linux wheels, including Python 3.12 wheels.
- Allow using plyvel.DB as a context manager (pr #151)
Release date: 2022-10-26
- Rebuild Linux wheels, with
manylinux_2_17
andmanylinux2014
compatibility (x86_64
only). Also produce Python 3.11 wheels. Still using Snappy 1.1.9 and LevelDB 1.22. (issue #148)
Release date: 2021-12-29
- Build Linux wheels against Snappy 1.1.9, LevelDB 1.22, and produce Python 3.10 wheels (issue #138)
- The minimum LevelDB version is now 1.21 (pr #121)
- Add support for :py:meth:`WriteBatch.append()` (pr #121)
- Add support for :py:meth:`WriteBatch.approximate_size()` (pr #121)
Release date: 2020-10-10
- Use manylinux2010 instead of manylinux1 to build wheels (pr #103)
- Add Python 3.9 support
- Drop Python 3.5 support
- Completely drop Python 2 support
Release date: 2020-01-22
- Add Python 3.8 support (pr #109)
- Drop Python 3.4 support (pr #109)
- Build Linux wheels against Snappy 1.1.8, LevelDB 1.22, and produce Python 3.8 wheels (issue #108, pr #111, )
- Improve compilation flags for Darwin (OSX) builds (pr #107)
Release date: 2019-05-02
- Expose :py:attr:`~DB.name` attribute to Python code (pr #90)
- Fix building sources on OSX. (issue #95, pr #97)
- Build Linux wheels against LevelDB 1.21
Release date: 2018-07-17
Release date: 2018-01-17
- Build Python wheels with Snappy compression support. (issue #68)
Release date: 2018-01-16
Release date: 2018-01-12
- Correctly build wide unicode Python 2.7 wheels (cp27-cp27mu, UCS4). (issue #65)
Release date: 2018-01-05
Provide binary packages (manylinux1 wheels) for Linux.
These wheel packages have the LevelDB library embedded. This should make installation on many Linux systems easier since these packages do not depend on a recent LevelDB version being installed system-wide: running
pip install
will simply download and install the extension, instead of compiling it. (pr #64, issue #62, issue #63)
Release date: 2018-01-03
- First 1.x release. This library is quite mature, so there is no reason to keep using 0.x version numbers. While at it, switch to semantic versioning.
- Drop support for older Python versions. Minimum versions are now Python 3.4+ for modern Python and Python 2.7+ for legacy Python.
- The mimimum LevelDB version is now 1.20, which added an option for the maximum file size, which is now exposed in Plyvel. (pr #61)
- The various
.put()
methods are no longer restricted to just bytes (str in Python 2), but will accept any type implementing Python's buffer protocol, such as bytes, bytearray, and memoryview. Note that this only applies to values; keys must still be bytes. (issue #52)
Release date: 2014-08-27
- Ensure that the Python GIL is initialized when a custom comparator is used, since the background thread LevelDB uses for compaction calls back into Python code in that case. This makes single-threaded programs using a custom comparator work as intended. (issue #35)
Release date: 2013-11-29
- Allow snapshots to be closed explicitly using either
:py:meth:`Snapshot.close()` or a
with
block (issue #21)
Release date: 2013-11-15
- New raw iterator API that mimics the LevelDB C++ interface. See :py:meth:`DB.raw_iterator()` and :py:class:`RawIterator`. (issue #17)
- Migrate to pytest and tox for testing (issue #24)
- Performance improvements in iterator and write batch construction. The internal calls within Plyvel are now a bit faster, and the weakref handling required for iterators is now a lot faster due to replacing :py:class:`weakref.WeakValueDictionary` with manual weakref handling.
- The fill_cache, verify_checksums, and sync arguments to various methods are now correctly taken into account everywhere, and their default values are now booleans reflecting the the LevelDB defaults.
Release date: 2013-10-18
- Allow iterators to be closed explicitly using either
:py:meth:`Iterator.close()` or a
with
block (issue #19) - Add useful
__repr__()
for :py:class:`DB` and :py:class:`PrefixedDB` instances (issue #16)
Release date: 2013-09-17
- Fix :py:meth:`Iterator.seek()` for :py:class:`PrefixedDB` iterators (issue #15)
- Make some argument type checking a bit stricter (mostly
None
checks) - Support LRU caches larger than 2GB by using the right integer type for the
lru_cache_size
:py:class:`DB` constructor argument. - Documentation improvements
Release date: 2013-06-17
- Add optional 'default' argument for all
.get()
methods (issue #11)
Release date: 2013-06-03
- Fix iterator behaviour for reverse iterators using a prefix (issue #9)
- Documentation improvements
Release date: 2013-03-15
- Fix iterator behaviour for iterators using non-existing start or stop keys (issue #4)
Release date: 2012-11-26
- Initial release