code: def from_object(cls, o, base_uri=None, parent_curies=None, draft=AUTO):
          
  
          if isinstance(o, list):
              return [cls.from_object(x, base_uri, parent_curies, draft)
                      for x in o]
  
          return cls(o, base_uri, parent_curies, draft)
docs: Returns a new ``Document`` based on a JSON object or array.
  
          Arguments:
  
          - ``o``: a dictionary holding the deserializated JSON for the new
                   ``Document``, or a ``list`` of such documents.
          - ``base_uri``: optional URL used as the basis when expanding
                                 relative URLs in the document.
          - ``parent_curies``: optional ``CurieCollection`` instance holding the
                               CURIEs of the parent document in which the new
                               document is to be embedded. Calling code should
                               not normally provide this argument.
          - ``draft``: a ``Draft`` instance that selects the version of the spec
                       to which the document should conform. Defaults to
                       ``drafts.AUTO``.