Skip to main content

Command line AI for customer data

Project description

Chuck Data

Python Tests and Linting

A text-based user interface (TUI) for managing Databricks resources including Unity Catalog, SQL warehouses, models, and volumes. Chuck Data provides an interactive shell environment for data engineering tasks with AI-powered assistance.

Features

  • Interactive TUI for managing Databricks resources
  • AI-powered data engineering assistance
  • Authentication with Databricks using personal access tokens
  • List and select available LLM models from Databricks Model Serving
  • Browse Unity Catalog resources (catalogs, schemas, tables)
  • Manage SQL warehouses
  • Profile database tables with automated PII detection (via LLMs)
  • Support for Amperity operations
  • Command-based interface with both modern commands and slash commands

Installation

pip install chuck-data

Usage

Chuck Data provides an interactive text-based user interface. Run the application using:

chuck-data [options]

Command Line Options

  • --version - Show program version and exit
  • --no-color - Disable color output
  • --help - Show help message and exit

The application will launch an interactive TUI where you can use various commands to manage your Databricks resources.

Available Commands

Chuck Data supports a command-based interface with slash commands that can be used within the interactive TUI. Type /help within the application to see all available commands.

Authentication & Workspace

  • /login, /amperity-login - Log in to Amperity
  • /databricks-login, /set-token - Set Databricks API token
  • /logout - Log out from Amperity or other authentication services
  • /workspace - Select a workspace configuration

Catalog & Schema Management

  • /catalogs - List catalogs in Unity Catalog
  • /schemas - List available schemas in Unity Catalog
  • /tables - List available tables in Unity Catalog
  • /catalog - Get information about a specific catalog
  • /schema - Get information about a specific schema
  • /table - Get specific table from Unity Catalog
  • /select-catalog - Select a catalog for future operations
  • /select-schema - Select a schema for future operations

Model & Endpoint Management

  • /models - List available models from Databricks API
  • /list-models - List available models with filtering and detailed information
  • /model - Set the active model

SQL Warehouse Management

  • /warehouses - List available SQL warehouses
  • /warehouse - Set SQL warehouse ID
  • /select-warehouse - Set the active SQL warehouse for database operations
  • /create-warehouse - Create a new SQL warehouse in the Databricks workspace
  • /run-sql - Execute SQL query against the active warehouse

Volume Management

  • /list-volumes, /volumes - List volumes in a Unity Catalog schema
  • /create-volume - Create a new volume in Unity Catalog
  • /upload-file - Upload a file to a Unity Catalog volume

PII & Data Management

  • /scan-pii - Scan a table for PII data using active model
  • /tag-pii - Tag detected PII columns in a table
  • /setup-stitch - Configure Stitch integration
  • /add-stitch-report - Add a Stitch report to a Unity Catalog table

Job Management

  • /jobs - List available jobs in Databricks workspace
  • /job-status - Check status of a specific job

Utilities

  • /help - Display help information about available commands
  • /status - Show current connection status
  • /agent - Interact with the AI agent
  • /bug - Report a bug
  • /exit - Exit the application

Development

Requirements

  • Python 3.10 or higher
  • uv - Python package installer and resolver

Install the project with development dependencies:

uv pip install -e .[dev]

Testing

Run the test suite:

uv run -m pytest

Run linters and static analysis:

uv run ruff .
uv run black --check --diff src tests
uv run pyright

For test coverage:

uv run -m pytest --cov=src

CI/CD

This project uses GitHub Actions for continuous integration:

  • Automated testing on Python 3.10
  • Code linting with flake8
  • Format checking with Black

The CI workflow runs on every push to main and on pull requests. You can also trigger it manually from the Actions tab in GitHub.

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

chuck_data-0.1.0.tar.gz (773.7 kB view details)

Uploaded Source

Built Distribution

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

chuck_data-0.1.0-py3-none-any.whl (249.4 kB view details)

Uploaded Python 3

File details

Details for the file chuck_data-0.1.0.tar.gz.

File metadata

  • Download URL: chuck_data-0.1.0.tar.gz
  • Upload date:
  • Size: 773.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.4

File hashes

Hashes for chuck_data-0.1.0.tar.gz
Algorithm Hash digest
SHA256 a06eec57fef7cb8c6575b57ec2a2dd4a85fe527f8f6f0c2a4d5f9c8434d6f31a
MD5 a7df5a9c13a3590dd4ca58b3f2e13b7b
BLAKE2b-256 f2b38aff3a9013200bd78e610a11de24d465c794439d3b40f44382c49631cc33

See more details on using hashes here.

File details

Details for the file chuck_data-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: chuck_data-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 249.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.4

File hashes

Hashes for chuck_data-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fd1525689cc689e602a90510f63fa97f972059d6bc3be3b7ab1fbb56a7b7db95
MD5 5ddca5a51fd3b486db26eded07de71ed
BLAKE2b-256 0d22da6ac2adc6ad9357ff258b3c3e74c657183dea05f160a467bcb17f5f7de6

See more details on using hashes here.

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