Skip to main content

furb, the command line

furb is the command line of furb. With no command, it opens the TUI. With a command, it runs one life and prints what it gave. With --mode rpc, it serves one life to another program.

pip install furb                     # Gives the command furb. It needs Python 3.14 or later.

From a clone, uv run furb runs the furb of the clone, and cargo run -p furb-cli -- builds it and runs it.

The commands

Command What it does
furb Open the TUI. --demo opens it on a life that asks no model.
furb prompt MESSAGE Ask the default actor, or the actor that --to names, and print its answer. --shape gives the type of the answer, str when unsaid.
furb run WORD Run a word of Python on the root chain, and print what it gave to close.
furb turns --record FILE Print the turns of the root chain of a record, as the model reads them. It only reads the record.
furb facts --record FILE Print each fact of a record, after the number of its line. --act and --chain filter them. It opens no life.
furb extensions Print the extensions that a life here runs, each with its life word.
furb --mode rpc Serve one life on stdin and stdout, as the JSON-RPC says.

These words go with each command that opens a life:

  • --record FILE keeps the life in a record, and goes on from it when it holds a life already. A name that ends in .sqlite, .sqlite3 or .db makes a database of SQLite. With no record, the life keeps nothing.
  • --cwd DIR is the directory where the chains start, the current directory when unsaid.
  • --model ACTOR and --roster MODEL choose the models, as the page of models says.

furb --help, and furb <command> --help, give every word.

Examples

furb run "close(1 + 1)"                                       # Prints 2, and asks no model.
furb prompt "How many files?" --shape int --to operator      # Asks you, and prints the number you type.
furb prompt "How many lines does README.md hold?" --shape int # Asks the default model.
furb prompt "Fix the failing test." --record fix.jsonl        # Keeps the life, so a second run goes on from it.
furb turns --record fix.jsonl                                 # Shows what the model read.

Where furb finds the TUI

The TUI is a program of its own. furb runs the one that FURB_TUI names, else furb-tui on PATH, else the TUI of the clone that furb was built from. A furb that finds none says so. Today the TUI runs from a clone, as the TUI says. The words after -- go to the TUI, as furb -- --view loom.

Metadata

Release files for furb-cli 0.3.1

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

Built distributions (wheels)

Table of built distributions (wheels) for furb-cli 0.3.1
File Interpreter ABI Platform Actions
furb_cli-0.3.1-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details for furb_cli-0.3.1-py3-none-win_amd64.whl
furb_cli-0.3.1-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl Python 3 none Linux glibc 2.17+ x86-64 Details for furb_cli-0.3.1-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
furb_cli-0.3.1-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details for furb_cli-0.3.1-py3-none-macosx_11_0_arm64.whl

Total release size: 73.7 MB

Release files / furb_cli-0.3.1-py3-none-win_amd64.whl

Download URL furb_cli-0.3.1-py3-none-win_amd64.whl
Size 25.2 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
ee81c2f0223a619c29e9a0bcfd35762058022ec8f3595d27b3ce3800c6671a14
BLAKE2b-256 checksum
How to use checksums
0eabee033296181e92829c6da0cb048eba29cef53558b0254b1a3faab9e0512a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.17 {"installer":{"name":"uv","version":"0.12.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / furb_cli-0.3.1-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL furb_cli-0.3.1-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 25.1 MB
Tags Linux glibc 2.17+ x86-64 Python 3
SHA-256 checksum
How to use checksums
014a111967e46c1f8304b8d6b9d07b9077e0918a032dbe9badbd23d45ddd3254
BLAKE2b-256 checksum
How to use checksums
5f19a54f451136a23a9f56286a9ae5fa1ef64f95467ff11dd91fec4eb8073455
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.17 {"installer":{"name":"uv","version":"0.12.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / furb_cli-0.3.1-py3-none-macosx_11_0_arm64.whl

Download URL furb_cli-0.3.1-py3-none-macosx_11_0_arm64.whl
Size 23.4 MB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
0507fb1fafc083066d59c98a3677bf725e42d3d5f6d789539feafd93b591e5fc
BLAKE2b-256 checksum
How to use checksums
ca0c5776b6bf4191741dab0d6293c904ab680b59102a9ae1b0d4e13bd84b4a30
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.17 {"installer":{"name":"uv","version":"0.12.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for furb-cli 0.3.1

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

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.

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