Skip to main content

A CLI tool to automate SIGNATE competition workflows via GitHub Actions

Project description

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)

Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

signate_deploy-0.1.7.tar.gz (11.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

signate_deploy-0.1.7-py3-none-any.whl (16.6 kB view details)

Uploaded Python 3

File details

Details for the file signate_deploy-0.1.7.tar.gz.

File metadata

  • Download URL: signate_deploy-0.1.7.tar.gz
  • Upload date:
  • Size: 11.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for signate_deploy-0.1.7.tar.gz
Algorithm Hash digest
SHA256 57ea28e39ed6097777ddf2c2e4b828cbac542e4b021655136dcdc7bbcfeb77e8
MD5 3010ad1492265fe63083f42b48cd1435
BLAKE2b-256 e87b509dda14ac163893d0772267baecca58298bf7dfe72a8646c138efb51772

See more details on using hashes here.

Provenance

The following attestation bundles were made for signate_deploy-0.1.7.tar.gz:

Publisher: publish.yml on yasumorishima/signate-deploy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file signate_deploy-0.1.7-py3-none-any.whl.

File metadata

  • Download URL: signate_deploy-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 16.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for signate_deploy-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 7f3b2353c9102497bbc0df61e58975ca68c3e3f64bdbef8748e48c05430f51f3
MD5 36230aa19d1072560184cb21958b3f98
BLAKE2b-256 e83b6517ba2bbd5774f7aaa6c7aa6837d66d94324d363758ca55b8536e604b17

See more details on using hashes here.

Provenance

The following attestation bundles were made for signate_deploy-0.1.7-py3-none-any.whl:

Publisher: publish.yml on yasumorishima/signate-deploy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page