Skip to content

Installation

Requirements

  • Python 3.11 or newer
  • pip, Poetry, or any PEP 517-compatible installer

Install from PyPI

pip install llmcraft
poetry add llmcraft
uv add llmcraft

Package name vs. import name

The PyPI package name is llmcraft, but you import it as specwright:

from specwright import spec, handle_errors, StateMachine

Optional Extras

State Diagrams

To generate Graphviz DOT diagrams for state machines:

pip install "llmcraft[diagrams]"

This adds the graphviz Python package. You'll also need the Graphviz system binary installed (brew install graphviz on macOS, apt install graphviz on Debian/Ubuntu).

Verify Installation

python -c "import specwright; print(specwright.__version__)"

Or use the CLI:

specwright --version

Development Installation

To work on Specwright itself:

git clone https://github.com/burakdalgic/Specwright.git
cd specwright
poetry install
poetry run pytest

What Gets Installed

Specwright brings in these dependencies:

Package Purpose
pydantic Runtime type validation engine
typing-extensions Backported typing features
click CLI framework
rich Colorized terminal output
jinja2 Template rendering for code generation

All are widely-used, stable packages with no exotic system requirements.