Metadata-Version: 2.4
Name: Velocicode
Version: 0.4.3
Summary: A CLI tool for programming language speed benchmarks
Author-email: Code Agent <agent@example.com>
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pyyaml
Requires-Dist: rich>=13.0.0
Dynamic: license-file

# Velocicode 🚀

**Velocicode** is a high-performance command-line tool for benchmarking programming language speeds. It allows you to run standard algorithms across multiple languages and compare their execution time with professional, interactive reports.

## Features ✨

- **Multi-Language Support**: Benchmarks **Python**, **C++**, **Rust**, **Go**, and **JavaScript** (Node.js).
- **Standard Algorithms**:
  - `fibonacci` (Recursion intensity)
  - `matrix_mul` (Floating point & Cache)
  - `quicksort` (Memory & Sorting)
  - `primes` (Sieve of Eratosthenes)
- **Premium UI**:
  - Beautiful terminal output using the **Rich** library.
  - Rankings with Medals (🥇 🥈 🥉).
  - Relative Speed comparisons (e.g., `1.00x` vs `45.9x`).
- **Data Export**:
  - **JSON**: Raw data export for analysis.
  - **HTML**: Interactive reports with **Charts** for presentations.

## Installation

```bash
pip install velocicode
```

## Usage

### 1. Run Benchmarks

Run all benchmarks with default settings:

```bash
velocicode run
```

Filter by specific algorithm or language:

```bash
# Run only Matrix Multiplication in Rust and Go
velocicode run --filter-algo matrix_mul --filter-lang rust,go
```

### 2. Generate Reports 📊

Export results to JSON or generate a visual HTML report:

```bash
velocicode run --html report.html --json results.json
```

Open `report.html` in your browser to see interactive bar charts!

### 3. Check Compilers

Velocicode relies on system compilers. Check what you have installed:

```bash
velocicode check
```

## Requirements

> [!IMPORTANT]
> This tool requires external compilers. `pip` installs the runner, but you need the languages installed:

- **Python 3.7+**
- `g++` (for C++)
- `rustc` (for Rust)
- `go` (for Go)
- `node` (for JavaScript)

## License

MIT
