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 together with the loomcli console command.

Install

Install Loom so loomcli runs directly in your terminal. The setup is complete only after loomcli --help works without uv run.

Recommended:

pipx install loom-data
loomcli --help

With uv:

uv tool install loom-data
loomcli --help

With pip:

python -m pip install loom-data
loomcli --help

With conda:

conda create -n loom python=3.12
conda activate loom
python -m pip install loom-data
loomcli --help

Initialize a project

Recommended fast path for AI-assisted onboarding:

loomcli init --agent codex

Interactive setup:

loomcli init

Both forms create or reuse:

loom/
  <workspace>/
  .loom/
raw_data/

Fast init downloads the tutorial dataset into raw_data/demo_germany_energy_data. The tutorial data is versioned outside the PyPI package and verified during download. Use --no-tutorial to skip it or --tutorial-url <url> with --tutorial-sha256 <sha256> to use a mirror. Fast init installs three focused agent skills: loom-ask, loom-scan, and loom-workspace-ops.

Recommended workflow

  1. Put source data into any directory with loom.md and CSV files.
  2. Ask the agent to scan it in chat with /loom-scan <path> [to <workspace>].
  3. Let the agent read loom/ before touching raw files.
  4. Use loomcli get <workspace/path/to/file> only for exact raw files that are needed. Raw paths preserve dataset directory structure, including the source-root dataset name when the scan source is itself a dataset root.
  5. Use loomcli confirm, loomcli push, and loomcli pull for explicit terminal operations.

Chat examples

/loom-scan raw_data
/loom-ask build a 24-hour German electricity data html demo
loom 德国 2015 年有哪些发电装机容量数据?

/loom-scan or loom scan should lead the agent to run loomcli scan-index and then continue curating cards in chat. During a scan, any directory containing loom.md is treated as a dataset root. Each dataset gets an overview.md and profile.json, and each CSV gets its own .card.md and .profile.json. Parent datasets preserve nested child dataset directories, exclude child CSV files from their own cards, and list direct child overview links. Rescans reuse unchanged CSV hashes and profiles so only changed datasets are rebuilt. /loom-ask, loom ask, and bare loom <问题> should lead the agent to inspect loom/ first rather than run a question-answering script. Agents may also inspect Loom without an explicit loom prefix when another task needs project-local, source-backed dataset facts.

CLI examples

loomcli scan-index raw_data/energy to energy
loomcli confirm energy
loomcli push energy
loomcli pull energy
loomcli pull-raw energy
loomcli get energy/demo_germany_energy_data/open_power_system_data/generation_capacity/germany_2015_net_capacity.csv
loomcli set-api https://loom-api-free.onrender.com

Python API

import loom

local_path = loom.get("energy/demo_germany_energy_data/open_power_system_data/generation_capacity/germany_2015_net_capacity.csv")
print(local_path)

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

Notes

  • docs/reference/loom-reference.md is the repository's canonical behavior reference.
  • loom-data is the package name.
  • loomcli is the public CLI command.
  • import loom is the Python API.
  • Use loomcli scan-index both for explicit terminal scans and for the agent's internal scan path.

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.18.tar.gz (63.6 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.18-py3-none-any.whl (62.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: loom_data-0.1.18.tar.gz
  • Upload date:
  • Size: 63.6 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.18.tar.gz
Algorithm Hash digest
SHA256 a67558950ad0f0e6582c06eec1ed94b5d1625132ad8c35da3f7a0775269fb440
MD5 eb26de158a5df8d4de5ff2ed455a613e
BLAKE2b-256 4c00c9bacd3aca1b516b44e98b0f33633ad867fcb333125c6aa5841948222fe7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: loom_data-0.1.18-py3-none-any.whl
  • Upload date:
  • Size: 62.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.18-py3-none-any.whl
Algorithm Hash digest
SHA256 064717b6364de405bb9a46df444ce9d770fb8404625f82ea91f42c503be804c8
MD5 2e21e4f8fa07a86a87d3671037d01372
BLAKE2b-256 beaf1eb86ebc16a2be5ae861ef1cc449a4194096177e657b913ff77ead6215bb

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