http-benchmarker


Namehttp-benchmarker JSON
Version 0.1.2 PyPI version JSON
download
home_pageNone
SummaryAdvanced HTTP load testing tool with real-time progress monitoring and detailed performance reports.
upload_time2025-08-18 14:18:29
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseCC-BY-NC-4.0
keywords benchmark http cli load-testing
VCS
bugtrack_url
requirements aiohttp click numpy tqdm colorama
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # HTTP Benchmarker

[![License: CC BY-NC 4.0](https://img.shields.io/badge/License-CC_BY--NC_4.0-lightgrey.svg)](https://creativecommons.org/licenses/by-nc/4.0/)
[![Python Version](https://img.shields.io/badge/python-3.10%2B-blue)](https://www.python.org/downloads/)
[![Code Style](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)

Advanced HTTP load testing tool with real-time progress monitoring and detailed performance reports.

## Features

- ⚡ **Asynchronous requests** for high-concurrency testing  
- 📊 **Comprehensive metrics**: RPS, latency percentiles, success rate  
- 🚀 **Real-time progress** with TQDM integration  
- 📝 **Detailed error reporting** with error grouping  
- 💾 **Automatic report generation** (text/JSON)  
- 📈 **Statistical analysis**: p50, p90, p95, p99 latency  
- 🎨 **Color-coded terminal output**

---

## Installation

### From PyPI (recommended)

```bash
pip install http-benchmarker
```

### From source (development version)

```bash
git clone https://github.com/mrasulzoda/http-benchmarker.git
cd http-benchmarker
pip install -e .
```

## Basic Usage

Run HTTP benchmark tests from the command line using the http_benchmarker command.

### Default test (100 requests, 10 concurrency)

```bash
http_benchmarker bench https://api.example.com/get
```

### Advanced test with custom parameters

```bash
http_benchmarker bench https://api.example.com/data \
  --requests 500 \
  --concurrency 50 \
  --timeout 5
```

### POST request with JSON data from a file

```bash
http_benchmarker bench https://api.example.com/data \
  --method POST \
  --json-file data.json
```

### PUT request with JSON data from a file

```bash
http_benchmarker bench https://api.example.com/data \
  --method PUT \
  --json-file update.json \
  --requests 500 \
  --concurrency 50
```

### Save results to a report file

```bash
# Save as text report
http_benchmarker bench https://api.example.com --save-report

# Save as JSON report
http_benchmarker bench https://api.example.com --save-report --json-report
```

## Report Files

Reports are automatically saved with timestamped filenames:

- reports/http_benchmark_20250817_101533.txt

- reports/http_benchmark_20250817_101533.json

## Command Options

| Option             | Description                                    | Default     |
 |--------------------|-----------------------------------------------|-------------|
 | URL                | Target URL to test                            | Required    |
 | -r, --requests     | Total number of requests                      | 100         |
 | -c, --concurrency  | Concurrent connections                        | 10          |
 | -t, --timeout      | Request timeout (seconds)                     | 10          |
 | -m, --method       | HTTP method (GET,POST,PUT)                    | GET         |
 | --json-file        | Path to the JSON file with the request body   | None        |
 | --save-report      | Save results to file                          | False       |
 | --json-report      | Save in JSON format                           | False       |
 | --report-dir       | Reports directory                             | reports     |

 # 📜 License

This project uses the Creative Commons Attribution-NonCommercial 4.0 International license.

You can:

    ⬇️ Download and use the project

    📝 Study and modify the code

    ↔️ Distribute original and derivative works

Under the following conditions:

    👤 Attribution — You must give appropriate credit and link to the license

    🚫 NonCommercial — You may not use the material for commercial purposes




            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "http-benchmarker",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "benchmark, http, cli, load-testing",
    "author": null,
    "author_email": "Rasulzoda Muhammadmahdi <mrasulzoda@yandex.ru>",
    "download_url": "https://files.pythonhosted.org/packages/c6/b0/5ae94703113d72fe8cae08c6131f4a28fa763dc9bc70f48aa53405c3babd/http_benchmarker-0.1.2.tar.gz",
    "platform": null,
    "description": "# HTTP Benchmarker\n\n[![License: CC BY-NC 4.0](https://img.shields.io/badge/License-CC_BY--NC_4.0-lightgrey.svg)](https://creativecommons.org/licenses/by-nc/4.0/)\n[![Python Version](https://img.shields.io/badge/python-3.10%2B-blue)](https://www.python.org/downloads/)\n[![Code Style](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n\nAdvanced HTTP load testing tool with real-time progress monitoring and detailed performance reports.\n\n## Features\n\n- \u26a1 **Asynchronous requests** for high-concurrency testing  \n- \ud83d\udcca **Comprehensive metrics**: RPS, latency percentiles, success rate  \n- \ud83d\ude80 **Real-time progress** with TQDM integration  \n- \ud83d\udcdd **Detailed error reporting** with error grouping  \n- \ud83d\udcbe **Automatic report generation** (text/JSON)  \n- \ud83d\udcc8 **Statistical analysis**: p50, p90, p95, p99 latency  \n- \ud83c\udfa8 **Color-coded terminal output**\n\n---\n\n## Installation\n\n### From PyPI (recommended)\n\n```bash\npip install http-benchmarker\n```\n\n### From source (development version)\n\n```bash\ngit clone https://github.com/mrasulzoda/http-benchmarker.git\ncd http-benchmarker\npip install -e .\n```\n\n## Basic Usage\n\nRun HTTP benchmark tests from the command line using the http_benchmarker command.\n\n### Default test (100 requests, 10 concurrency)\n\n```bash\nhttp_benchmarker bench https://api.example.com/get\n```\n\n### Advanced test with custom parameters\n\n```bash\nhttp_benchmarker bench https://api.example.com/data \\\n  --requests 500 \\\n  --concurrency 50 \\\n  --timeout 5\n```\n\n### POST request with JSON data from a file\n\n```bash\nhttp_benchmarker bench https://api.example.com/data \\\n  --method POST \\\n  --json-file data.json\n```\n\n### PUT request with JSON data from a file\n\n```bash\nhttp_benchmarker bench https://api.example.com/data \\\n  --method PUT \\\n  --json-file update.json \\\n  --requests 500 \\\n  --concurrency 50\n```\n\n### Save results to a report file\n\n```bash\n# Save as text report\nhttp_benchmarker bench https://api.example.com --save-report\n\n# Save as JSON report\nhttp_benchmarker bench https://api.example.com --save-report --json-report\n```\n\n## Report Files\n\nReports are automatically saved with timestamped filenames:\n\n- reports/http_benchmark_20250817_101533.txt\n\n- reports/http_benchmark_20250817_101533.json\n\n## Command Options\n\n| Option             | Description                                    | Default     |\n |--------------------|-----------------------------------------------|-------------|\n | URL                | Target URL to test                            | Required    |\n | -r, --requests     | Total number of requests                      | 100         |\n | -c, --concurrency  | Concurrent connections                        | 10          |\n | -t, --timeout      | Request timeout (seconds)                     | 10          |\n | -m, --method       | HTTP method (GET,POST,PUT)                    | GET         |\n | --json-file        | Path to the JSON file with the request body   | None        |\n | --save-report      | Save results to file                          | False       |\n | --json-report      | Save in JSON format                           | False       |\n | --report-dir       | Reports directory                             | reports     |\n\n # \ud83d\udcdc License\n\nThis project uses the Creative Commons Attribution-NonCommercial 4.0 International license.\n\nYou can:\n\n    \u2b07\ufe0f Download and use the project\n\n    \ud83d\udcdd Study and modify the code\n\n    \u2194\ufe0f Distribute original and derivative works\n\nUnder the following conditions:\n\n    \ud83d\udc64 Attribution \u2014 You must give appropriate credit and link to the license\n\n    \ud83d\udeab NonCommercial \u2014 You may not use the material for commercial purposes\n\n\n\n",
    "bugtrack_url": null,
    "license": "CC-BY-NC-4.0",
    "summary": "Advanced HTTP load testing tool with real-time progress monitoring and detailed performance reports.",
    "version": "0.1.2",
    "project_urls": {
        "Repository": "https://github.com/mrasulzoda/http-benchmarker"
    },
    "split_keywords": [
        "benchmark",
        " http",
        " cli",
        " load-testing"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "aa8396696461661aa2dcde9d191c7a773b609d3ff538e784b309da82d6e12a40",
                "md5": "36d3d23c3c774250f3964541c896f7bf",
                "sha256": "9c0014d59c6676e913954b3601c6da0a298de998fbababe5d76fd026d099ea99"
            },
            "downloads": -1,
            "filename": "http_benchmarker-0.1.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "36d3d23c3c774250f3964541c896f7bf",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 12362,
            "upload_time": "2025-08-18T14:18:26",
            "upload_time_iso_8601": "2025-08-18T14:18:26.255208Z",
            "url": "https://files.pythonhosted.org/packages/aa/83/96696461661aa2dcde9d191c7a773b609d3ff538e784b309da82d6e12a40/http_benchmarker-0.1.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c6b05ae94703113d72fe8cae08c6131f4a28fa763dc9bc70f48aa53405c3babd",
                "md5": "d0204215f4e5c996bfabf4769bdc322d",
                "sha256": "c231a540bced769097526c2e1eb456fd57e1271b6e42529e2a508dc018104339"
            },
            "downloads": -1,
            "filename": "http_benchmarker-0.1.2.tar.gz",
            "has_sig": false,
            "md5_digest": "d0204215f4e5c996bfabf4769bdc322d",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 11651,
            "upload_time": "2025-08-18T14:18:29",
            "upload_time_iso_8601": "2025-08-18T14:18:29.260108Z",
            "url": "https://files.pythonhosted.org/packages/c6/b0/5ae94703113d72fe8cae08c6131f4a28fa763dc9bc70f48aa53405c3babd/http_benchmarker-0.1.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-18 14:18:29",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "mrasulzoda",
    "github_project": "http-benchmarker",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [
        {
            "name": "aiohttp",
            "specs": [
                [
                    "==",
                    "3.9.3"
                ]
            ]
        },
        {
            "name": "click",
            "specs": [
                [
                    "==",
                    "8.1.7"
                ]
            ]
        },
        {
            "name": "numpy",
            "specs": [
                [
                    "==",
                    "1.26.4"
                ]
            ]
        },
        {
            "name": "tqdm",
            "specs": [
                [
                    "==",
                    "4.66.1"
                ]
            ]
        },
        {
            "name": "colorama",
            "specs": [
                [
                    "==",
                    "0.4.6"
                ]
            ]
        }
    ],
    "lcname": "http-benchmarker"
}
        
Elapsed time: 0.81816s