code: def schemaless_reader(fo, writer_schema, reader_schema=None):
      
      if writer_schema == reader_schema:
          # No need for the reader schema if they are the same
          reader_schema = None
  
      writer_schema = parse_schema(writer_schema)
  
      if reader_schema:
          reader_schema = parse_schema(reader_schema)
  
      return read_data(fo, writer_schema, reader_schema)
docs: Reads a single record writen using the
      :meth:`~fastavro._write_py.schemaless_writer`
  
      Parameters
      ----------
      fo: file-like
          Input stream
      writer_schema: dict
          Schema used when calling schemaless_writer
      reader_schema: dict, optional
          If the schema has changed since being written then the new schema can
          be given to allow for schema migration
  
  
      Example::
  
          parsed_schema = fastavro.parse_schema(schema)
          with open('file.avro', 'rb') as fp:
              record = fastavro.schemaless_reader(fp, parsed_schema)
  
      Note: The ``schemaless_reader`` can only read a single record.