OpenAPI Perf
🤖 Automatic OpenAPI Performance Testing 🤖
Documentation: https://openapi-perf.awtkns.com
Source Code: https://github.com/awtkns/openapi-perf
Continous Integration: https://github.com/awtkns/openapi-perf-action
This project will make use of the OpenAPI schema to build an automated REST API performance testing and benchmarking tool. OpenAPI defines an interface for REST APIs allowing automated generation of an API schema which provides insights on the API's usage and expected input and response values. Using the OpenAPI schema we hope automatically generate tests covering all endpoints. We will use these generated tests to both test for endpoint correctness and to gather relevant performance metrics such as response time. We will finally generate an informative report on endpoint performance and correctness, allowing developers to quickly determine potentially problematic endpoints and endpoints that would benefit most from optimization.
Installation
pip install openapi-perf
Usage
Test Generation
This will create generate property-based performance tests for an endpoint and save the test schema to your results directory.
from openapi_perf import OpenAPIPerf
op = OpenAPIPerf(
endpoint_url = "http://localhost:5000",
results_dir = "/path/to/results/directory"
)
You can also load existing tests from a test schema file like this:
op = OpenAPIPerf(
test_schema_path = "path/to/test_schema.json"
)
Schema files can be modified to configure test execution.
Test Execution
To run these tests, use
op.run()
This will generate a report pdf file in your results directory
For detailed usage, refer to our docs
Metadata
Release files for openapi-perf 0.0.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| openapi-perf-0.0.5.tar.gz | 9.2 kB | Without provenance | Details for openapi-perf-0.0.5.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| openapi_perf-0.0.5-py3-none-any.whl | Python 3 | none | any | Details for openapi_perf-0.0.5-py3-none-any.whl |
Total release size: 21.7 kB
Release files / openapi-perf-0.0.5.tar.gz
| Download URL | openapi-perf-0.0.5.tar.gz |
|---|---|
| Size | 9.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
39d78414fee9a4fb2dd4628ed95eba872c2b03018b95416ac069e68c1a7d2581
|
|
BLAKE2b-256 checksum How to use checksums |
067fad1664c2accf27f34ec32d52920e69f1ca447aad171f6af01ba712d0f2ad
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/4.0.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.6.13
|
Release files / openapi_perf-0.0.5-py3-none-any.whl
| Download URL | openapi_perf-0.0.5-py3-none-any.whl |
|---|---|
| Size | 12.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f39cfad5f2286963d46563f466ea2f7d99c7eca74871f91b5bf6d57b84566d90
|
|
BLAKE2b-256 checksum How to use checksums |
051d9a9a7b35e7e97602e50711c688febb04f8646786c5ad900ff669c26c32f1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/4.0.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.6.13
|
Security for openapi-perf 0.0.5
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.