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:
- Keep raw source files under
raw_data/<workspace>or any folder withloom.md. - Scan them into compact cards under
loom/<workspace>. - Let agents search summaries first.
- 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.mdand 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>orloom <question>, inspectloom/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
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.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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
99660d22c7751b63e101eb8a3f2ce6b6883fd5466198d7d3c3f89e172010ed4d
|
|
| MD5 |
fb47879efce8021d3d7f5d6e3f60e17f
|
|
| BLAKE2b-256 |
501fa424372e310bf8733de5b33b92b66fccb34cb73ca5114339f1e865ee276c
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
091c8b4433ecd4efb2590deeeccdaaf16c9fce783588381097692cf15c141039
|
|
| MD5 |
1defd897bba3281505b379eaf270142e
|
|
| BLAKE2b-256 |
82835d88d5154aad2dc045db1f7c47ab641f983622c149259af404d11bdc19e1
|