Skip to content

Latest commit

 

History

History
206 lines (129 loc) · 5.05 KB

platforms.md

File metadata and controls

206 lines (129 loc) · 5.05 KB

(cli-platforms)=

platforms - Platform Management

Manage database platform adapters, check availability, and configure platforms for use with BenchBox.

The platforms command group provides tools for:

  • Discovering available database platforms
  • Enabling/disabling platforms for benchmark execution
  • Checking platform dependencies and installation status
  • Getting installation guidance for missing dependencies
  • Interactive platform setup wizard

Subcommands

platforms list - List Available Platforms

List all database platforms with their current status and availability.

Options:

  • --all: Show all platforms including those with missing dependencies
  • --format [table|simple]: Output format (default: table)

Usage Examples:

benchbox platforms list

benchbox platforms list --all

benchbox platforms list --format simple

platforms status - Show Platform Status

Display detailed status information for platforms, including library versions and configuration.

Usage:

benchbox platforms status

benchbox platforms status duckdb
benchbox platforms status databricks

platforms enable - Enable a Platform

Enable a platform for use in benchmark execution.

Options:

  • --force: Enable platform even if dependencies are missing (not recommended)

Usage Examples:

benchbox platforms enable clickhouse

benchbox platforms enable snowflake --force

platforms disable - Disable a Platform

Disable a platform to prevent its use in benchmarks.

Usage:

benchbox platforms disable sqlite

platforms install - Installation Guide

Get step-by-step installation guidance for platform dependencies.

Options:

  • --dry-run: Show installation commands without explaining

Usage Examples:

benchbox platforms install clickhouse

benchbox platforms install databricks --dry-run

platforms check - Check Platform Availability

Check platform availability and configuration status. Useful for CI/CD validation.

Options:

  • --enabled-only: Check only enabled platforms

Usage Examples:

benchbox platforms check

benchbox platforms check --enabled-only

benchbox platforms check duckdb databricks bigquery

Exit Codes:

  • 0: All checked platforms are ready
  • 1: One or more platforms have issues

platforms setup - Interactive Setup Wizard

Launch an interactive wizard to configure platforms. Guides you through enabling, disabling, and installing platforms.

Options:

  • --interactive / --non-interactive: Setup mode (default: interactive)

Usage Examples:

benchbox platforms setup

benchbox platforms setup --non-interactive

Common Workflows

First-Time Setup

benchbox platforms list

benchbox platforms status

benchbox platforms install clickhouse

benchbox platforms enable clickhouse
benchbox platforms enable duckdb

benchbox platforms check --enabled-only

In order, these commands:

  1. Check what is available.
  2. Check detailed status.
  3. Install missing dependencies.
  4. Enable the platforms you want to use.
  5. Verify that everything is ready.

Cloud Platform Setup

benchbox platforms enable databricks

benchbox setup --platform databricks

benchbox platforms status databricks

In order, these commands enable the cloud platform, configure credentials (a separate command) and verify availability.

Troubleshooting

benchbox platforms status <platform>

benchbox platforms install <platform>

benchbox platforms enable <platform>

benchbox platforms check <platform>

In order, these commands check whether the platform dependencies are installed, get installation guidance, re-enable the platform after installing dependencies and verify that the platform works.

Platform Categories

BenchBox supports platforms in several categories:

  • Analytical: DuckDB, ClickHouse (columnar OLAP engines)
  • Cloud: Databricks, Snowflake, BigQuery, Redshift (cloud warehouses)
  • Embedded: SQLite (lightweight row-store database)

Configuration

Platform configuration is stored in ~/.benchbox/platforms.yaml:

enabled:
  - duckdb
  - clickhouse
  - databricks

You can manually edit this file, but it's recommended to use the platforms enable/disable commands.

Notes

  • Credentials vs. Availability: The platforms commands manage platform availability (dependencies installed). For cloud platforms, you also need to configure credentials using benchbox setup --platform <name>.
  • Dependency Management: Platform dependencies are installed via pip or uv. The platforms install command provides guidance but doesn't execute installations automatically.
  • Enabled by Default: Most platforms are enabled by default if their dependencies are detected. You only need to explicitly enable platforms if you've previously disabled them.

Related