class_docstr: Provide an interface for accessing the contents of a shapefile with the
  Python Shapefile Library (PyShp). See the PyShp
  `Readme <https://pypi.org/project/pyshp/>`_ for more information.
  
  The primary methods used on a BasicReader instance are
  :meth:`~cartopy.io.shapereader.BasicReader.records` and
  :meth:`~cartopy.io.shapereader.BasicReader.geometries`.
class_docstr_tok: ["Provide","an","interface","for","accessing","the","contents","of","a","shapefile","with","the","Python","Shapefile","Library","(","PyShp",")",".","See","the","PyShp","`","Readme","<","https",":","\/\/pypi.org\/project\/pyshp\/",">","`","_","for","more","information",".","The","primary","methods","used","on","a","BasicReader","instance","are",":","meth",":","`","~cartopy.io.shapereader.BasicReader.records","`","and",":","meth",":","`","~cartopy.io.shapereader.BasicReader.geometries","`","."]
docstr: Return an iterator of :class:`~Record` instances.
code: def records(self):
      """
      Return an iterator of :class:`~Record` instances.
  
      """
  
      # Ignore the "DeletionFlag" field which always comes first
      fields = self._reader.fields[1:]
      for shape_record in self._reader.iterShapeRecords(
          bbox=self._bbox
      ):
          attributes = shape_record.record.as_dict()
          yield Record(shape_record.shape, attributes, fields)
  
imports: import io
  import itertools
  from pathlib import Path
  from urllib.error import HTTPError
  import shapefile
  import shapely.geometry
  from cartopy import config
  from cartopy.io import Downloader
label_desc: Use image node_id 5 for calling the BasicReader obj's underlying member method code with example usage: obj.records() without return types