Version history

Plyvel 1.5.1

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)

Plyvel 1.5.0

Release date: 2022-10-26

  • Rebuild Linux wheels, with manylinux_2_17 and manylinux2014 compatibility (x86_64 only). Also produce Python 3.11 wheels. Still using Snappy 1.1.9 and LevelDB 1.22. (issue #148)

Plyvel 1.4.0

Release date: 2021-12-29

Plyvel 1.3.0

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

Plyvel 1.2.0

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)

Plyvel 1.1.0

Release date: 2019-05-02

  • Expose name attribute to Python code (pr #90)

  • Fix building sources on OSX. (issue #95, pr #97)

  • Build Linux wheels against LevelDB 1.21

Plyvel 1.0.5

Release date: 2018-07-17

  • Rebuild wheels: build against Snappy 1.1.7, and produce Python 3.7 wheels (issue #78, pr #79)

Plyvel 1.0.4

Release date: 2018-01-17

  • Build Python wheels with Snappy compression support. (issue #68)

Plyvel 1.0.3

Release date: 2018-01-16

Plyvel 1.0.2

Release date: 2018-01-12

  • Correctly build wide unicode Python 2.7 wheels (cp27-cp27mu, UCS4). (issue #65)

Plyvel 1.0.1

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)

Plyvel 1.0.0

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)

Plyvel 0.9

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)

Plyvel 0.8

Release date: 2013-11-29

Plyvel 0.7

Release date: 2013-11-15

  • New raw iterator API that mimics the LevelDB C++ interface. See DB.raw_iterator() and 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 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.

Plyvel 0.6

Release date: 2013-10-18

Plyvel 0.5

Release date: 2013-09-17

  • Fix Iterator.seek() for 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 DB constructor argument.

  • Documentation improvements

Plyvel 0.4

Release date: 2013-06-17

  • Add optional ‘default’ argument for all .get() methods (issue #11)

Plyvel 0.3

Release date: 2013-06-03

  • Fix iterator behaviour for reverse iterators using a prefix (issue #9)

  • Documentation improvements

Plyvel 0.2

Release date: 2013-03-15

  • Fix iterator behaviour for iterators using non-existing start or stop keys (issue #4)

Plyvel 0.1

Release date: 2012-11-26

  • Initial release