loom & weftMade for Swift.

TWO LIBRARIES. ONE FABRIC.

From threads
to form.

Swift libraries for command-line apps
on Linux and macOS.

The Swift competitor to Ratatui (Rust) and Charm (Golang).

Start building

Open source · Apache 2.0

THREADS INTO POSSIBILITY01 / 03
A SMALL TOOLKIT FOR BIG IDEASSWIFT NATIVE / SWIFTPM

BUILT TO COMPETE. BUILT FOR SWIFT.

The better fit
for Swift.

Ratatui has Rust. Charm has Golang.
Swift has loom & weft.

Build rich terminal interfaces in the language you already use. loom gives you composable layouts, widgets, and cell-diff rendering. weft gives you typed input events and terminal control.

Two libraries built specifically for Swift projects. Add them with SwiftPM and take command of your terminal.

01

weft.

THE FOUNDATION

Every interaction starts
with a thread.

Raw input, typed events, and terminal sessions with a clear beginning and end. The quiet machinery underneath your application.

  • Input decoding
  • Async events
  • Terminal control
Explore weft on GitHub
02

loom.

THE EXPRESSION

Give those threads
a little character.

Compose text, layouts, and widgets into a complete frame. Loom compares the cells and sends only what changed through weft.

  • Cell-diff rendering
  • Markdown
  • Composable widgets
Explore loom on GitHub

A FEW LINES. A NEW POSSIBILITY.

Start weaving.

Pick your layer. Add it with SwiftPM.

Swift 6.4+ · Linux & macOS 13+ · v0.1.1

Package.swift
// Add to your package dependencies
.package(
    url: "https://github.com/standrze/loom.git",
    from: "0.1.1"
)
Then add the loom product to your target.Installation docs