pydmt.api.feature — pydmt Documentation

# Source code for pydmt.api.feature

    """
    feature.py
    """

    import abc

    from pydmt.core.pydmt import PyDMT

    class Feature(abc.ABC):
        """
        A Feature is a piece of code that adds builder to a pydmt system in a predefined
        way. This is a way to share common practices between projects.

        Examples of features can be:
        - all the rules about how to build a python module with documentation and release it.
        - all the rules about how to build a C project and release it.

        These are similar to facets or natures in development environments.
        """

        @abc.abstractmethod
        def setup(self, pydmt: PyDMT) -> None:
            """ build your feature here """