class_docstr: A class responsible for creating the inputs necessary to work in a
  `DataFeed`.
  
  Parameters
  ----------
  name : str, optional
      The name fo the stream.
  dtype : str, optional
      The data type of the stream.
  
  Methods
  -------
  source(iterable, dtype=None)
      Creates a stream from an iterable.
  group(streams)
      Creates a group of streams.
  sensor(obj,func,dtype=None)
      Creates a stream from observing a value from an object.
  select(streams,func)
      Selects a stream satisfying particular criteria from a list of
      streams.
  constant(value,dtype)
      Creates a stream to generate a constant value.
  asdtype(dtype)
      Converts the data type to `dtype`.
class_docstr_tok: ["A","class","responsible","for","creating","the","inputs","necessary","to","work","in","a","`","DataFeed","`",".","Parameters","--","--","--","--","--","name",":","str",",","optional","The","name","fo","the","stream",".","dtype",":","str",",","optional","The","data","type","of","the","stream",".","Methods","--","--","--","-","source","(","iterable",",","dtype=None",")","Creates","a","stream","from","an","iterable",".","group","(","streams",")","Creates","a","group","of","streams",".","sensor","(","obj",",","func",",","dtype=None",")","Creates","a","stream","from","observing","a","value","from","an","object",".","select","(","streams",",","func",")","Selects","a","stream","satisfying","particular","criteria","from","a","list","of","streams",".","constant","(","value",",","dtype",")","Creates","a","stream","to","generate","a","constant","value",".","asdtype","(","dtype",")","Converts","the","data","type","to","`","dtype","`","."]
docstr: Apply mix-ins to a class instance after creation.
  
  Parameters
  ----------
  instance : `Stream[T]`
      An instantiation of `Stream` to be injected with mixin methods.
  mixin : `DataTypeMixin`
      The mixin holding the methods to be injected into the `instance`.
  
  Returns
  -------
  `Stream[T]`
      The `instance` with the injected methods provided by the `mixin`.
docstr_tok: ["Apply","mix-ins","to","a","class","instance","after","creation",".","Parameters","--","--","--","--","--","instance",":","`","Stream","[","T","]","`","An","instantiation","of","`","Stream","`","to","be","injected","with","mixin","methods",".","mixin",":","`","DataTypeMixin","`","The","mixin","holding","the","methods","to","be","injected","into","the","`","instance","`",".","Returns","--","--","--","-","`","Stream","[","T","]","`","The","`","instance","`","with","the","injected","methods","provided","by","the","`","mixin","`","."]
code: def extend_instance(
      instance: "Stream[T]", mixin: "DataTypeMixin"
  ) -> "Stream[T]":
      """Apply mix-ins to a class instance after creation.
  
      Parameters
      ----------
      instance : `Stream[T]`
          An instantiation of `Stream` to be injected with mixin methods.
      mixin : `DataTypeMixin`
          The mixin holding the methods to be injected into the `instance`.
  
      Returns
      -------
      `Stream[T]`
          The `instance` with the injected methods provided by the `mixin`.
      """
      base_cls = instance.__class__
      base_cls_name = instance.__class__.__name__
      instance.__class__ = type(base_cls_name, (base_cls, mixin), {})
      return instance
  
imports: import inspect
  from abc import abstractmethod
  from typing import Generic, Iterable, TypeVar, Dict, Any, Callable, List, Tuple
  from tensortrade.core import Observable
  from tensortrade.feed.core.accessors import CachedAccessor
  from tensortrade.feed.core.mixins import DataTypeMixin
label_desc: Use image node_id 21 for calling the Stream obj's underlying member method code with example usage: obj.extend_instance(instance, mixin) and returns: instance