Skip to main content

Python client and CLI for Loom workspace data and sync workflows.

Project description

loom-data

loom-data publishes the loom Python package and the loom CLI.

Loom is designed for large local datasets:

  1. Keep raw source files under raw_data/<workspace> or any folder with loom.md.
  2. Scan them into compact cards under loom/<workspace>.
  3. Let agents search summaries first.
  4. Download raw files only when they are actually needed.

Install

Recommended with uv:

uv add loom-data

Then run the CLI with:

uv run loom --help

The package name is loom-data, but the Python import and CLI name are both loom.

Initialize a project

uv run loom init

This creates and uses:

loom/
  <workspace>/
  .loom/
raw_data/
  <workspace>/

loom init asks which assistant you use, which default workspace name you want, and whether to install the tutorial dataset. Press Enter to install it; only n skips it. It installs the helper skill only for the assistant you choose. For Codex, Loom writes both $CODEX_HOME/skills/loom-data and the workspace-local .agents/skills/loom-data.

Common commands

Scan the default raw-data layout:

uv run loom scan raw_data/energy

Scan a source directory into an explicit workspace:

uv run loom scan raw_data/energy to energy

Confirm one workspace:

uv run loom confirm energy

Confirm all pending explore changes:

uv run loom confirm

Push:

uv run loom push [workspace]

Pull:

uv run loom pull [workspace]

Pull raw files:

uv run loom pull-raw [workspace]

Set the default API endpoint:

uv run loom set-api https://loom-api-free.onrender.com

Python API

import loom

local_path = loom.get("energy/technology-data/costs.csv")
print(local_path)

loom.get(...) prefers local cache and fetches only the file you ask for.

Workflow recommendation

  • Put source data into any directory with loom.md and CSV files.
  • Run loom scan <path> [to <workspace>] to generate cards.
  • Read loom/ first.
  • Search the generated cards and summaries.
  • Decide which exact raw file is needed.
  • Use loom.get(...) only for the raw files you really need.
  • Or fetch a single file on demand with loom get energy/technology-data/costs.csv.
  • If a user writes loom ask <question> or loom <question>, inspect loom/ first before touching raw files.
  • More broadly, if a user is asking a data-related question, prefer the Loom workflow first even when they do not mention loom explicitly.

If you omit to <workspace>, Loom reuses the most recently scanned or created workspace. If there is no history yet, it creates temporary. One workspace can track multiple source directories, but dataset paths inside that workspace must stay unique.

Scan state is incremental per workspace and per source directory. Generated cards and manifests store source-relative raw paths such as technology-data and technology-data/costs.csv, so moving or copying the project does not force a rebuild of unchanged datasets just because the absolute filesystem path changed.

loom ask <question> now performs a real local lookup:

uv run loom ask OCGT cost
uv run loom OCGT cost

Loom searches loom/, fetches the best matching raw file if needed, and prints matching rows plus a Likely answer when the best hit is unambiguous.

Web app

Explore data online at https://loom-web.onrender.com.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

loom_data-0.1.9.tar.gz (52.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

loom_data-0.1.9-py3-none-any.whl (53.5 kB view details)

Uploaded Python 3

File details

Details for the file loom_data-0.1.9.tar.gz.

File metadata

  • Download URL: loom_data-0.1.9.tar.gz
  • Upload date:
  • Size: 52.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for loom_data-0.1.9.tar.gz
Algorithm Hash digest
SHA256 ccd5fff818fc89eeab73e83fa18d2694d1d7c0eba828ea9e401eecdec7861f4d
MD5 f732b8664f46f45c1c3beb0805be7282
BLAKE2b-256 c0849b6e767008cdd07e057ca8f550e7e4490f4506388f85b654fc77f24c8015

See more details on using hashes here.

File details

Details for the file loom_data-0.1.9-py3-none-any.whl.

File metadata

  • Download URL: loom_data-0.1.9-py3-none-any.whl
  • Upload date:
  • Size: 53.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for loom_data-0.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 414e39b305dbde7d9748f4ce2660972d571bbe2b941396f2a73e8ba8b382435a
MD5 be505b5dfe43aba5d29b4d51fa470685
BLAKE2b-256 48863daa4487123503d96c6d8fae67b60e5ca154a586e7aea7f9764eeb424fab

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page