# HTTP Benchmarker
[](https://creativecommons.org/licenses/by-nc/4.0/)
[](https://www.python.org/downloads/)
[](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[](https://creativecommons.org/licenses/by-nc/4.0/)\n[](https://www.python.org/downloads/)\n[](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"
}