Metadata-Version: 2.4
Name: keyvi
Version: 0.7.5
Summary: Python package for keyvi
Home-page: http://keyvi.org
Download-URL: https://github.com/KeyviDev/keyvi/tarball/v0.7.5
Author: Hendrik Muhs
Author-email: hendrik.muhs@gmail.com
License: ASL 2.0
Keywords: FST
Classifier: Programming Language :: C++
Classifier: Programming Language :: Cython
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: Unix
Description-Content-Type: text/markdown
License-File: LICENSE.txt
Requires-Dist: msgpack>=1.0.0
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: download-url
Dynamic: home-page
Dynamic: keywords
Dynamic: license
Dynamic: license-file
Dynamic: requires-dist
Dynamic: summary

Keyvi - the short form for "Key value index" is a key value store (KVS) optimized for size and lookup speed. The usage of shared memory makes it scalable and resistant. The biggest difference to other stores is the underlying data structure based on [finite state machine](https://en.wikipedia.org/wiki/Finite-state_machine). Storage is very space efficient, fast and by design makes various sorts of approximate matching be it fuzzy string matching or geo highly efficient. The immutable FST data structure can be used stand-alone for static datasets. If you need online writes, you can use keyvi index, a _near realtime index_.

## Quick Start

Install keyvi with

```
pip3 install keyvi
```

create your first very simple index:

```
import keyvi.index
index = keyvi.index.Index("test-index")

index.Set('key', '{"answer": 42, "condition": "always"}')
index.Flush()
# get the entry for key
m = index.Get('key')
print(m.value)

# match fuzzy(levenshtein distance) with max edit distance 1, exact prefix 2
matches = index.GetFuzzy("kei", 1, 2)
print([m.matched_string for m in matches])
```

For more information visit the [docs](https://keyvidev.github.io/keyvi/index.html) and [project](http://keyvi.org) pages.
