Skip to main content

Python package for keyvi

Project description

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. 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 and project pages.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

keyvi-0.6.2.dev1.tar.gz (2.9 MB view hashes)

Uploaded Source

Built Distributions

keyvi-0.6.2.dev1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.1 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

keyvi-0.6.2.dev1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.7 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

keyvi-0.6.2.dev1-pp310-pypy310_pp73-macosx_10_9_x86_64.whl (16.2 MB view hashes)

Uploaded PyPy macOS 10.9+ x86-64

keyvi-0.6.2.dev1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.1 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

keyvi-0.6.2.dev1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.7 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

keyvi-0.6.2.dev1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl (16.2 MB view hashes)

Uploaded PyPy macOS 10.9+ x86-64

keyvi-0.6.2.dev1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.1 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

keyvi-0.6.2.dev1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.7 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

keyvi-0.6.2.dev1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl (16.2 MB view hashes)

Uploaded PyPy macOS 10.9+ x86-64

keyvi-0.6.2.dev1-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.1 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

keyvi-0.6.2.dev1-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.7 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

keyvi-0.6.2.dev1-pp37-pypy37_pp73-macosx_10_9_x86_64.whl (16.2 MB view hashes)

Uploaded PyPy macOS 10.9+ x86-64

keyvi-0.6.2.dev1-cp312-cp312-musllinux_1_1_x86_64.whl (14.1 MB view hashes)

Uploaded CPython 3.12 musllinux: musl 1.1+ x86-64

keyvi-0.6.2.dev1-cp312-cp312-musllinux_1_1_aarch64.whl (13.8 MB view hashes)

Uploaded CPython 3.12 musllinux: musl 1.1+ ARM64

keyvi-0.6.2.dev1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.8 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

keyvi-0.6.2.dev1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (13.4 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

keyvi-0.6.2.dev1-cp312-cp312-macosx_12_0_arm64.whl (16.1 MB view hashes)

Uploaded CPython 3.12 macOS 12.0+ ARM64

keyvi-0.6.2.dev1-cp312-cp312-macosx_10_9_x86_64.whl (16.4 MB view hashes)

Uploaded CPython 3.12 macOS 10.9+ x86-64

keyvi-0.6.2.dev1-cp311-cp311-musllinux_1_1_x86_64.whl (14.1 MB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.1+ x86-64

keyvi-0.6.2.dev1-cp311-cp311-musllinux_1_1_aarch64.whl (13.9 MB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.1+ ARM64

keyvi-0.6.2.dev1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.8 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

keyvi-0.6.2.dev1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (13.3 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

keyvi-0.6.2.dev1-cp311-cp311-macosx_12_0_arm64.whl (16.0 MB view hashes)

Uploaded CPython 3.11 macOS 12.0+ ARM64

keyvi-0.6.2.dev1-cp311-cp311-macosx_10_9_x86_64.whl (16.4 MB view hashes)

Uploaded CPython 3.11 macOS 10.9+ x86-64

keyvi-0.6.2.dev1-cp310-cp310-musllinux_1_1_x86_64.whl (14.0 MB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

keyvi-0.6.2.dev1-cp310-cp310-musllinux_1_1_aarch64.whl (13.8 MB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ ARM64

keyvi-0.6.2.dev1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.6 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

keyvi-0.6.2.dev1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (13.2 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

keyvi-0.6.2.dev1-cp310-cp310-macosx_12_0_arm64.whl (16.0 MB view hashes)

Uploaded CPython 3.10 macOS 12.0+ ARM64

keyvi-0.6.2.dev1-cp310-cp310-macosx_10_9_x86_64.whl (16.4 MB view hashes)

Uploaded CPython 3.10 macOS 10.9+ x86-64

keyvi-0.6.2.dev1-cp39-cp39-musllinux_1_1_x86_64.whl (14.0 MB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

keyvi-0.6.2.dev1-cp39-cp39-musllinux_1_1_aarch64.whl (13.8 MB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ ARM64

keyvi-0.6.2.dev1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.6 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

keyvi-0.6.2.dev1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (13.2 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

keyvi-0.6.2.dev1-cp39-cp39-macosx_12_0_arm64.whl (16.0 MB view hashes)

Uploaded CPython 3.9 macOS 12.0+ ARM64

keyvi-0.6.2.dev1-cp39-cp39-macosx_10_9_x86_64.whl (16.4 MB view hashes)

Uploaded CPython 3.9 macOS 10.9+ x86-64

keyvi-0.6.2.dev1-cp38-cp38-musllinux_1_1_x86_64.whl (14.1 MB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ x86-64

keyvi-0.6.2.dev1-cp38-cp38-musllinux_1_1_aarch64.whl (13.9 MB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ ARM64

keyvi-0.6.2.dev1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.7 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

keyvi-0.6.2.dev1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (13.3 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

keyvi-0.6.2.dev1-cp38-cp38-macosx_12_0_arm64.whl (16.0 MB view hashes)

Uploaded CPython 3.8 macOS 12.0+ ARM64

keyvi-0.6.2.dev1-cp38-cp38-macosx_10_9_x86_64.whl (16.4 MB view hashes)

Uploaded CPython 3.8 macOS 10.9+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page