{"id":13419727,"url":"https://github.com/couchbase/libcouchbase","last_synced_at":"2025-10-07T15:21:01.061Z","repository":{"id":1584656,"uuid":"2077002","full_name":"couchbase/libcouchbase","owner":"couchbase","description":"The couchbase client for C.","archived":false,"fork":false,"pushed_at":"2024-09-13T19:16:49.000Z","size":19697,"stargazers_count":174,"open_issues_count":5,"forks_count":103,"subscribers_count":40,"default_branch":"master","last_synced_at":"2024-09-14T10:14:21.263Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/couchbase.png","metadata":{"files":{"readme":"README.markdown","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2011-07-20T08:43:46.000Z","updated_at":"2024-09-13T19:15:26.000Z","dependencies_parsed_at":"2024-03-13T20:24:14.437Z","dependency_job_id":"bdd290c8-20ab-415d-93ad-e4dca8cadc43","html_url":"https://github.com/couchbase/libcouchbase","commit_stats":{"total_commits":3267,"total_committers":55,"mean_commits":59.4,"dds":0.5705540250994796,"last_synced_commit":"02e19c2144f1284846f7ce6d36b707891b8d2624"},"previous_names":[],"tags_count":138,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/couchbase%2Flibcouchbase","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/couchbase%2Flibcouchbase/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/couchbase%2Flibcouchbase/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/couchbase%2Flibcouchbase/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/couchbase","download_url":"https://codeload.github.com/couchbase/libcouchbase/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243690112,"owners_count":20331726,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-30T22:01:19.910Z","updated_at":"2025-10-07T15:20:56.016Z","avatar_url":"https://github.com/couchbase.png","language":"C","funding_links":[],"categories":["TODO scan for Android support in followings"],"sub_categories":[],"readme":"# Couchbase C Client\n\n[![license](https://img.shields.io/github/license/couchbase/libcouchbase?color=brightgreen)](https://opensource.org/licenses/Apache-2.0)\n\nThis is the C client library for [Couchbase](http://www.couchbase.com)\nIt communicates with the cluster and speaks the relevant protocols\nnecessary to connect to the cluster and execute data operations.\n\n## Support and Feedback\n\nIf you find an issue, please file it in [our JIRA issue tracker](https://couchbase.com/issues/browse/CCBC). Also you are\nalways welcome on [our forum](https://forums.couchbase.com/c/c-sdk) and [Discord](https://discord.com/invite/sQ5qbPZuTh).\n\n## Features\n\n* Can function as either a synchronous or asynchronous library\n* Callback Oriented\n* Can integrate with most other asynchronous environments. You can write your\n  code to integrate it into your environment. Currently support exists for\n    * [libuv](http://github.com/joyent/libuv) (Windows and POSIX)\n    * [libev](http://software.schmorp.de/pkg/libev.html) (POSIX)\n    * [libevent](http://libevent.org/) (POSIX)\n    * `select` (Windows and POSIX)\n    * IOCP (Windows Only)\n* Support for operation batching\n* Cross Platform - Tested on Linux, OS X, and Windows.\n\n## Building\n\nBefore you build from this repository, please check the\n[installation page](https://docs.couchbase.com/c-sdk/current/hello-world/start-using-sdk.html)\nto see if there is a binary or release tarball available for your needs. Since the code here is\nnot part of an official release it has therefore not gone through our\nrelease testing process.\n\n### Dependencies\n\nBy default the library depends on:\n\n* _libevent_ (or _libev_) for the primary I/O backend.\n* _openssl_ for SSL transport.\n* _CMake_ version 2.8.9 or greater (for building)\n\nOn Unix-like systems these dependencies are checked for by default\nwhile on Windows they are not checked by default.\n\nOn Unix, the build system will expect to have _libevent_ or _libev_ installed,\nunless building plugins is explicitly disabled (see further).\n\n### Building on Unix-like systems\n\nProvided is a convenience script called `cmake/configure`. It is a Perl\nscript and functions like a normal `autotools` script.\n\n```shell\n$ git clone https://github.com/couchbase/libcouchbase.git\n$ cd libcouchbase \u0026\u0026 mkdir build \u0026\u0026 cd build\n$ ../cmake/configure\n$ make\n$ ctest\n```\n\n### Building on Windows\n\nAssuming `git` and Visual Studio 2010 are installed, from a `CMD` shell, do:\n\n```\nC:\\\u003e git clone https://github.com/couchbase/libcouchbase.git\nC:\\\u003e mkdir lcb-build\nC:\\\u003e cd lcb-build\nC:\\\u003e cmake -G \"Visual Studio 10\" ..\\libcouchbase\nC:\\\u003e cmake --build .\n```\n\nThis will generate and build a Visual Studio `.sln` file.\n\nWindows builds are known to work on Visual Studio versions 2008, 2010 and\n2012.\n\nIf you wish to link against OpenSSL, you should set the value of\n`OPENSSL_ROOT_DIR` to the location of the installation path, as described\n[here](https://github.com/Kitware/CMake/blob/master/Modules/FindOpenSSL.cmake)\n\n## Running tests\n\nTo run tests, you can use either ctest directly or generated build targets.\nFor Unix-like:\n\n```shell\nmake test\n```\n\nFor windows:\n\n```batchfile\ncmake --build . --target alltests\nctest -C debug\n```\n\nBy default tests will use [CouchbaseMock](https://github.com/couchbase/CouchbaseMock) project to simulate the Couchbase\nCluster. It allows to cover more different failure scenarios, although does not implement all kinds of APIs provided\nby real server.\n\nIf you need to test against real server, you have to provide comma-separated configuration in `LCB_TEST_CLUSTER_CONF`\nenvironment variable. For example, the following command will run tests against local cluster and bucket `default` using\nadministrator credentials:\n\n```shell\nexport LCB_TEST_CLUSTER_CONF=couchbase://localhost,default,Administrator,password\nmake test\n```\nNote that specifying username will automatically switch to RBAC mode, which supported by Couchbase Server 5.0+. For old\nservers the spec will look like `couchbase://localhost,default` or `couchbase://localhost,protected,,secret`.\n\nAlso tests expecting `beer-sample` bucket loaded. It comes with the server. Look at \"Sample buckets\" section of Admin\nConsole.\n\n## Examples\n\n* The `examples` directory\n* Official client libraries using libcouchbase\n    * [node.js](http://github.com/couchbase/couchnode)\n    * [Python](http://github.com/couchbase/couchbase-python-client)\n    * [PHP](http://github.com/couchbase/php-couchbase)\n* Community projects using libcouchbase\n    * [C++11 wrapper](https://github.com/couchbaselabs/libcouchbase-cxx)\n    * [cberl - Couchbase NIF](https://github.com/wcummings/cberl)\n    * [Perl client](https://github.com/mnunberg/perl-Couchbase-Client)\n    * [Ruby](http://github.com/couchbase/couchbase-ruby-client) (uses the old \u003c 2.6 API)\n\n## Documentation\n\nDocumentation is available in guide format (introducing the basic concepts of\nCouchbase and the library). It is recommended for first-time users, and can\nbe accessed at our [Documentation Site](https://developer.couchbase.com/documentation/server/current/sdk/c/start-using-sdk.html).\n\nAPI documentation is also available and is generated from the library's headers.\nIt may contain references to more advanced features not found in the guide.\n\nAPI documentation may be generated by running `doxygen` within the source root\ndirectory. When this is done, you should have a `doc/html/index.html` page which\nmay be viewed.\n\nDoxygen may be downloaded from the\n[doxygen downloads page](http://www.stack.nl/~dimitri/doxygen/download.html). Note\nhowever that most Linux distributions as well as Homebrew contain Doxygen in their\nrepositories.\n\n```\n$ doxygen\n$ xdg-open doc/html/index.html # Linux\n$ open doc/html/index.html # OS X\n```\n\nYou may also generate documentation using the `doc/Makefile` which dynamically\ninserts version information\n\n```\n$ make -f doc/Makefile public # for public documentation\n$ make -f doc/Makefile internal # for internal documentation\n```\n\nThe generated documentation will be in the `doc/public/html` directory for\npublic documentation, and in the `doc/internal/html` directory for internal\ndocumentation.\n\n## Contributors\n\nThe following people contributed to libcouchbase (in alphabetic order)\n(last updated Nov. 27 2014)\n\n* Brett Lawson \u003cbrett19@gmail.com\u003e\n* Dave Rigby \u003cdaver@couchbase.com\u003e\n* Jan Lehnardt \u003cjan@apache.org\u003e\n* Mark Nunberg \u003cmnunberg@haskalah.org\u003e\n* Matt Ingenthron \u003cingenthr@cep.net\u003e\n* Patrick Varley \u003cpatrick@couchbase.com\u003e\n* Paul Farag \u003cpfarag@neuraliq.com\u003e\n* Pierre Joye \u003cpierre.php@gmail.com\u003e\n* Sebastian \u003csebastian@chango.com\u003e\n* Sergey Avseyev \u003csergey.avseyev@gmail.com\u003e\n* Subhashni Balakrishnan \u003cb.subhashni@gmail.com\u003e\n* Sundar Sridharan \u003csundar.sridharan@gmail.com\u003e\n* Trond Norbye \u003ctrond.norbye@gmail.com\u003e\n* Volker Mische \u003cvmx@couchbase.com\u003e\n* William Bowers \u003cwbowers@neuraliq.com\u003e\n* Yura Sokolov \u003cfunny.falcon@gmail.com\u003e\n* Yury Alioshinov \u003chaster2010@gmail.com\u003e\n\n## License\n\nlibcouchbase is licensed under the Apache 2.0 License. See `LICENSE` file for\ndetails.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcouchbase%2Flibcouchbase","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcouchbase%2Flibcouchbase","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcouchbase%2Flibcouchbase/lists"}