Command line AI for customer data
Project description
Chuck Data
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a06eec57fef7cb8c6575b57ec2a2dd4a85fe527f8f6f0c2a4d5f9c8434d6f31a
|
|
| MD5 |
a7df5a9c13a3590dd4ca58b3f2e13b7b
|
|
| BLAKE2b-256 |
f2b38aff3a9013200bd78e610a11de24d465c794439d3b40f44382c49631cc33
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fd1525689cc689e602a90510f63fa97f972059d6bc3be3b7ab1fbb56a7b7db95
|
|
| MD5 |
5ddca5a51fd3b486db26eded07de71ed
|
|
| BLAKE2b-256 |
0d22da6ac2adc6ad9357ff258b3c3e74c657183dea05f160a467bcb17f5f7de6
|