Keyvi - a key value index that powers Cliqz search engine. It is an in-memory FST-based data structure highly optimized for size and lookup performance.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
doc Update Using pykeyvi in Apr 25, 2017
keyvi change directory structure into a more common one Nov 10, 2017
travis fix coverage script Nov 10, 2017
.travis.yml - sourcing to have env vars available for other script Nov 2, 2017
AUTHORS Added Narek Gharibyan to the contributors list Jun 12, 2017
CMakeLists.txt change directory structure into a more common one Nov 10, 2017
LICENSE Initial commit Jul 14, 2015 - updated remotes urls Dec 5, 2016

Keyvi is developed and maintained by Cliqz Engineering Team and Hendrik Muhs. Cliqz is a provider of innovative, privacy-focused browser technologies with integrated quick-search functionality and anti-tracking.

Travis C++ PythonVersions PythonImpl PythonFormat PyPIVersion Coveralls


Hey there, fellow Keyvi lovers! This is to inform you that Keyvi has found a new home, and will continue to be developed under the fork at Please go there to get the latest and greatest Keyvi, packed with new, exciting features and bugfixes.

This repo is kept for historical reasons, and will not be actively maintained.


Keyvi - the short form for "Key value index" - defines a special subtype of the popular key value store (KVS) technologies. As you can imagine from the name, keyvi is an immutable key value store, therefore an index not a store. Keyvi's strengths: high compression ratio and extreme scalability. So if you need online read/writes keyvi is not for you, however, if your use case is mostly reads and infrequent writes you might be interested in checking keyvi out.




Precompiled binary wheels are available for OS X and Linux on PyPi. To install use:

pip install pykeyvi

From Source

The core part is a C++ header-only library, but the TPIE 3rdparty library needs to be compiled once. The commandline tools are also part of the C++ code. For instructions check the Readme file.

For the python extension pykeyvi check the Readme file in the pykeyvi subfolder.



If you like to go deep down in the basics, keyvi is inspired by the following 2 papers:

Licence and 3rdparty dependencies

keyvi is licenced under apache license 2.0, see licence for details.

In addition keyvi uses 3rdparty libraries which define their own licence. Please check their respective licence. The 3rdparty libraries can be found at keyvi/3rdparty.


  • Bug reports, feature requests and general question can be added as an Issue.

  • PRs are welcome.

  • Questions? Concerns? Feel free to contact us.