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-local-data-lookup,
loom-dataset-scan-review, and loom-workspace-ops.
Recommended workflow
- Put source data into any directory with
loom.mdand CSV files. - Ask the agent to scan it in chat with
loom scan <path> [to <workspace>]. - Let the agent read
loom/before touching raw files. - Use
loomcli get <workspace/path/to/file>only for exact raw files that are needed. - Use
loomcli confirm,loomcli push, andloomcli pullfor explicit terminal operations.
Chat examples
loom scan raw_data/energy to energy
loom ask "What German wind and solar data is available?"
loom 德国 2015 年有哪些发电装机容量数据?
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 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.mdis the repository's canonical behavior reference.loom-datais the package name.loomcliis the public CLI command.import loomis the Python API.- Use
loomcli scan-indexboth for explicit terminal scans and for the agent's internal scan path.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file loom_data-0.1.16.tar.gz.
File metadata
- Download URL: loom_data-0.1.16.tar.gz
- Upload date:
- Size: 62.9 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
897230146958ac92a11f7a60857ac2290cb44575b713e889476848c6016e3ca4
|
|
| MD5 |
9bc6aaa17a7a235e554e3bf18d369767
|
|
| BLAKE2b-256 |
dc437900e6b017bc7fbe63bd3134c4f7a74441331a8eec5fad97f29c6ea395e9
|
File details
Details for the file loom_data-0.1.16-py3-none-any.whl.
File metadata
- Download URL: loom_data-0.1.16-py3-none-any.whl
- Upload date:
- Size: 62.1 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8742e29f19e9b6b7b58fa1606bc17627c0d28c510ae0db403d695691bfdfc1ad
|
|
| MD5 |
65591a9da6ff81bd1072f97df4df70ca
|
|
| BLAKE2b-256 |
1f127209838f13fc5b9a8d031a5aa0ff10a876f7f0df7cb688532d7bc2691ea7
|