A Go wrapper for LevelDB providing Go developers with access to the LevelDB key-value store.
levigo is a Go wrapper for LevelDB that provides Go developers with access to the LevelDB embedded key-value database. It bridges the gap between Go applications and LevelDB's C API, enabling persistent storage solutions within Go programs. The wrapper maintains LevelDB's performance characteristics while offering Go-idiomatic interfaces.
Go developers who need embedded key-value storage in their applications and want to leverage LevelDB's proven performance and reliability.
Developers choose levigo because it provides the simplest way to use LevelDB from Go without sacrificing performance or features. It offers a stable, minimal wrapper that stays true to LevelDB's API while providing Go-friendly error handling and interfaces.
levigo is a Go wrapper for LevelDB
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Wraps LevelDB's C API with Go-friendly interfaces and error handling, making it accessible to Go developers while maintaining performance, as stated in the project's philosophy.
Provides access to all LevelDB features like snapshots, batch writes, and custom comparators, ensuring compatibility with existing LevelDB ecosystems as highlighted in the Key Features.
Maintains LevelDB's high-performance characteristics for read/write operations by leveraging the proven C library, as emphasized in the description.
Works wherever Go and LevelDB can be compiled and linked, allowing deployment on various operating systems, as noted in the Key Features.
Building requires installing LevelDB's shared library and headers, with non-trivial setup for custom paths or snappy integration, as detailed in the Building section with specific CGO flags.
For advanced features like comparators and WriteBatch iterators, developers must write C code in their own libraries, adding complexity and reducing Go's simplicity, as admitted in the Caveats section.
Stays close to LevelDB's original API, lacking built-in higher-level abstractions that could simplify development for some use cases, as implied by its minimal wrapper philosophy.