https://bugzilla.redhat.com/show_bug.cgi?id=2140076
Bug ID: 2140076
Summary: Review Request: python-interface-meta - Provides a
convenient way to expose an extensible API
Product: Fedora
Version: rawhide
Status: NEW
Component: Package Review
Assignee: [email protected]
Reporter: [email protected]
QA Contact: [email protected]
CC: [email protected]
Target Milestone: ---
Classification: Fedora
Spec URL:
https://ankursinha.fedorapeople.org/python-interface-meta/python-interface-meta.spec
SRPM URL:
https://ankursinha.fedorapeople.org/python-interface-meta/python-interface-meta-1.3.0-2.fc38.src.rpm
Description:
interface_meta provides a convenient way to expose an extensible API with
enforced method signatures and consistent documentation.
This library has been extracted (with some modifications) from omniduct, a
library also principally written by this author, where it was central to the
extensible plugin architecture. It places an emphasis on the functionality
required to create a well-documented extensible plugin system, whereby the act
of subclassing is sufficient to register the plugin and ensure compliance to
the parent API. As such, this library boasts the following features:
- All subclasses of an interface must conform to the parent's API.
- Hierarchical runtime property existence and method signature checking.
Methods are permitted to add additional optional arguments, but otherwise
must conform to the API of their parent class (which themselves may have
extended the API of the interface).
- Subclass definition time hooks (e.g. for registration of subclasses into a
library of plugins, etc).
- Optional requirement for methods in subclasses to explicity decorate methods
with an override decorator when replacing methods on an interface, making it
clearer as to when a class is introducing new methods versus replacing those
that form the part of the interface API.
- Generation of clear docstrings on implementations that stitches together the
base interface documentation with any downstream extensions and quirks.
- Support for extracting the quirks documentation for a method from other
method docstrings, in the event that subclass implementations are done in an
internal method.
- Compatibility with ABCMeta from the standard library.
Fedora Account System Username: ankursinha
--
You are receiving this mail because:
You are on the CC list for the bug.
You are always notified about changes to this product and component
https://bugzilla.redhat.com/show_bug.cgi?id=2140076
_______________________________________________
package-review mailing list -- [email protected]
To unsubscribe send an email to [email protected]
Fedora Code of Conduct:
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives:
https://lists.fedoraproject.org/archives/list/[email protected]
Do not reply to spam, report it:
https://pagure.io/fedora-infrastructure/new_issue