Problem with animation on pygame game

So here is my code to try to animate a sprite sheet in a game with pygame. But it doesn’t animate and the sprite seems to overlap.

class SpriteSheet():
    def __init__(self,image):
        self.sheet = image
    def get_image(self, frame, width, height, scale, colour):
        image = pygame.Surface((width, height)).convert_alpha()
        image.blit(self.sheet, (0, 0), (frame * width, 576, width, height))
        image = pygame.transform.scale(image, (width * scale, height * scale))
        image.set_colorkey(colour)
        return image
int the main.py
import math

import pygame.mixer
from pygame.locals import *

import spritesheet
from functions import *
from menu import menu

black = 0, 0, 0
animation_list = []
animation_step = 8
last_update = pygame.time.get_ticks()
animation_cooldown = 100

sprite_sheet_image = player_img = pygame.image.load('textures/spritesheet.png').convert_alpha()
sprite_sheet = spritesheet.SpriteSheet(sprite_sheet_image)

for i in range(animation_step):
    animation_list.append(sprite_sheet.get_image(i, 64, 64, 1, black))

def game():
    # animation of the player
    last_update = pygame.time.get_ticks()
    current_time = pygame.time.get_ticks()
    if current_time - last_update >= animation_cooldown:
        model.frame += 1
        if model.frame >= animation_step:
            model.frame = 0
        last_update = current_time
def start():
    pygame.mixer.music.load(liste_music[model.level - 1])
    pygame.mixer.music.play()
    model.is_running = True
    while model.is_running:
        if model.show_menu == 1:
            menu()
        else:
            game()


start()```

What is model and where is it from?

thank you for your reply but the problem has been resolved.
Model is another .py doc where is stocked most of the variable as frame that is equal to 0.
I can send you the github repo if you want