Fixes and enhancements:
* now allows for RMR Xapps to call code before entering the infinite loop
* stop is now called before throwing NotImplemented in the case where the client fails to provide a must have callback; this ensures there is no dangling rmr thread
* stop now calls rmr_close to correctly free up any port(s)
* (breaking) renames `loop` to `entrypoint` since the function does not have to contain a loop (though it most likely does)
* Changes wording around the two types of xapps (docs only)
* Uses a new version of rmr python that crashes when the rmr mrc fails to init, which prevents an xapp trying to use an unusable rmr
* more unit test code coverage
* Adds more fields to setup like long_desc and classifiers so the pypi page looks nicer
* Removes a bad release file (will be added back in subseq. commit)
Issue-ID: RIC-228
Change-Id: I2fa0fcce61f54d4ce1d6176ae71eb2139b1005a5
Signed-off-by: Tommy Carpenter <tc677g@att.com>
diff --git a/setup.py b/setup.py
index f4ba164..ee76260 100644
--- a/setup.py
+++ b/setup.py
@@ -14,14 +14,43 @@
# See the License for the specific language governing permissions and
# limitations under the License.
# ==================================================================================
+from os.path import dirname, abspath, join as path_join
from setuptools import setup, find_packages
+SETUP_DIR = abspath(dirname(__file__))
+
+
+def _long_descr():
+ """Yields the content of documentation files for the long description"""
+ try:
+ doc_path = path_join(SETUP_DIR, "docs/overview.rst")
+ with open(doc_path) as f:
+ return f.read()
+ except FileNotFoundError: # this happens during unit testing, we don't need it
+ return ""
+
+
setup(
name="ricxappframe",
- version="0.1.0",
+ version="0.2.0",
packages=find_packages(exclude=["tests.*", "tests"]),
author="Tommy Carpenter",
description="Xapp framework for python",
url="https://gerrit.o-ran-sc.org/r/admin/repos/ric-plt/xapp-frame-py",
- install_requires=["msgpack", "rmr>=2.2.0, <3.0.0", "mdclogpy", "ricsdl>=2.0.3,<3.0.0"],
+ install_requires=["msgpack", "rmr>=2.2.1, <3.0.0", "mdclogpy", "ricsdl>=2.0.3,<3.0.0"],
+ classifiers=[
+ "Development Status :: 4 - Beta",
+ "Intended Audience :: Telecommunications Industry",
+ "Programming Language :: Python :: 3",
+ "Programming Language :: Python :: 3.7",
+ "License :: OSI Approved :: Apache Software License",
+ "Operating System :: POSIX :: Linux",
+ "Topic :: Communications",
+ ],
+ python_requires=">=3.7",
+ keywords="RIC xapp",
+ license="Apache 2.0",
+ data_files=[("", ["LICENSE.txt"])],
+ long_description=_long_descr(),
+ long_description_content_type="text/x-rst",
)