Class 'sqlite3.IntegrityError'

Pessoal boa tarde estou com o seguinte erro class ‘sqlite3.IntegrityError’ minha tabela está vazio e ao tentar incluir aparece esse erro segue abaixo estrutura do .py. Alguem poderia me ajudar ?

import conexao
import os
from datetime import date

hoje = date.today()
dia = hoje.day
mes = hoje.month
ano = hoje.year

def telaInclusaoClientes():
    while True:
        print('-' * 61)
        print('SPV              Inclusao de Clientes                        ')
        print('Modulo: incluiCli                                            ')
        print('-------------------------------------------------------------\n')
        conexao.conecta()
        sql = 'SELECT Clicodigo MAX FROM clientes'
        cod = conexao.executaSql(sql)
        global codigo
        for dados in cod:
            codigo = dados[0]
        print('Codigo: %d' %(int(codigo) + 1))
        nome = input('Nome: ')
        endereco = input('Endereco: ')
        bairro = input('Bairro: ')
        cidade = input('Cidade: ')
        uf = input('UF: ')
        fone = input('Fone: ')
        
        codi = int(codigo) + 1
        nome = nome.upper()
        endereco = endereco.upper()
        bairro = bairro.upper()
        cidade = cidade.upper()
        uf = uf.upper()
        data = str(dia+mes+ano)

        print('\n')
        decisao = input('Salvar dados  s/n: ')
        if decisao.upper() == 'S':
            sqlInseri = "INSERT INTO clientes (Clicodigo,CliNome,CliEndereco,CliBairro,CliCidade,CliUf,CliFone,CliData)VALUES ('codi','"+nome+"','"+endereco+"','"+bairro+"','"+cidade+"','"+uf+"','"+fone+"','data')"
            conexao.gravaSql(sqlInseri)
        else:
            break

Não uso muito o sqlite, mas acredito que o erro possa ser nos codi e data que está passando no VALUES do seu insert, você está passando string para os seus campos codigo e data e não a variável codi e data que você cria mais acima no seu código. Logo, o código deve estar esperando receber um número e a data um data, porém ambos recebem uma string, isso explica o sqlite3.IntegrityError (Erro de Integridade) que está tento.

Corrigindo o insert e colocando ‘"+codi+"’ e ‘"+data+"’, que nem você fez para as outras variáveis do insert pode ser que resolve o seu problema.