Quackmire is an interactive DuckDB client written in Rust using the ratatui library. It provides a terminal-based interface for executing SQL queries and exploring data files.
- File explorer for easy navigation of scripts and data files
- Multi-line query input area
- Results display in a customizable table format
- Error handling with pop-up notifications
To install Quackmire, you need to have Rust and Cargo installed on your system. If you don't have them installed, follow the instructions on the official Rust website.
Once Rust is installed, clone this repository and build the project:
git clone https://github.com/yourusername/quackmire.git
cd quackmire
cargo build --release
The compiled binary will be available in target/release/quackmire
.
To start Quackmire, run:
./target/release/quackmire
Super + Arrow keys
: Navigate the file explorerF2
: Execute the current queryCtrl + O
: Open and load a file into the query areaCtrl + S
: Insert the current file path into the query areaEsc
: Exit the application or close error popup
We welcome contributions to Quackmire! Here's how you can help:
- Fork the repository
- Create a new branch (
git checkout -b feature/amazing-feature
) - Make your changes
- Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
Please make sure to update tests as appropriate and adhere to the existing coding style.
This project is licensed under the MIT License - see the LICENSE file for details.
If you have any questions or feedback, please open an issue on this repository.
Happy querying with Quackmire! 🦆