Instale o pacote kagglehub
com pip:
pip install kagglehub
A autenticação só é necessária para acessar recursos públicos que exigem o consentimento do usuário ou recursos privados.
Primeiro, você precisará de uma conta Kaggle. Você pode se inscrever aqui.
Após o login, você pode baixar suas credenciais da API Kaggle em https://www.kaggle.com/settings clicando no botão "Criar novo token" na seção "API".
Você tem 3 opções diferentes para autenticar.
Isso solicitará que você insira seu nome de usuário e token:
importar kagglehubkagglehub.login()
Você também pode optar por exportar seu nome de usuário e token Kaggle para o ambiente:
exportar KAGGLE_USERNAME=datadinosaurexport KAGGLE_KEY=xxxxxxxxxxxxx
kaggle.json
Armazene seu arquivo de credenciais kaggle.json
em ~/.kaggle/kaggle.json
.
Como alternativa, você pode definir a variável de ambiente KAGGLE_CONFIG_DIR
para alterar esse local para $KAGGLE_CONFIG_DIR/kaggle.json
.
Nota para usuários do Windows: o diretório padrão é %HOMEPATH%/kaggle.json
.
Armazene seu nome de usuário e token de chave como segredos do Colab KAGGLE_USERNAME
e KAGGLE_KEY
.
Instruções sobre como adicionar segredos no Colab e no Colab Enterprise podem ser encontradas neste artigo.
Os exemplos a seguir baixam a variação answer-equivalence-bem
deste modelo Kaggle: https://www.kaggle.com/models/google/bert/tensorFlow2/answer-equivalence-bem
importar kagglehub# Baixe a versão mais recente.kagglehub.model_download('google/bert/tensorFlow2/answer-equivalence-bem')# Baixe uma versão específica.kagglehub.model_download('google/bert/tensorFlow2/answer-equivalence-bem/1 ')# Baixe um único file.kagglehub.model_download('google/bert/tensorFlow2/answer-equivalence-bem', path='variables/variables.index')# Baixe um modelo ou arquivo, mesmo que baixado anteriormente em cache.kagglehub.model_download('google /bert/tensorFlow2/answer-equivalence-bem', force_download=True)
Carrega uma nova variação (ou a versão de uma nova variação, se já existir).
import kagglehub# Por exemplo, para fazer upload de uma nova variação para este modelo:# - https://www.kaggle.com/models/google/bert/tensorFlow2/answer-equivalence-bem# # Você usaria o seguinte identificador: ` google/bert/tensorFlow2/answer-equivalence-bem`handle = '<KAGGLE_USERNAME>/<MODEL>/<FRAMEWORK>/<VARIATION>'local_model_dir = 'path/to/local/model/dir'kagglehub.model_upload(handle, local_model_dir)# Você também pode especificar algumas notas de versão (opcional)kagglehub .model_upload(handle, local_model_dir, version_notes='melhor precisão')# Você também pode especificar uma licença (opcional)kagglehub.model_upload(handle, local_model_dir, license_name='Apache 2.0')# Você também pode especificar uma lista de padrões para arquivos/diretórios a serem ignorados.# Esses padrões são combinados com `kagglehub.models.DEFAULT_IGNORE_PATTERNS` # para determinar quais arquivos e diretórios excluir. # Para ignorar diretórios inteiros, inclua uma barra final (/) no pattern.kagglehub.model_upload(handle, local_model_dir, ignore_patterns=["original/", "*.tmp"])
Os exemplos a seguir baixam o conjunto de dados Spotify Recommendation
Kaggle: https://www.kaggle.com/datasets/bricevergnou/spotify-recommendation
import kagglehub# Baixe a versão mais recente.kagglehub.dataset_download('bricevergnou/spotify-recommendation')# Baixe uma versão específica.kagglehub.dataset_download('bricevergnou/spotify-recommendation/versions/1')# Baixe um único arquivokagglehub.dataset_download( 'bricevergnou/recomendação spotify', path='data.csv')# Baixe um conjunto de dados ou arquivo, mesmo que baixado anteriormente em cache.kagglehub.dataset_download('bricevergnou/spotify-recommendation', force_download=True)
Carrega um novo conjunto de dados (ou uma nova versão, se já existir).
import kagglehub# Por exemplo, para fazer upload de um novo conjunto de dados (ou versão) em:# - https://www.kaggle.com/datasets/bricevergnou/spotify-recommendation# # Você usaria o seguinte identificador: `bricevergnou/spotify- recomendação`handle = '<KAGGLE_USERNAME>/<DATASET>local_dataset_dir = 'caminho/para/local/dataset/dir'# Crie um novo conjunto de dadoskagglehub.dataset_upload(handle, local_dataset_dir)# Você pode então criar uma nova versão deste conjunto de dados existente e incluir notas de versão (opcional).kagglehub.dataset_upload(handle, local_dataset_dir, version_notes='improved data')# Você também pode especifique uma lista de padrões para arquivos/diretórios ignorarem.# Esses padrões são combinados com `kagglehub.datasets.DEFAULT_IGNORE_PATTERNS` # para determinar quais arquivos e diretórios excluir. # Para ignorar diretórios inteiros, inclua uma barra final (/) no pattern.kagglehub.dataset_upload(handle, local_dataset_dir, ignore_patterns=["original/", "*.tmp"])
Os exemplos a seguir baixam a competição Digit Recognizer
Kaggle: https://www.kaggle.com/competitions/digit-recognizer
import kagglehub# Baixe a versão mais recente.kagglehub.competition_download('digit-recognizer')# Baixe um único arquivokagglehub.competition_download('digit-recognizer', path='train.csv')# Baixe uma competição ou arquivo, mesmo que anteriormente baixado para o cache. kagglehub.competition_download('reconhecedor de dígitos', force_download=True)
Usamos o hatch para gerenciar este projeto.
Siga estas instruções para instalá-lo.
# Execute todos os testes para a versão atual do Python.hatch test# Execute todos os testes para todas as versões do Python.hatch test --all# Execute todos os testes para uma versão específica do Python.hatch test -py 3.11# Execute um único teste filehatch test testes/test_ <SOME_FILE>.py
Para executar testes de integração em sua máquina local, você precisa configurar suas credenciais da API Kaggle. Você pode fazer isso de uma das duas maneiras descritas nas seções anteriores deste documento. Consulte as seções:
Usando variáveis de ambiente
Usando arquivo de credenciais
Depois de configurar suas credenciais por qualquer um desses métodos, você poderá executar os testes de integração da seguinte maneira:
#Executa todos os testes do teste de integração_testes
kagglehub
da fonte# Baixe um modelo e imprima o pathhatch execute python -c "import kagglehub; print('path: ', kagglehub.model_download('google/bert/tensorFlow2/answer-equivalence-bem'))"
# Lint checkhatch executa lint:style hachura executar lint: digitando hatch run lint:all # para ambos# Formathatch run lint:fmt
teste de hachura --cobertura
construção de hachura
hatch
dentro do DockerIsso é útil para executar em um ambiente consistente e alternar facilmente entre as versões do Python.
O seguinte mostra como executar hatch run lint:all
mas isso também funciona para qualquer outro comando de hachura:
# Use default Python version ./docker-hatch run lint:all # Use specific Python version (Must be a valid tag from: https://hub.docker.com/_/python) ./docker-hatch -v 3.9 run lint:all # Run test in docker with specific Python version ./docker-hatch -v 3.9 test
Instale as extensões recomendadas.
Configure o hatch para criar um ambiente virtual na pasta do projeto.
hatch config set dirs.env.virtual .env
Depois, crie todos os ambientes python necessários executando hatch -e all run tests
.
Por fim, configure o vscode para usar um dos ambientes selecionados: cmd + shift + p
-> python: Select Interpreter
-> Escolha uma das pastas em ./.env
A biblioteca kagglehub configurou o log automático que é armazenado em uma pasta de log. O destino do log é resolvido por meio do os.path.expanduser
A tabela abaixo contém possíveis localizações:
sistema operacional | caminho do registro |
---|---|
osx | /usuário/$NOME DE USUÁRIO/.kaggle/logs/kagglehub.log |
linux | ~/.kaggle/logs/kagglehub.log |
Windows | C:Usuários%NOME DE USUÁRIO%.kagglelogskagglehub.log |
Inclua o registro para ajudar a solucionar problemas.