An open API service indexing awesome lists of open source software.

https://github.com/agnosticeng/agx

Query and explore local and remote data with Clickhouse
https://github.com/agnosticeng/agx

clickhouse d3 data rust svelte

Last synced: 3 months ago
JSON representation

Query and explore local and remote data with Clickhouse

Awesome Lists containing this project

README

        

# 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

1. Clone the repository:

```bash
git clone https://github.com/agnosticeng/agx
cd agx
```

2. Download and setup chdb library:

```bash
./src-tauri/update_libchdb.sh
```

3. Install dependencies:

```bash
npm install
```

4. Run in development mode:

```bash
npm run tauri dev
```

5. Build for production:

```bash
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
```

## Installing Agnostic UDF

Install Agnostic ClickHouse UDFs with a single command:

```bash
curl -fsSL https://raw.githubusercontent.com/agnosticeng/agx/main/scripts/install_agnostic_udfs.sh | sh
```

## 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](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