GithubHelp home page GithubHelp logo

pombredanne / keyvi Goto Github PK

View Code? Open in Web Editor NEW

This project forked from keyvidev/keyvi

0.0 0.0 0.0 12.47 MB

Keyvi - the key value index. It is an in-memory FST-based data structure highly optimized for size and lookup performance.

License: Apache License 2.0

CMake 2.37% Shell 0.29% C++ 83.20% C 0.55% Makefile 0.05% Python 8.24% Rust 2.10% Dockerfile 0.12% Cython 3.08%

keyvi's Introduction

BuildBadge C++ PythonVersions PythonImpl PythonFormat PyPIVersion

Keyvi

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. The index can be used as embedded key value store, e.g. if you already have a network stack in your application. A out of the box network enabled store is available with keyvi-server.

Introduction

Install

Quick

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

pip install keyvi

From Source

The core part is a C++ header-only library, which can be used stand-alone. For more information check the Readme file in the keyvi subfolder.

The python extension can be compiled standalone, check the Readme file in the python subfolder for more information.

Usage

Internals

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

Release procedure

License

keyvi is licensed under Apache License 2.0("ALv2"), see license for details, all 3rdparty libraries ship with their own license. Except Boost, Snappy and zlib all 3rdparty code can be exclusively found in the 3rdparty folder. The following licenses are used for the 3rdparty code (last updated: 0.5.0, provided without warranty).

C++ dependencies

Dependency License
Boost Boost Software License
moodycamel::ConcurrentQueue Simplified BSD License
md5 RSA MD5 License
msgpack-c Boost Software License
RapidJSON MIT License
Snappy BSD
tiny-process-library MIT License
Zlib Zlib License

Python dependencies

The python version ships with the same 3rdparty dependencies as the C++ code and additionaly depends on:

Dependency License
msgpack (for python) Apache License, Version 2.0

Credits

Thanks go to:

keyvi's People

Contributors

amit-cliqz avatar ankit-cliqz avatar david-cliqz avatar gmossessian avatar hendrikmuhs avatar jsdelivrbot avatar michael-a-cliqz avatar narekgharibyan avatar pombredanne avatar simonalger avatar staticmukesh avatar subu-cliqz avatar vvucetic avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.