Metadata-Version: 2.4
Name: LoadStrike
Version: 1.0.15601
Summary: Python SDK for in-process load execution, traffic correlation, and reporting.
Author: LoadStrike
License-Expression: MIT
Project-URL: Homepage, https://github.com/loadstrike/LoadStrike
Project-URL: Repository, https://github.com/loadstrike/LoadStrike
Project-URL: Documentation, https://loadstrike.com/documentation
Project-URL: Issues, https://github.com/loadstrike/LoadStrike/issues
Keywords: load-testing,traffic-correlation,performance-testing,reporting
Classifier: Programming Language :: Python :: 3
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
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: Implementation :: CPython
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Requires-Dist: cryptography>=42.0.0
Provides-Extra: test
Requires-Dist: coverage[toml]>=7.6.0; extra == "test"
Requires-Dist: pytest>=8.3.0; extra == "test"
Requires-Dist: pytest-xdist>=3.6.1; extra == "test"

# LoadStrike for Python

LoadStrike for Python lets you define, run, and report load scenarios directly from your application or test suite.

## Requirements

- Python 3.9 or later

## Install

```bash
pip install loadstrike
```

## What You Can Do

- Define scenarios, steps, load simulations, thresholds, and metrics in code
- Run workloads in-process and collect structured results
- Generate HTML, Markdown, TXT, and CSV reports
- Extend runs with correlation, distributed execution, and reporting sinks when needed

## Supported Transports

- HTTP
- Kafka
- RabbitMQ
- NATS
- Redis Streams
- Azure Event Hubs
- Push Diffusion
- Delegate and custom stream endpoints

## Supported Reporting Sinks

- InfluxDB
- TimescaleDB
- Grafana Loki
- Datadog
- Splunk HEC
- OpenTelemetry Collector

## Quick Start

```python
from loadstrike_sdk import (
    LoadStrikeResponse,
    LoadStrikeRunner,
    LoadStrikeScenario,
    LoadStrikeSimulation,
    LoadStrikeStep,
)

scenario = (
    LoadStrikeScenario.create(
        "orders",
        lambda context: LoadStrikeStep.run(
            "publish-order",
            context,
            lambda: LoadStrikeResponse.ok("200"),
        ).as_reply(),
    )
    .with_load_simulations(LoadStrikeSimulation.inject(10, 1, 20))
)

result = (
    LoadStrikeRunner.register_scenarios(scenario)
    .with_runner_key("rkl_your_runner_key")
    .run()
)
```

Use a runner key from your LoadStrike portal account when executing live workloads.

## Documentation And Examples

https://loadstrike.com/documentation
