This is a demo repository showcasing how to make a small C++ package with bindings in both R and Python. The key feature is that the code can be directly installed from the github source in both R and Python.
pip install "git+https://github.com/bnprks/polyglot-packaging-test#subdirectory=python"
remotes::install_github("bnprks/polyglot-packaging-test/r")
Helper scripts included for building docs and running tests. Within r
, python
, or cpp
run bash scripts/run_tests.sh
or bash scripts/build_docs.sh
. Run from the root directory
to run tests/docs for all languages in one command.
Dev requirements: install.packages(c("pkgdown", "devtools", "testthat"))
- Documentation uses
pkgdown
- Tests use
testthat
Dev requirements: tox
- Documentation uses
Sphinx
with PyData theme - Tests use
pytest
- Includes a helper file with the overal project home page, linking to C++, R, and Python docs.
tox
handles virtualenv setup for tests + documentation
Dev requirements: cmake, doxygen
- Documentation uses Doxygen with the Doxygen Awesome theme
- Tests use googletest + cmake + ctest
- Python: autoDocstring
- C++: Doxygen Documentation Generator