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:
# List enabled and available platforms
benchbox platforms list
# Show all platforms including unavailable
benchbox platforms list --all
# Simple list format
benchbox platforms list --format simple
platforms status - Show Platform Status¶
Display detailed status information for platforms, including library versions and configuration.
Usage:
# Show status for all platforms
benchbox platforms status
# Show detailed status for specific platform
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:
# Enable a platform
benchbox platforms enable clickhouse
# Force enable (skip dependency check)
benchbox platforms enable snowflake --force
platforms disable - Disable a Platform¶
Disable a platform to prevent its use in benchmarks.
Usage:
# Disable a platform
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:
# Get installation guide for platform
benchbox platforms install clickhouse
# Show only installation commands
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:
# Check all platforms
benchbox platforms check
# Check only enabled platforms
benchbox platforms check --enabled-only
# Check specific platforms
benchbox platforms check duckdb databricks bigquery
Exit Codes:
0: All checked platforms are ready1: 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:
# Interactive platform setup
benchbox platforms setup
# Non-interactive: auto-enable all available platforms
benchbox platforms setup --non-interactive
Common Workflows¶
First-Time Setup¶
# 1. Check what's available
benchbox platforms list
# 2. Check detailed status
benchbox platforms status
# 3. Install missing dependencies
benchbox platforms install clickhouse
# 4. Enable platforms you want to use
benchbox platforms enable clickhouse
benchbox platforms enable duckdb
# 5. Verify everything is ready
benchbox platforms check --enabled-only
Cloud Platform Setup¶
# 1. Enable the cloud platform
benchbox platforms enable databricks
# 2. Configure credentials (separate command)
benchbox setup --platform databricks
# 3. Verify availability
benchbox platforms status databricks
Troubleshooting¶
# Check if platform dependencies are installed
benchbox platforms status <platform>
# Get installation guidance
benchbox platforms install <platform>
# Re-enable platform after installing dependencies
benchbox platforms enable <platform>
# Verify platform is working
benchbox platforms check <platform>
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
platformscommands manage platform availability (dependencies installed). For cloud platforms, you also need to configure credentials usingbenchbox setup --platform <name>.Dependency Management: Platform dependencies are installed via
piporuv. Theplatforms installcommand 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.