code: def from_gpx(file_path):
          
          gpx = gpxpy.parse(open(file_path, 'r'))
          file_name = basename(file_path)
  
          tracks = []
          for i, track in enumerate(gpx.tracks):
              segments = []
              for segment in track.segments:
                  segments.append(Segment.from_gpx(segment))
  
              if len(gpx.tracks) > 1:
                  name = file_name + "_" + str(i)
              else:
                  name = file_name
              tracks.append(Track(name, segments))
  
          return tracks
docs: Creates a Track from a GPX file.
  
          No preprocessing is done.
  
          Arguments:
              file_path (str): file path and name to the GPX file
          Return:
              :obj:`list` of :obj:`Track`