NRLMMD-GEOIPS / geoips

Main Geolocated Information Processing System code base with basic functionality enabled.
https://nrlmmd-geoips.github.io/geoips/
Other
13 stars 10 forks source link

Consider adding a ``BasePlugin`` Class to ``interfaces/base.py`` #534

Open evrose54 opened 1 month ago

evrose54 commented 1 month ago

Requested Update

Description

BaseModulePlugin, BaseYamlPlugin, and eventually BaseTextPlugin do not inherit from some BasePlugin class. We believe it would be beneficial to add this as a Parent class to base.py to abstract some code to a higher level. This class would also implement __repr__ and __str__ functions so that every plugin could be printed / represented in an understandable manner. For child classes, we could override __repr__ and __str__ if they needed additional information or a different implementation to expose pertinent information.

Background and Motivation

This topic came out of a conversation from our monthly issue curation meeting (5/2/24). We should discuss what these __repr__ and __str__ functions should look like, what BasePlugin should look like as a whole. Hopefully this will clean up some things.

Code to demonstrate issue

Will be added to geoips.interfaces.base

Checklist for Completion