Skip to main content

assault

A simple CLI load testing tool.

Installation

Install using pip:

$ pip install assault

Usage

The simplest usage of assault requires only a URL to test against and 500 requests synchronously (one at a time). This is what it would look like:

$ assault https://example.com
.... Done!
--- Results ---
Successful requests     500
Slowest                 0.010s
Fastest                 0.001s
Average                 0.003s
Total time              0.620s
Requests Per Minute     48360
Requests Per Second     806

If we want to add concurrency, we'll use the -c option, and we can use the -r option to specify how many requests that we'd like to make:

$ assault -r 3000 -c 10 https://example.com
.... Done!
--- Results ---
Successful requests     3000
Slowest                 0.010s
Fastest                 0.001s
Average                 0.003s
Total time              2.400s
Requests Per Minute     90000
Requests Per Second     1250

If you'd like to see these results in JSON format, you can use the -j option with a path to a JSON file:

$ assault -r 3000 -c 10 -j output.json https://example.com
.... Done!

Development

For working on assult, you'll need to have Python >= 3.7 (because we'll use asyncio) and pipenv installed. With those installed, run the following command to create a virtualenv for the project and fetch the dependencies:

$ pipenv install --dev
...

Next, activate the virtualenv and get to work:

$ pipenv shell
...
(assault) $

Metadata

Release files for assault 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for assault 1.0.0
File Size Uploaded
assault-1.0.0.tar.gz 104.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for assault 1.0.0
File Interpreter ABI Platform
assault-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 109.9 kB

Release files / assault-1.0.0.tar.gz

Download URL assault-1.0.0.tar.gz
Size 104.7 kB
Tags Source
SHA-256 checksum
How to use checksums
ef6a9c39ad8edabf041259df0ec55ae50c37da4187cfcd4ec902ec685465398c
BLAKE2b-256 checksum
How to use checksums
5de08f70a07d04fa683d9e035ee609c26b0add58b29ec1adf2ab2a0716760512
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.37.0 CPython/3.7.2

Release files / assault-1.0.0-py3-none-any.whl

Download URL assault-1.0.0-py3-none-any.whl
Size 5.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ec425e5cfed560e185ce7ce0b2b11f620c6f9d8cf1caa4447ec711be32fefa74
BLAKE2b-256 checksum
How to use checksums
356698bfffdb282c30ed329ef6359a0bc495e55ca385bc4c571d91282d39c1c0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.37.0 CPython/3.7.2

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page