Quick Start

🚀 Key Features

Core Functionality

  • ✅ Full compliance with Knitout specification v2

  • ✅ Support for all needle operations (knit, tuck, split, drop, xfer, miss, kick)

  • ✅ Carrier management (in, out, inhook, outhook, releasehook)

  • ✅ Racking and positioning controls

  • ✅ Header processing (machine, gauge, yarn, carriers, position)

Advanced Analysis

  • 📊 Execution Time Analysis: Measure knitting time in carriage passes

  • 📏 Width Calculation: Determine required needle bed width

  • 🔍 Error Detection: Identify common knitting errors before execution

  • 📈 Knit Graph Generation: Create structured representations of the final fabric

Virtual Machine Integration

  • 🖥️ Built on the virtual-knitting-machine library

  • 🧠 Maintains complete machine state during execution

  • 📋 Tracks loop creation, movement, and removal from the machine bed

  • ⚠️ Provides detailed warnings for potential issues

🏃‍♂️ Basic Usage

Simple Pattern Execution

from knitout_interpreter.run_knitout import run_knitout

# Parse and execute a knitout file
instructions, machine, knit_graph = run_knitout("pattern.k")
print(f"Executed {len(instructions)} instructions")

Advanced Analysis with Knitout Executer

from knitout_interpreter.knitout_execution import Knitout_Executer
from knitout_interpreter.knitout_language.Knitout_Parser import parse_knitout
from virtual_knitting_machine.Knitting_Machine import Knitting_Machine

# Parse knitout file
instructions = parse_knitout("complex_pattern.k", pattern_is_file=True)

# Execute with analysis
executer = Knitout_Executer(instructions, Knitting_Machine())

# Get execution metrics
print(f"Execution time: {executer.execution_time} carriage passes")
print(f"Width required: {executer.left_most_position} to {executer.right_most_position}")

# Save reorganized instructions
executer.write_executed_instructions("executed_pattern.k")