From a884cfff99e77723e98d24f7cafcb3bc91a0f74b Mon Sep 17 00:00:00 2001 From: "Jeroen F.J. Laros" Date: Sat, 19 Oct 2024 20:25:10 +0200 Subject: [PATCH] Readthedocs fix. --- docs/.readthedocs.yaml => .readthedocs.yaml | 1 + docs/conf.py | 15 ++++++++----- simple_rpc/__init__.py | 25 +++++---------------- 3 files changed, 16 insertions(+), 25 deletions(-) rename docs/.readthedocs.yaml => .readthedocs.yaml (92%) diff --git a/docs/.readthedocs.yaml b/.readthedocs.yaml similarity index 92% rename from docs/.readthedocs.yaml rename to .readthedocs.yaml index dfab765..d0c9c64 100644 --- a/docs/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -10,4 +10,5 @@ sphinx: python: install: + - path: . - requirements: docs/requirements.txt diff --git a/docs/conf.py b/docs/conf.py index bf20e5e..bf0a499 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -1,11 +1,14 @@ -from simple_rpc import _get_metadata +from importlib.metadata import metadata -author = _get_metadata('Author') -copyright = _get_metadata('Author') -project = _get_metadata('Name') -release = _get_metadata('Version') +_package_metadata = metadata('arduino_simple_rpc') + +author = _package_metadata('Author') +copyright = _package_metadata('Author') +project = _package_metadata('Name') +release = _package_metadata('Version') autoclass_content = 'both' -extensions = ['sphinx.ext.autodoc', 'sphinx_autodoc_typehints', 'sphinxarg.ext'] +extensions = [ + 'sphinx.ext.autodoc', 'sphinx_autodoc_typehints', 'sphinxarg.ext'] master_doc = 'index' diff --git a/simple_rpc/__init__.py b/simple_rpc/__init__.py index e6374ef..c2fbdbb 100644 --- a/simple_rpc/__init__.py +++ b/simple_rpc/__init__.py @@ -1,26 +1,13 @@ -from pkg_resources import DistributionNotFound, get_distribution +from importlib.metadata import metadata from .extras import dict_to_object, object_to_dict from .simple_rpc import Interface, SerialInterface, SocketInterface -def _get_metadata(name: str) -> str: - try: - pkg = get_distribution('arduino_simple_rpc') - except DistributionNotFound: - pkg = get_distribution('simple_rpc') - - for line in pkg.get_metadata_lines(pkg.PKG_INFO): - if line.startswith('{}: '.format(name)): - return line.split(': ')[1] - - return '' - - +_package_metadata = metadata('arduino_simple_rpc') _copyright_notice = 'Copyright (c) {} <{}>'.format( - _get_metadata('Author'), _get_metadata('Author-email')) - -usage = [_get_metadata('Summary'), _copyright_notice] + _package_metadata['Author'], _package_metadata['Author-email']) +usage = [_package_metadata['Summary'], _copyright_notice] def doc_split(func: callable) -> str: @@ -29,5 +16,5 @@ def doc_split(func: callable) -> str: def version(name: str) -> str: return '{} version {}\n\n{}\nHomepage: {}'.format( - _get_metadata('Name'), _get_metadata('Version'), _copyright_notice, - _get_metadata('Home-page')) + _package_metadata['Name'], _package_metadata['Version'], + _copyright_notice, _package_metadata['Home-page'])