GithubHelp home page GithubHelp logo

alexxnica / keyvi Goto Github PK

View Code? Open in Web Editor NEW

This project forked from cliqz-oss/keyvi

0.0 1.0 0.0 26.43 MB

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.

Home Page: https://cliqz.com

License: Apache License 2.0

CMake 0.30% Shell 1.63% C++ 84.00% C 0.61% Makefile 0.09% Python 13.37%

keyvi's Introduction

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

Keyvi

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.

Introduction

Install

Quick

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.

Usage

Internals

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.

Contributing

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

  • PRs are welcome.

  • Questions? Concerns? Feel free to contact us.

keyvi's People

Contributors

hendrikmuhs avatar narekgharibyan avatar david-cliqz avatar subu-cliqz avatar ankit-cliqz avatar michael-a-cliqz avatar simonalger avatar

Watchers

 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.