Quickstart¶
This tutorial builds rgpot from source, runs the local tests, and exercises the
Cap’n Proto RPC server with the repository integration script.
The same ForceInput / PotentialResult wire protocol is used by external
clients.
What you will need¶
pixi (manages the full toolchain)
Clone and build¶
git clone https://github.com/OmniPotentRPC/rgpot.git
cd rgpot
pixi shell -e rpctest
meson setup bbdir -Dwith_tests=true -Dwith_rpc=true --buildtype=debug
meson compile -C bbdir
The RPC build produces the potserv executable:
bbdir/CppCore/potserv
Run the tests¶
meson test -C bbdir --print-errorlogs
Run the RPC smoke¶
The checked smoke starts potserv, connects through pycapnp, sends a
ForceInput, and verifies the returned PotentialResult:
python tests/rpc_integ.py --server-bin ./bbdir/CppCore/potserv
Run configure smokes for the runtime-loaded quantum frontends:
python tests/rpc_integ.py \
--server-bin ./bbdir/CppCore/potserv \
--nwchem-smoke \
--cpmd-smoke
What just happened¶
potservloaded a built-in potential and exposed it over Cap’n Proto RPC.The Python client sent atomic positions in
ForceInput.The server returned energy and forces in
PotentialResult.The same wire protocol works from any language with a Cap’n Proto
implementation.
Start a manual server¶
Launch a Lennard-Jones server on port 12345:
./bbdir/CppCore/potserv 12345 LJ
For runtime-loaded quantum engines, pass the matching selector and engine path:
CPMDC_LIBRARY=/path/to/libcpmdc.so ./bbdir/CppCore/potserv 12345 CPMD
NWCHEMC_LIBRARY=/path/to/libnwchemc.so ./bbdir/CppCore/potserv 12345 NWChem
Next steps¶
Python package (PyPI) —
pip install rgpot(LJ + Metatomic multi-ABI engines, torch 2.7+)Architecture Overview — architecture overview
External Integration Guide — embedding into external projects
Embedding as a Subproject — meson/cmake subproject
Changelog — release history