#athena #aws #sql #query-execution #execute-query #sql-database

app athena-cli

A command-line interface for AWS Athena with interactive query execution and result management

1 unstable release

new 0.1.0 Feb 27, 2025

#745 in Database interfaces

MIT license

34KB
551 lines

AWS Athena CLI

A command-line interface tool written in Rust for interacting with AWS Athena, providing a streamlined experience similar to the Athena web console.

Purpose

  • Execute SQL queries against AWS Athena databases
  • List and manage workgroups
  • View query history and results
  • Manage databases and tables
  • Save frequently used queries

Installation

  1. Ensure you have Rust installed (1.70 or later)
  2. Clone this repository
  3. Run cargo install --path .
  4. Copy config.example.toml to ~/.config/athena-cli/config.toml and update with your settings

Usage

Basic commands:

  • athena-cli query "SELECT * FROM table" - Execute a query
  • athena-cli workgroup list - List available workgroups
  • athena-cli db list - List databases
  • athena-cli history - Show recent queries

Configuration

For configuration, edit ~/.config/aws-athena-cli/config.toml to set:

  • Default workgroup
  • Output location
  • AWS credentials (if not using AWS CLI configuration)

Requirements

  • AWS account with Athena access
  • Configured AWS credentials
  • Rust 1.70+

For detailed documentation and examples, see the Wiki.

Milestones

Completed ✅

  • Authorize athena with SSO profile and ENV variables
  • Basic query execution with AWS Athena
  • Configuration management with TOML config file
  • Query result caching and reuse
  • Polars integration for DataFrame handling
  • Query history tracking

Coming Soon 🚀

  • Get detail a history query
  • Database schema exploration
  • Export results to various formats (CSV, JSON, Parquet)
  • Custom output formatting

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Dependencies

~35–48MB
~760K SLoC