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. 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.

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.5.tar.gz (50.2 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.5-py3-none-any.whl (52.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: loom_data-0.1.5.tar.gz
  • Upload date:
  • Size: 50.2 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.5.tar.gz
Algorithm Hash digest
SHA256 99660d22c7751b63e101eb8a3f2ce6b6883fd5466198d7d3c3f89e172010ed4d
MD5 fb47879efce8021d3d7f5d6e3f60e17f
BLAKE2b-256 501fa424372e310bf8733de5b33b92b66fccb34cb73ca5114339f1e865ee276c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: loom_data-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 52.4 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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 091c8b4433ecd4efb2590deeeccdaaf16c9fce783588381097692cf15c141039
MD5 1defd897bba3281505b379eaf270142e
BLAKE2b-256 82835d88d5154aad2dc045db1f7c47ab641f983622c149259af404d11bdc19e1

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