X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fbindings%2Frmr-python%2FREADME.rst;h=2f2201dc0a6354fe151a4db1b3621ec1cbd52e81;hb=6d112571b27574ae857da7cb8dc8758ffee4ff60;hp=cbda718dd3ba514bfaf50357ee1a467ed48ca1fe;hpb=7b7c92c8a3bba11117b30b658a111d6595b146b6;p=ric-plt%2Flib%2Frmr.git diff --git a/src/bindings/rmr-python/README.rst b/src/bindings/rmr-python/README.rst index cbda718..2f2201d 100644 --- a/src/bindings/rmr-python/README.rst +++ b/src/bindings/rmr-python/README.rst @@ -1,92 +1,17 @@ rmr-python -========== +=========== -Summary, Limitations -==================== +Please see `docs/source/index.rst` -This is a CTYPES wrapper around the C rmr library. It requires you have -rmr installed. +Generating Documentation +======================== -That is, it is not a native re-implementation of the rmr library. This -seems to come with pros and cons. On the positive side, wrapping the -library was much less work; we only need to wrap the function -signatures. Keeping up with the rmr spec is thus also less work, as when -new functions are added into the C lib, we only need to again wrap the -function signatures. - -The downside is this seems to be Linux only currently. This wrapper -immediately SIGABRT’s on Mac, and no one yet seems to know why. The -other downside is that there are currently some functionality that needs -to be “exported” from the C library for this to be fully operational. -For example, CTYPES does not have access to C header files, and -important constants are defined in the C header files. - -Possibly evaluate whether we could natively reimplement the API with the nano nng python -bindings: https://pypi.org/project/pynng/ - -Not Yet Implemented -------------------- - -At the time of this writing (Aug 13 2019) The following C functions -are not yet implemented in this library (do we need them?): +To generate `rmr-python` documentation: :: - 1. `extern void rmr_free_msg` - 2. `extern rmr_mbuf_t* rmr_mtosend_msg` - 3. `extern rmr_mbuf_t* rmr_call` (this has some problems AFAIU from Scott) - 4. `extern rmr_mbuf_t* rmr_rcv_specific` - 5. `extern int rmr_get_rcvfd` - -Unit Testing -============ - -:: - - tox - open htmlcov/index.html - -Installation -============ - -Prequisites ------------ - -If rmr is *not* compiled on your system, see the below instructions for -downloading and compiling rmr. This library expects that the rmr .so -files are compiled and available. - -From PyPi ---------- - -:: - - pip install rmr==X.Y.Z - -From Source ------------ - -:: - - git clone "https://gerrit.o-ran-sc.org/r/ric-plt/lib/rmr" - cd rmr/src/bindings/rmr-python/ - pip install . - -Examples -======== - -See the ``examples`` directory. - -Compiling rmr (if not already done on your system) -================================================== - -(Note, you may or may not need sudo in your final command, depending on -permissions to ``/usr/local``. The pack externals option to CMake is -needed only if the NNG libary is not already installed on the system, -and you do not wish to manually install it.) - -:: + # from the root of rmr-python, not here + docker build -t rmrpythondocs:latest -f Dockerfile-DocGen . + docker run -v ~/desired/target/dir/:/tmp/docs/build/text rmrpythondocs:latest - git clone https://gerrit.oran-osc.org/r/ric-plt/lib/rmr - cd rmr - mkdir .build; cd .build; cmake .. -DPACK_EXTERNALS=1; sudo make install +After running this, `/desired/target/dir/` will contain `index.rst` and `module_api.txt`