code: def coords(obj):
      
      # Handle recursive case first
      if 'features' in obj:
          for f in obj['features']:
              # For Python 2 compatibility
              # See https://www.reddit.com/r/learnpython/comments/4rc15s/yield_from_and_python_27/ # noqa: E501
              for c in coords(f):
                  yield c
      else:
          if isinstance(obj, (tuple, list)):
              coordinates = obj
          elif 'geometry' in obj:
              coordinates = obj['geometry']['coordinates']
          else:
              coordinates = obj.get('coordinates', obj)
          for e in coordinates:
              if isinstance(e, (float, int)):
                  yield tuple(coordinates)
                  break
              for f in coords(e):
                  yield f
docs: Yields the coordinates from a Feature or Geometry.
  
      :param obj: A geometry or feature to extract the coordinates from.
      :type obj: Feature, Geometry
      :return: A generator with coordinate tuples from the geometry or feature.
      :rtype: generator