Skip to main content

Scorable logo

Measurement & Control for LLM Automations

The scorable CLI is a powerful command-line tool for interacting with the Scorable API. It provides a convenient way to manage and execute your Judges directly from the terminal.

Installation

You can install the scorable CLI using the following command, which downloads and installs the script to /usr/local/bin:

curl -sSL https://scorable.ai/cli/install.sh | sh

Alternatively, you can install and run the CLI using uvx:

uvx scorable-cli judge list

Authentication

Before using the CLI, you must set your Scorable API key as an environment variable:

# Sign up for a free account at https://scorable.ai/register
export SCORABLE_API_KEY="your-api-key"

Temporary API keys

If no API key is set, the CLI can create a temporary key interactively and save it to ~/.scorable/settings.json as temporary_api_key. Permanent keys should be set via the SCORABLE_API_KEY environment variable, which takes precedence.

Usage

The CLI is organized into a main command, scorable, with subcommands for different functionalities. The primary resource you'll interact with is the judge.

Judge Management

All Judge-related commands are available under the scorable judge subcommand.

list

List all available Judges, with options for filtering and pagination.

scorable judge list

Options:

  • --page-size: Number of results to return per page.
  • --cursor: The pagination cursor value.
  • --search: A search term to filter by.
  • --name: Filter by exact judge name.
  • --ordering: Which field to use for ordering the results.
  • --is-preset / --not-is-preset: Filter by preset status.
  • --is-public / --not-is-public: Filter by public status.
  • --show-global / --not-show-global: Filter by global status.

get

Retrieve a specific Judge by its ID.

scorable judge get <judge_id>

create

Create a new Judge.

scorable judge create --name "My New Judge" --intent "To evaluate the quality of LLM responses."

Options:

  • --name: The name for the new judge (required).
  • --intent: The intent for the new judge (required).
  • --stage: The stage for the new judge.
  • --evaluator-references: JSON string for evaluator references. E.g., '[{"id": "eval-id"}]'

update

Update an existing Judge.

scorable judge update <judge_id> --name "My Updated Judge Name"

Options:

  • --name: The new name for the judge.
  • --stage: The new stage for the judge.
  • --evaluator-references: JSON string to update evaluator references. Use "[]" to clear.

delete

Delete a Judge by its ID. You will be prompted for confirmation.

scorable judge delete <judge_id>

duplicate

Duplicate an existing Judge.

scorable judge duplicate <judge_id>

Judge Execution

execute

Execute a Judge with specific inputs.

scorable judge execute <judge_id> --request "What is the capital of France?" --response "Paris"

Options:

  • --request: Request text.
  • --response: Response text to evaluate.
  • --contexts: JSON list of context strings. E.g., '["Retreived document from a knowledge base"]'
  • --expected-output: Expected output text.
  • --tag: Add one or more tags.
  • --user-id: User identifier for tracking purposes.
  • --session-id: Session identifier for tracking purposes.
  • --system-prompt: System prompt that was used for the LLM call.

Using stdin input:

You can pipe input directly to the --response parameter:

echo "Paris" | scorable judge execute <judge_id> --request "What is the capital of France?"
cat response.txt | scorable judge execute <judge_id>

With tracking parameters:

scorable judge execute <judge_id> \
  --response "Paris" \
  --user-id "user-123" \
  --session-id "session-456" \
  --system-prompt "You are a helpful assistant."

execute-by-name

Execute a Judge by its name.

scorable judge execute-by-name "My New Judge" --request "What is the capital of France?" --response "Paris"

Options:

  • --request: Request text.
  • --response: Response text to evaluate.
  • --contexts: JSON list of context strings. E.g., '["ctx1"]'
  • --expected-output: Expected output text.
  • --tag: Add one or more tags.
  • --user-id: User identifier for tracking purposes.
  • --session-id: Session identifier for tracking purposes.
  • --system-prompt: System prompt that was used for the LLM call.

Input can also be piped in similar way as with execute.

Prompt testing

Initialize a prompt testing experiment config and run it.

scorable prompt-test init
scorable prompt-test run

Development

This project uses uv for dependency management. To set up the development environment, run:

. .venv/bin/activate
uv pip sync pyproject.toml

Metadata

Release files for scorable-cli 0.1.6

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

Source distribution (sdist)

Source distribution for scorable-cli 0.1.6
File Size Uploaded Provenance
scorable_cli-0.1.6.tar.gz 18.9 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for scorable-cli 0.1.6
File Interpreter ABI Platform
scorable_cli-0.1.6-py3-none-any.whl Python 3 none any Details

Total release size: 31.7 kB

Release files / scorable_cli-0.1.6.tar.gz

Download URL scorable_cli-0.1.6.tar.gz
Size 18.9 kB
Tags Source
SHA-256 checksum
How to use checksums
82627d1f6561f77120ed46ac5f79e61813baabb1f06705617cd70fe566d4ab71
BLAKE2b-256 checksum
How to use checksums
2cf1df619439dc4e4f4a541c2b76dc33e64d25ec96f05486d763ebfb297890b0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.7.2

Release files / scorable_cli-0.1.6-py3-none-any.whl

Download URL scorable_cli-0.1.6-py3-none-any.whl
Size 12.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3c36fa7e663465cfab6ca3d7195825cec119c32331ccc237ed190282761bde51
BLAKE2b-256 checksum
How to use checksums
78677705b8a986ea6b805c43404bec24f8126a3949ed2a02ead055bfaa79cc22
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.7.2

Security for scorable-cli 0.1.6

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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