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:
import kagglehub
kagglehub . login ()
Você também pode optar por exportar seu nome de usuário e token Kaggle para o ambiente:
export KAGGLE_USERNAME=datadinosaur
export KAGGLE_KEY=xxxxxxxxxxxxxx
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
import kagglehub
# Download the latest version.
kagglehub . model_download ( 'google/bert/tensorFlow2/answer-equivalence-bem' )
# Download a specific version.
kagglehub . model_download ( 'google/bert/tensorFlow2/answer-equivalence-bem/1' )
# Download a single file.
kagglehub . model_download ( 'google/bert/tensorFlow2/answer-equivalence-bem' , path = 'variables/variables.index' )
# Download a model or file, even if previously downloaded to 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
# For example, to upload a new variation to this model:
# - https://www.kaggle.com/models/google/bert/tensorFlow2/answer-equivalence-bem
#
# You would use the following handle: `google/bert/tensorFlow2/answer-equivalence-bem`
handle = '///'
local_model_dir = 'path/to/local/model/dir'
kagglehub . model_upload ( handle , local_model_dir )
# You can also specify some version notes (optional)
kagglehub . model_upload ( handle , local_model_dir , version_notes = 'improved accuracy' )
# You can also specify a license (optional)
kagglehub . model_upload ( handle , local_model_dir , license_name = 'Apache 2.0' )
# You can also specify a list of patterns for files/dirs to ignore.
# These patterns are combined with `kagglehub.models.DEFAULT_IGNORE_PATTERNS`
# to determine which files and directories to exclude.
# To ignore entire directories, include a trailing slash (/) in the 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
# Download the latest version.
kagglehub . dataset_download ( 'bricevergnou/spotify-recommendation' )
# Download a specific version.
kagglehub . dataset_download ( 'bricevergnou/spotify-recommendation/versions/1' )
# Download a single file
kagglehub . dataset_download ( 'bricevergnou/spotify-recommendation' , path = 'data.csv' )
# Download a dataset or file, even if previously downloaded to 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
# For example, to upload a new dataset (or version) at:
# - https://www.kaggle.com/datasets/bricevergnou/spotify-recommendation
#
# You would use the following handle: `bricevergnou/spotify-recommendation`
handle = ' < KAGGLE_USERNAME > / < DATASET >
local_dataset_dir = 'path/to/local/dataset/dir'
# Create a new dataset
kagglehub . dataset_upload ( handle , local_dataset_dir )
# You can then create a new version of this existing dataset and include version notes (optional).
kagglehub . dataset_upload ( handle , local_dataset_dir , version_notes = 'improved data' )
# You can also specify a list of patterns for files/dirs to ignore.
# These patterns are combined with `kagglehub.datasets.DEFAULT_IGNORE_PATTERNS`
# to determine which files and directories to exclude.
# To ignore entire directories, include a trailing slash (/) in the 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
# Download the latest version.
kagglehub . competition_download ( 'digit-recognizer' )
# Download a single file
kagglehub . competition_download ( 'digit-recognizer' , path = 'train.csv' )
# Download a competition or file, even if previously downloaded to cache.
kagglehub . competition_download ( 'digit-recognizer' , force_download = True )
Usamos o hatch para gerenciar este projeto.
Siga estas instruções para instalá-lo.
# Run all tests for current Python version.
hatch test
# Run all tests for all Python versions.
hatch test --all
# Run all tests for a specific Python version.
hatch test -py 3.11
# Run a single test file
hatch test tests/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:
Depois de configurar suas credenciais por qualquer um desses métodos, você poderá executar os testes de integração da seguinte maneira:
# Run all tests
hatch test integration_tests
kagglehub
da fonte # Download a model & print the path
hatch run python -c " import kagglehub; print('path: ', kagglehub.model_download('google/bert/tensorFlow2/answer-equivalence-bem')) "
# Lint check
hatch run lint:style
hatch run lint:typing
hatch run lint:all # for both
# Format
hatch run lint:fmt
hatch test --cover
hatch build
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 log para ajudar a solucionar problemas.