Metadata-Version: 2.4
Name: net-benchmark
Version: 0.4.2
Summary: Network benchmarking suite for DNS, HTTP, and SSL — with DNSSEC validation, DoH/DoT support, high‑concurrency testing, and enterprise‑grade reporting.
Author-email: Joseph Oseh Frank <frank@osehfrank.com>
Maintainer: Joseph Oseh Frank
License: MIT
Project-URL: Homepage, https://github.com/net-benchmark/net-benchmark
Project-URL: Documentation, https://github.com/net-benchmark/net-benchmark#readme
Project-URL: Source, https://github.com/net-benchmark/net-benchmark
Project-URL: Tracker, https://github.com/net-benchmark/net-benchmark/issues
Project-URL: Changelog, https://github.com/net-benchmark/net-benchmark/blob/main/CHANGELOG.md
Keywords: dns,benchmark,performance,dnssec,doh,dot,networking,latency,resolver,metrics,http,ssl,tls,certificate,network-analysis,dns-over-https,dns-over-tls,cli,monitoring
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: System Administrators
Classifier: Intended Audience :: Developers
Classifier: Topic :: Internet :: Name Service (DNS)
Classifier: Topic :: System :: Networking
Classifier: License :: OSI Approved :: MIT License
Classifier: Environment :: Console
Classifier: Operating System :: OS Independent
Classifier: Typing :: Typed
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: <3.13,>=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: httpx[http2]<0.29,>=0.28.1
Requires-Dist: dnspython<3.0,>=2.7
Requires-Dist: pandas<3.0,>=2.0
Requires-Dist: aiohttp<4.0,>=3.8
Requires-Dist: click<9.0,>=8.0
Requires-Dist: pyfiglet<2.0,>=1.0
Requires-Dist: colorama<1.0,>=0.4
Requires-Dist: Jinja2<4.0,>=3.1
Requires-Dist: openpyxl<4.0,>=3.1
Requires-Dist: pyyaml<7.0,>=6.0
Requires-Dist: tqdm<5.0,>=4.66
Requires-Dist: matplotlib<4.0,>=3.8
Requires-Dist: pillow<12.0.0,>=11.0.0
Provides-Extra: pdf
Requires-Dist: weasyprint<67.0,>=66.0; extra == "pdf"
Provides-Extra: dev
Requires-Dist: mypy<2.0,>=1.8; extra == "dev"
Requires-Dist: black<26.0,>=24.0; extra == "dev"
Requires-Dist: flake8<8.0,>=7.0; extra == "dev"
Requires-Dist: autopep8<3.0,>=2.0; extra == "dev"
Requires-Dist: pytest<9.0,>=8.0; extra == "dev"
Requires-Dist: coverage<8.0,>=7.6; extra == "dev"
Requires-Dist: isort<7.0,>=5.12; extra == "dev"
Requires-Dist: pytest-asyncio<2.0,>=0.23; extra == "dev"
Requires-Dist: commitizen<5.0,>=3.0; extra == "dev"
Dynamic: license-file

# net-benchmark

fast, extensible network benchmarking — dns, http, and ssl from a single cli.

[![PyPI version](https://badge.fury.io/py/net-benchmark.svg)](https://pypi.org/project/net-benchmark)
[![Python](https://img.shields.io/pypi/pyversions/net-benchmark.svg)](https://pypi.org/project/net-benchmark)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
[![CI](https://github.com/net-benchmark/net-benchmark/actions/workflows/ci.yml/badge.svg)](https://github.com/net-benchmark/net-benchmark/actions)
[![Downloads](https://pepy.tech/badge/net-benchmark)](https://pepy.tech/project/net-benchmark)

```bash
pip install net-benchmark
pip install net-benchmark[pdf]   # with pdf export
```

> successor to [dns-benchmark-tool](https://github.com/net-benchmark/dns-benchmark-tool) — fully backward compatible.
> `dns-benchmark` command still works as an alias.

---

## tools

<details>
<summary><strong>dns benchmark</strong> — resolver performance, dnssec, doh/dot</summary>

```bash
net-benchmark dns benchmark --use-defaults
net-benchmark dns benchmark --use-defaults --doh
net-benchmark dns benchmark --use-defaults --dot --dnssec-validate
net-benchmark dns compare Cloudflare Google Quad9 --dnssec-validate
net-benchmark dns monitoring --use-defaults --interval 30
```

| flag | description | default |
|---|---|---|
| `--use-defaults` | built-in resolvers and sample domains | — |
| `--resolvers` | name, ip, or file | — |
| `--domains` | comma-separated or file | — |
| `--iterations` | queries per resolver | `1` |
| `--doh` | dns-over-https | `false` |
| `--doh-url` | comma-separated urls, one per resolver | — |
| `--dot` | dns-over-tls | `false` |
| `--dnssec-validate` | fail if ad flag absent | `false` |
| `--formats` | csv, excel, pdf, json | `csv,excel,pdf` |

full documentation: [github.com/net-benchmark/net-benchmark](https://github.com/net-benchmark/net-benchmark#dns-benchmark)

</details>

<details>
<summary><strong>http benchmark</strong> — endpoint latency and availability <em>(coming 0.5.0)</em></summary>

```bash
net-benchmark http benchmark --targets "https://api.example.com"
```

full documentation: [github.com/net-benchmark/net-benchmark](https://github.com/net-benchmark/net-benchmark#http-benchmark)

</details>

<details>
<summary><strong>ssl check</strong> — certificate expiry and chain validation <em>(coming 0.6.0)</em></summary>

```bash
net-benchmark ssl check --hosts "example.com,api.example.com"
```

full documentation: [github.com/net-benchmark/net-benchmark](https://github.com/net-benchmark/net-benchmark#ssl-check)

</details>

---

## export formats

| format | flag | notes |
|---|---|---|
| csv | `--formats csv` | raw results + summary |
| excel | `--formats excel` | charts, dnssec sheet, colour coding |
| pdf | `--formats pdf` | requires `pip install net-benchmark[pdf]` |
| json | `--formats json` | full payload including protocol stats |

---

## links

- repository: [github.com/net-benchmark/net-benchmark](https://github.com/net-benchmark/net-benchmark)
- issues: [github.com/net-benchmark/net-benchmark/issues](https://github.com/net-benchmark/net-benchmark/issues)
- changelog: [github.com/net-benchmark/net-benchmark/blob/main/CHANGELOG.md](https://github.com/net-benchmark/net-benchmark/blob/main/CHANGELOG.md)
- powered by [buildtools.net](https://buildtools.net)

---

## license

mit © [frankovo](https://github.com/frankovo)
