Code Monkey home page Code Monkey logo

libmongo-client's Introduction

libmongo-client

Build Status Coverage Status

This is an alternative C driver for MongoDB, with slightly different goals than the official one:

libmongo-client is meant to be a stable (API, ABI and quality alike), clean, well documented and well tested shared library, that strives to make the most common use cases as convenient as possible.

Looking for a new home

I do not use neither this driver, nor MongoDB anymore, and development on this driver stopped a while ago. I am looking for a new maintainer to take over development and maintenance, please contact me if interested.

Features

The main purpose of this library is to provide a well maintained implementation, that suits a wider range of needs than the original:

  • Well documented, easy, clean and stable API.
  • Comprehensive test suite, with over 90% code coverage, and increasing.
  • Ability to easily construct mongodb commands, to be sent at a later time (comes in handy when one is trying to write from a separate thread).
  • ReplicaSet support, with support for automatic reconnecting and discovery.
  • Safe-mode support, to optionally enable extra safety checks on writes, that make sure the server accepted the write.
  • Convenient APIs to work with BSON objects and MongoDB documents.
  • Connection pooling.

Apart from these, the library is meant to be used as a shared library, therefore API and ABI compatibility will be maintained, and only broken when absolutely neccessary - in which case, a sufficiently bumped version will be branched off.

Requirements

Apart from glib (with header files - usually found in a development package - installed), there are no other hard dependencies. Though, one will need Perl (with a suitable version of Test::Harness, along with the prove utility) to run the test suite.

To build the documentation, Doxygen will be needed too.

Installation

The library follows the usual autotools way of installation (one will need libtool 2.2+ to build from git!):

 $ git clone git://github.com/algernon/libmongo-client.git
 $ cd libmongo-client
 $ autoreconf -i
 $ ./configure && make && make install

License

Although the code is not based on any other driver, it is released under the same Apache License, version 2.0 (included as the file LICENSE).

libmongo-client's People

Contributors

algernon avatar bazsi avatar lbudai avatar 3d0c avatar bitfehler avatar sazzer avatar

Watchers

chenbk avatar  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.