Skip to main content
██╗██████╗  ██████╗ ███╗   ██╗    ███████╗██╗    ██╗ █████╗ ██████╗ ███╗   ███╗
██║██╔══██╗██╔═══██╗████╗  ██║    ██╔════╝██║    ██║██╔══██╗██╔══██╗████╗ ████║
██║██████╔╝██║   ██║██╔██╗ ██║    ███████╗██║ █╗ ██║███████║██████╔╝██╔████╔██║
██║██╔══██╗██║   ██║██║╚██╗██║    ╚════██║██║███╗██║██╔══██║██╔══██╗██║╚██╔╝██║
██║██║  ██║╚██████╔╝██║ ╚████║    ███████║╚███╔███╔╝██║  ██║██║  ██║██║ ╚═╝ ██║
╚═╝╚═╝  ╚═╝ ╚═════╝ ╚═╝  ╚═══╝    ╚══════╝ ╚══╝╚══╝ ╚═╝  ╚═╝╚═╝  ╚═╝╚═╝     ╚═╝

Tests Docker Build PyPI version Python 3.10+


Table of Contents

Installation

pip install ironswarm

Usage

usage: ironswarm [-h] [-b BOOTSTRAP] [-H HOST] [-p PORT] [-j JOB] [-v | --verbose | --no-verbose] [--log-file LOG_FILE]

options:
  -h, --help            show this help message and exit
  -b, --bootstrap BOOTSTRAP
                        bootstrap node(s) to initially connect to
  -H, --host HOST       network interface to bind to local/public or IP address (default: public)
  -p, --port PORT       port to bind to (default: 42042)
  -j, --job JOB         job to run (default: None)
  -v, --verbose, --no-verbose
                        enable verbose logging
  --log-file LOG_FILE   Optional path to write logs to a file.

Run a single node with no bootstrap

ironswarm -H local

Run multiple nodes in a tmux session

./example/multi.sh

Run a single node bootstrapping to another node

ironswarm -H local -b tcp://127.0.0.1:42042

Docker

Pull the latest image:

docker pull ghcr.io/ryan-h265/ironswarm:latest

Run the latest image:

docker run -it ghcr.io/ryan-h265/ironswarm:latest ironswarm -H local

Running with Custom Scenario Files

To run the container with your own scenario files, copy them into the running container:

  1. Start the container with a name:
docker run -d --name ironswarm-node ghcr.io/ryan-h265/ironswarm:latest tail -f /dev/null
  1. Copy your scenario file into the container:
docker cp examples/http_scenario.py ironswarm-node:/usr/src/app/http_scenario.py
  1. Execute ironswarm with your scenario:
docker exec -it ironswarm-node ironswarm -j http_scenario:scenario -H local
  1. Clean up when done:
docker stop ironswarm-node
docker rm ironswarm-node

Development

Useful hatch commands

hatch run types:check
hatch test --cover

License

This project is licensed under the MIT License. See the LICENSE file for details.

Metadata

Release files for ironswarm 0.0.2

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

Source distribution (sdist)

Source distribution for ironswarm 0.0.2
File Size Uploaded Provenance
ironswarm-0.0.2.tar.gz 4.3 MB With provenance Details

Built distribution (wheel)

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

Total release size: 4.3 MB

Release files / ironswarm-0.0.2.tar.gz

Download URL ironswarm-0.0.2.tar.gz
Size 4.3 MB
Tags Source
SHA-256 checksum
How to use checksums
a3ff9c86047bd894bf5dc9283518f667695ba558689eb7011051c1bd9cb2dd3e
BLAKE2b-256 checksum
How to use checksums
91ab4134dbef7773f79b9b3906835561aa18ffdce0148f484fdf6ee910f2b735
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 12, 2025.

Transparency log

Release files / ironswarm-0.0.2-py3-none-any.whl

Download URL ironswarm-0.0.2-py3-none-any.whl
Size 44.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1317dcb182836871f887655c1f882b48d55c70ede765b50c165eff3b3a154ccf
BLAKE2b-256 checksum
How to use checksums
e5120c79e4a28e58c936254f4b41f90768e9ef9e22b9537d7432fc5c50b88499
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 12, 2025.

Transparency log

Security for ironswarm 0.0.2

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for ironswarm-0.0.2.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 12, 2025.

Transparency log

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.

Release history Release notifications | RSS feed

This release

0.0.2 This release

2 release files Full provenance

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