[Bug 2140076] New: Review Request: python-interface-meta - Provides a convenient way to expose an extensible API

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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: nobody@xxxxxxxxxxxxxxxxx
          Reporter: sanjay.ankur@xxxxxxxxx
        QA Contact: extras-qa@xxxxxxxxxxxxxxxxx
                CC: package-review@xxxxxxxxxxxxxxxxxxxxxxx
  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 -- package-review@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to package-review-leave@xxxxxxxxxxxxxxxxxxxxxxx
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/package-review@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue




[Index of Archives]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite Conditions]     [KDE Users]

  Powered by Linux