Skip to content

MarcosCost/HyraxQL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rock Hyrax

HyraxQL

“Awawa!”
- with Fur, Bullshit
A lightning-fast, lightweight database explorer, built in rust for the modern terminal.

Rust Edition License PRs Welcome


🧬 What is HyraxQL?

HyraxQL is a minimalist database exploration tool built with Rust. It aims to provide a "middle ground" for developers who find full GUI clients (like DBeaver or PGAdmin) too heavy, but find raw psql or mysql shells too restrictive for quick data exploration.

Named after the Hyrax—a small, tough, and surprisingly agile animal—this tool is designed to be small in footprint but powerful in execution.

Key Pillars

  • Performance: Zero-cost abstractions and Rust's safety ensure your explorer never lags.
  • Simplicity: No need for complex configuration files. Just point to a connection string and go.
  • Universal Interface: One set of commands, regardless of whether you're on Postgres, MySQL, or SQLite.

🔌 Compatible With

  • 🐘 PostgreSQL (including CockroachDB, TimescaleDB, and any other database that speaks the PostgreSQL wire protocol)
  • 🐬 MySQL & MariaDB (including any database that speaks the MySQL wire protocol)
  • 🪶 SQLite (file-based or local in-memory)

🏗 Technical Stack

HyraxQL is built on the shoulders of giants in the Rust ecosystem:

  • SQLx: For asynchronous, compile-time verified (planned) database interactions.
  • Clap: Powering the robust CLI argument parsing.
  • Rustyline: Providing the Readline-like interactive shell experience.
  • Tokio: The asynchronous runtime driving the entire application.

🛠 Developer Setup

Prerequisites

Building from Source

# Clone the repository
git clone https://github.com/your-username/hyraxql.git
cd hyraxql

# Build for development
cargo build

# Run directly
cargo run -- connect --url "sqlite::memory:"

Running Tests

cargo make test

🗺 Roadmap

  • Basic PostgreSQL/MySQL/SQLite support.
  • Interactive TUI loop.
  • Native query execution and result formatting.
  • Table schema visualization.
  • Connection bookmarks/profiles.
  • NoSQL and column-oriented databases adapters.
  • Non-cli application.
  • Automatically generated simple and editable ER.

Keep in mind this is a side project and might have no active development done on it for long intervals at a time.


📚 Documentation

  • Usage Guide: Detailed command reference, flags, and keyboard shortcuts.

🤝 Contributing

Contributions are welcome, but please anticipate long wait times for code reviews and feature integrations. I simply do not have the free time to commit to a fixed or timely review schedule as of right now.

To contribute:

  1. Check the Issues for open tasks.
  2. Ensure your code passes cargo fmt and cargo clippy.
  3. Submit a PR with a clear description of your changes.

📄 License

HyraxQL is open-source software licensed under the MIT License.

About

A lightning-fast, lightweight database explorer TUI

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages