Seabolt is a Neo4j connector library for C. The library will support multiple versions of the Bolt protocol through the new Connector API and will provide a base layer for a number of language drivers.
This project is a work in progress, so we're not yet able to accept issues or contributions. Sorry!
This project requires the following tools/libraries to be installed in order to be built. General installation instructions can be found in the following sections.
- CMake 3.9.1
- OpenSSL Development Libraries
- Install all required components via
apt install git build-essential cmake libssl-dev
- Install XCode,
- Install XCode Command Line Tools via
xcode-select --install
- Install CMake
brew install cmake
- Install OpenSSL
brew install openssl
Currently windows builds also depend on OpenSSL, however support for windows secure sockets is in our roadmap.
- Install Visual Studio 2017 with VC++ support,
- Install CMake via
choco install cmake --installargs 'ADD_CMAKE_TO_PATH=System'
- Install OpenSSL Win32 using
https://slproweb.com/download/Win32OpenSSL-1_1_0g.exe
- Install OpenSSL Win64 using
https://slproweb.com/download/Win64OpenSSL-1_1_0g.exe
To build the project, run either the make_debug.sh
or the make_release.sh
script from the project root directory.
This will compile and deposit project artifacts in the build/bin
and build/lib
directories.
To create distributable packages, use make_packages.sh
instead.
To build the docs, the make_docs.sh
script is available.
The docs build process uses Sphinx, Breathe and Doxygen.
These can be installed as follows:
$ sudo apt install doxygen
$ pip install --user sphinx breathe
To run a query, use the following...
BOLT_PASSWORD=password build/bin/seabolt "UNWIND range(1, 1000000) AS n RETURN n"
By default, this will simply display stats for the query execution. The following environment variables can be used:
BOLT_SECURE=0|1
BOLT_HOST=<host name, IPv4 or IPv6 address>
BOLT_PORT=7687
BOLT_USER=neo4j
BOLT_PASSWORD=password
BOLT_LOG=0|1|2