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`