.. _jgdv.mixins.annotate.subclasser: =============================== jgdv.mixins.annotate.subclasser =============================== .. py:module:: jgdv.mixins.annotate.subclasser Classes ------- .. autoapisummary:: jgdv.mixins.annotate.subclasser.Subclasser Module Contents =============== .. _jgdv.mixins.annotate.subclasser.Subclasser: .. py:class:: Subclasser A Util class for building subclasses programmatically Subclasses can have modified mro's, Also extended namespaces, And preserve the base class' __slots__/__dict__ state .. py:method:: _new_pydantic_class(name, cls, *, namespace = None) -> .. py:method:: _new_std_class(name, cls, *, namespace = None, mro = None) -> Dynamically creates a new class .. py:method:: annotate(cls, *params) -> Make a subclass of cls, annotated to have params in getattr(cls, '_annotate_to', '_typevar') .. py:method:: decorate_name(cls, *vals, params = None) -> :staticmethod: Create a new name for an annotated subclass decorate(cls, a,b,c) -> cls<+a+b+c> decorate(cls, params='blah') -> cls[blah] .. py:method:: make_generic(cls, *params) -> .. py:method:: make_subclass(name, cls, *, namespace = None, mro = None) -> Build a dynamic subclass of cls, with name, possibly with a maniplated mro and internal namespace