sakrejda / protostan

Thin protobuf interface wrapper for Stan
BSD 3-Clause "New" or "Revised" License
2 stars 1 forks source link

protostan

The goal of protostan is to provide an API for Stan based solely on passing (and returning) protobuf messages. The advantages of this approach are:

We would like to wrap enough of the API so that a first interface for a language could be written using protobuf without touching the C++ API. For the time being this repository should contain:

Location of Protocol Buffer Message Definitions

Message definitions are found in the proto subdirectory.

Quickstart

  1. This repository assumes that find_library, as written, will find gtest, protobuf, and stanc. If that's a tall order for your system, use this dev repo instead:
cd ${DEV_DIR}
git clone https://github.com/sakrejda/stan-dev.git
cd stan-dev

If you have all that available already:

cd ${DEV_DIR}
git clone https://github.com/sakrejda/protostan.git
cd protostan
  1. If using the dev repo, set option to build protostan and any missing dependencies. By default this includes all the required dependencies.
...... HOW?
  1. Set up a build environment and build.

With the dev repo:

cd ${BUILD_DIR}
cmake ${DEV_DIR}/stan-dev 
make

With the stand-alone:

cd ${BUILD_DIR}
cmake ${DEV_DIR}/protostan
make
  1. Run tests

    cd ${BUILD_DIR}
    ctest
  2. Installation, currently none.