rgpot¶
- Author:
Overview¶
RPC Generalized Potential Library, or rgpot provides a unified schema for
interfacing potential servers across languages using runtime interoperability.
Developer Reference¶
For details on the architecture or internal API:
Usage¶
Setting up and running tests:
pixi shell
meson setup bbdir -Dwith_tests=True --buildtype="debug"
meson test -C bbdir
cmake works as well.
cmake -B build -DRGPOT_BUILD_TESTS=ON -DRGPOT_BUILD_EXAMPLES=ON
cmake --build build
ctest --test-dir build
For building only the client, with CXX17 and CapnProto only:
cmake -B build_client\
-DRGPOT_RPC_CLIENT_ONLY=ON\
-DRGPOT_BUILD_TESTS=ON
cmake --build build_client
# needs a server instance, so in another terminal
# say from the meson.build
./bbdir/CppCore/rgpot/rpc/potserv 12345 LJ
# now test
ctest --test-dir build_client/ --output-on-failure
Developing locally¶
A pre-commit job is setup on CI to enforce consistent styles, so it is best to
set it up locally as well (using pipx for isolation):
# Run before commiting
uvx pre-commit run --all-files
Handling actions¶
To keep the build matrix setup manageable, we use Nickel.
pixi r gen-gha
License¶
MIT, however note that some of the potentials are adapted from eOn which is under a BSD 3-Clause License.