Skip to main content

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 only
  • scripts/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_deploy instead of signate-deploy since 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 by init-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.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for signate-deploy 0.1.8
File Size Uploaded
signate_deploy-0.1.8.tar.gz 14.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for signate-deploy 0.1.8
File Interpreter ABI Platform
signate_deploy-0.1.8-py3-none-any.whl Python 3 none any Details

Total release size: 31.3 kB

Release files / signate_deploy-0.1.8.tar.gz

Download URL signate_deploy-0.1.8.tar.gz
Size 14.0 kB
Tags Source
SHA-256 checksum
How to use checksums
26e3c31f09dcc406a37453398af4bc5ac6d8134b80734d58eed506af1e2718a0
BLAKE2b-256 checksum
How to use checksums
b1d3ea167c7005706119e65ba114183a18eb967d655ffa972f817e908ec93d80
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

Release files / signate_deploy-0.1.8-py3-none-any.whl

Download URL signate_deploy-0.1.8-py3-none-any.whl
Size 17.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
54565ff0bb1bd52c5fed5535fad3ec2e2b0882d669d29898aaf76c34838a1e3d
BLAKE2b-256 checksum
How to use checksums
2f03c3534ef3fcb9417d51ce9100a23093ee2c3f63e285a6e4da8e0230c9784d
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

Release history Release notifications | RSS feed

0.1.9

2 release files

This release

0.1.8 This release

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page