0349b795280897e025a2b2e4bd47d3eda052ac05
agx
agx is a desktop application built with Tauri and SvelteKit that provides a modern interface for exploring and querying data using ClickHouse's embedded database engine (chdb).
Features
- Native desktop application performance with web technologies
- Interactive SQL query editor with syntax highlighting
- Schema browser for exploring data structure
- Results displayed in a tabular format
- Support for drag & drop file operations
- Cross-platform compatibility (macOS, Linux, Windows)
Prerequisites
- Node.js (v16 or later)
- Rust toolchain
- System dependencies for Tauri
Getting Started
- Clone the repository:
git clone https://github.com/agnosticeng/agx
cd agx
- Download and setup chdb library:
./src-tauri/update_libchdb.sh
- Install dependencies:
npm install
- Run in development mode:
npm run tauri dev
- Build for production:
npm run tauri build
Project Structure
agx/
├── src/ # Frontend source code (SvelteKit)
│ ├── lib/ # Shared components
│ └── routes/ # Application routes
├── src-tauri/ # Backend source code (Rust)
│ ├── src/ # Rust source files
│ └── Cargo.toml # Rust dependencies
├── package.json # Node.js dependencies
└── README.md
Development
- The frontend is built with SvelteKit, offering a reactive and efficient UI
- The backend uses Tauri with Rust, providing native performance and security
- Communication between frontend and backend happens through Tauri's IPC bridge
- Data querying is handled by chdb, an embedded ClickHouse engine
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This project is licensed under the MIT License - see the LICENSE file for details.
The MIT License is one of the most popular open-source licenses because it:
- Is simple and permissive
- Allows commercial use
- Allows modification and distribution
- Allows private use
- Has minimal restrictions
- Is compatible with many other licenses
Languages
Svelte
62.3%
TypeScript
29.6%
Shell
2.4%
Rust
2.2%
CSS
2.1%
Other
1.4%