High-Performance API Testing & Load Platform
Postman-compatible UI + C++ speed for thousands of requests/sec — all local, no cloud.
Vayu gives you the familiar request builder and collections of Postman, but with a blazing-fast C++ engine that crushes load tests and high-throughput scenarios without slowing down your machine.
Privacy-first, 100% offline execution. Built for developers who hate waiting.
| Feature | Vayu | k6 | Apache JMeter | Postman |
|---|---|---|---|---|
| Execution Engine | C++ (High Performance) | Go (Efficient / Lightweight) | Java (JVM-based) | Node.js / Electron |
| Execution Speed | Tens of Thousands RPS (Native) | High (Go-routines) | Moderate (Thread-heavy) | Limited by JS runtime |
| Scripting Language | QuickJS (pm syntax support) | JavaScript (ES6) | Groovy / BeanShell / GUI | JavaScript |
| Load Testing | Built-in (Real-time metrics) | Core focus | Core focus | Requires separate tool |
| UI / UX | Native App (Sidecar Desktop) | CLI-first (No native GUI) | Java Swing GUI (Aged) | Native App (Feature-rich) |
| UI Snappiness | Responsive (Sidecar Architecture) | N/A (CLI only) | Laggy with large test plans | Slows with large collections |
| Resource Usage | Low (Direct memory access) | Low to Moderate | High (RAM intensive) | High (Electron/Chrome) |
| Privacy | 100% Local-first | Local / Cloud hybrid | 100% Local | Cloud-heavy (Optional local) |
| Postman Import | Yes (Native compatibility, WIP) | Limited (via converters) | No (Manual migration) | Native |
| Protocols | REST | HTTP, gRPC, WebSockets | HTTP, FTP, JDBC, LDAP, SOAP | REST, GraphQL, gRPC |
| Open Source | Yes (Dual-license) | Yes (AGPLv3) | Yes (Apache 2.0) | Partial |
- High Performance - C++ engine optimized for maximum throughput
- Request Management - Organize requests into collections with folder hierarchy
- Load Testing - Run load tests with real-time metrics streaming
- Environment Variables - Manage variables across collections and environments
- Test Scripting - QuickJS-based scripting engine compatible with Postman's
pm.test()syntax - Privacy First - 100% local execution, no cloud sync required
- Cross Platform - macOS, Windows, and Linux support
Download the latest version for your platform:
- Windows: Vayu-x64.exe
- macOS: Vayu-universal.dmg
- Linux: Vayu-x86_64.AppImage
- C++ Engine: CMake 3.25+, C++20 compiler, vcpkg
- Electron App: Node.js ≥ 20 LTS, pnpm ≥ 10
Clone the repository:
git clone https://github.com/athrvk/vayu.git
cd vayuBuild and run (all platforms):
# Build everything (development mode)
python build.py --dev
# Then start the app
cd app && pnpm run electron:devQuick commands:
python build.py --dev # Development build
python build.py # Production build
python build.py -e # Engine only
python build.py -a # App only
python build.py -t # Build with tests
python build.py --help # See all optionsFor detailed setup and troubleshooting, see the Building Documentation.
Vayu uses a sidecar pattern where the Electron UI (Manager) communicates with a separate C++ daemon (Engine) via HTTP:
┌────────────────────┐ ┌────────────────────┐
│ THE MANAGER │ HTTP │ THE ENGINE │
│ (Electron/React) │◄──────►│ (C++) │
│ │ :9876 │ │
│ • Request Builder │ │ • EventLoop │
│ • Collections │ │ • QuickJS Runtime │
│ • Load Dashboard │ │ • Multi-Worker │
└────────────────────┘ └────────────────────┘
See Architecture Documentation for detailed information.
- Engine: C++20 with lock-free data structures
- Networking: libcurl for HTTP client operations
- Scripting: QuickJS for test script execution
- UI: Electron + React + TypeScript
- State Management: Zustand (UI state) + TanStack Query (server state)
- Build System: CMake + vcpkg for C++, pnpm + Vite for Electron app
| Document | Description |
|---|---|
| Architecture | System architecture and design decisions |
| Engine API Reference | HTTP API for controlling the engine |
| Building | Build instructions for all platforms |
| Engine Building | Building just the C++ engine |
| Contributing | Guidelines for contributing |
Contributions are welcome! Please read the Contributing Guide for details on:
- Development setup
- Code style guidelines
- Testing requirements
- Commit message conventions
- Pull request process
The canonical version for releases is stored in the top-level VERSION file. The CI workflow uses a pushed Git tag to publish artifacts.
Key points:
- The workflow triggers on tag pushes that follow the
v*pattern (for examplev0.1.1). - Electron produces installer filenames that already contain the version (for example
Vayu Setup 0.1.1.exeandVayu-0.1.1-x86_64.AppImage), and the workflow uploads those files to the Release as-is.
How to create a release (recommended):
- Bump the version using the build script:
python build.py --bump-version patch # 0.1.1 -> 0.1.2
# or
python build.py --bump-version 0.1.2 # set specific version
# Preview changes first
python build.py --bump-version patch --dry-run- Commit the changes:
git add VERSION engine/include/vayu/version.hpp engine/CMakeLists.txt engine/vcpkg.json app/package.json
git commit -m "chore(release): 0.1.2"- Create and push a tag that matches the
VERSIONfile, prefixed withv:
git tag v$(cat VERSION)
git push origin --tags- The workflow will run on the pushed tag, execute tests and builds, and upload installers to the Release associated with that tag.
Notes:
- The
VERSIONfile is the single source of truth; maintain it before pushing tags.
Vayu is a dual-licensed project:
- Vayu Engine (
/engine): Licensed under GNU AGPL v3. - Vayu UI (
/app): Licensed under Apache 2.0.
Usage Note: You are free to use Vayu for any purpose. If you modify the Engine and provide it as a network service, you must open-source your changes. The UI is more permissive and allows for easier development.