signate-deploy
A CLI tool to automate SIGNATE competition workflows via GitHub Actions.
git push → GitHub Actions → Download data → Train → Submit to SIGNATE
signate-deploy init-repo # Set up GitHub Actions workflows
signate-deploy setup-token # Get SIGNATE token & set GitHub Secret
signate-deploy competition-list # List available competitions
signate-deploy task-list <comp_key> # Get task_key from competition
signate-deploy file-list <task_key> # Get file_keys from task
signate-deploy init my-comp \
--task-key <task_key> \
--file-key train:<key> \
--file-key test:<key> # Create competition directory
signate-deploy submit my-comp \
--memo "Baseline v1" # Trigger train & submit
signate-deploy download my-comp # Trigger data download only
Installation
pip install signate-deploy
Prerequisites: GitHub CLI (
gh) must be installed and authenticated.
Quick Start
1. Install signate CLI
pip install signate
The signate CLI is required to fetch your API token and get file keys. It is a separate package from signate-deploy.
2. Set up GitHub Actions
In your GitHub repository root:
python -m signate_deploy init-repo
Creates:
.github/workflows/signate-submit.yml— full pipeline (download → train → submit).github/workflows/signate-download.yml— data download onlyscripts/refresh_signate_token.py— auto token refresh script
3. Set SIGNATE credentials as GitHub Secrets
Run inside your repository directory:
gh secret set SIGNATE_EMAIL --body your@email.com
gh secret set SIGNATE_PASSWORD # prompted securely
gh secret set WANDB_API_KEY # if using W&B experiment tracking
The generated scripts/refresh_signate_token.py is called at the start of every Actions run to obtain a fresh token automatically — no manual token refresh needed.
Windows (cmd.exe): Use
python -m signate_deployinstead ofsignate-deploysince the Scripts folder may not be on PATH.
4. Get task_key and file_keys
# Find your competition_key from the competition URL:
# https://user.competition.signate.jp/.../detail/?competition=THIS_IS_COMPETITION_KEY
# Get task_key from competition_key
python -m signate_deploy task-list <competition_key>
# Get file_keys from task_key
python -m signate_deploy file-list <task_key>
You can also browse available competitions with
python -m signate_deploy competition-list.
5. Create competition directory
python -m signate_deploy init my-comp \
--task-key abc123def456 \
--file-key train:5f0e1ebb35af4963 \
--file-key test:72f23ebe8f004fa0 \
--file-key sample_submit:ad3502af26b9
Creates:
my-comp/
signate-config.json # task_key and file_keys
train.py # LightGBM 5-fold CV template
requirements.txt # pandas, numpy, scikit-learn, lightgbm
6. Edit train.py and push
# Edit my-comp/train.py (set TARGET column name, add preprocessing, etc.)
git add my-comp/ && git commit -m "Add my-comp baseline" && git push
7. Submit
python -m signate_deploy submit my-comp --memo "Baseline v1"
# → gh workflow run signate-submit.yml is triggered
# Check progress
gh run list --limit 1
gh run view --log
signate-config.json
{
"task_key": "your_task_key",
"file_keys": {
"train": "file_key_for_train_csv",
"test": "file_key_for_test_csv",
"sample_submit": "file_key_for_sample_submit_csv"
}
}
Notes
- ⚠️ Never commit
data/or.signate/— they are .gitignored byinit-repo - Requires GitHub CLI (
gh) to be installed and authenticated - Works on any OS (Windows/Mac/Linux)
Commands
signate-deploy competition-list
参加可能なコンペティション一覧を表示する.
signate-deploy download
GitHub Actions経由でSIGNATEからデータをダウンロードする.
signate-deploy download COMPETITION_DIR [OPTIONS]
signate-deploy file-list
タスクのファイル一覧を表示する(file_keyを確認できる).
signate-deploy file-list TASK_KEY [OPTIONS]
signate-deploy init
コンペ用ディレクトリを雛形から生成する.
signate-deploy init COMPETITION_DIR [OPTIONS]
| Option | Description |
|---|---|
--task-key |
SIGNATEのtask_key(コンペURLから取得) |
--file-key |
ファイルキー(例: --file-key train:abc123 --file-key test:def456) |
signate-deploy init-repo
リポジトリにGitHub Actionsワークフローと.gitignoreをセットアップする.
| Option | Description |
|---|---|
--force, -f |
既存ファイルを上書きする |
signate-deploy setup-token
SIGNATEトークンを取得してBase64エンコードする.
| Option | Description |
|---|---|
--email |
SIGNATEのメールアドレス |
--set-secret |
GitHub Secretsに自動設定する |
signate-deploy submit
GitHub Actions経由でSIGNATEに提出する.
signate-deploy submit COMPETITION_DIR [OPTIONS]
| Option | Description |
|---|---|
--memo, -m |
提出メモ (default: GitHub Actions submission) |
signate-deploy task-list
コンペティションのタスク一覧を表示する(task_keyを確認できる).
signate-deploy task-list COMPETITION_KEY [OPTIONS]
Links
Metadata
Release files for signate-deploy 0.1.9
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| signate_deploy-0.1.9.tar.gz | 14.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| signate_deploy-0.1.9-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 31.5 kB
Release files / signate_deploy-0.1.9.tar.gz
| Download URL | signate_deploy-0.1.9.tar.gz |
|---|---|
| Size | 14.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
db1760202e79250573d0d237dc7b639e594348672044c379dedbdef0bb420115
|
|
BLAKE2b-256 checksum How to use checksums |
97b5c08194cb796d5b880a680cdf173f860aef364a7b1160e6e460ccc7308f17
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 7, 2026.
Transparency logRelease files / signate_deploy-0.1.9-py3-none-any.whl
| Download URL | signate_deploy-0.1.9-py3-none-any.whl |
|---|---|
| Size | 17.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7215b984d5a6de915573a31df9bfd9f16d7e3360ec9e83febbe3fb74dd5a341c
|
|
BLAKE2b-256 checksum How to use checksums |
973b300a1903d38310184e3691c02e65276a0fd5af74d4363420dc9c73ba006d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 7, 2026.
Transparency log