gripsack (python frontend)
Typed module DSL for gripsack. Modules written
against this package evaluate to IR (JSON) that the grip core
consumes. Fully annotated — ships py.typed (PEP 561), so pyright
gives you autocomplete, inline errors, and refactors.
from gripsack import module, github_release, symlink, tracked_copy, dep
helix = module(
"helix",
fetch=github_release(
repo="helix-editor/helix",
asset="helix-{version}-x86_64-linux.tar.xz",
),
install={"bin/hx": symlink("~/.local/bin/hx")},
config={"config.toml": tracked_copy("~/.config/helix/config.toml")},
depends=[dep("git")],
)
API overview
| area | exports |
|---|---|
| modules | module, Module |
| fetchers | github_release, tarball, git, file_fetch, plugin_fetch |
| destinations | symlink, tracked_copy, merge, template |
| dependencies | dep(module, edge="runtime") |
| activation | service, fonts, desktop_entry, custom_hook |
| steps | step, fetch_step, build_step, shell_step |
| verify | verify_binary, verify_file, verify_shell |
| graph | emit_ir, clear_graph, current_facts |
Modules are data: evaluation emits IR; the Rust core only ever consumes IR. Every module captures a source span so core errors point back at the exact line of your code.
API is pre-alpha and will change with the IR schema (plan).
Metadata
Release files for gripsack 0.15.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| gripsack-0.15.2.tar.gz | 25.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| gripsack-0.15.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 46.7 kB
Release files / gripsack-0.15.2.tar.gz
| Download URL | gripsack-0.15.2.tar.gz |
|---|---|
| Size | 25.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0727fed9a51e0b4b0a6c8f19d5d73001ccb3319d3a4fae3b8c58dde02d7ee4bf
|
|
BLAKE2b-256 checksum How to use checksums |
322bcbb560500e59ddfbdfec6ce6695fd9d5b2abb8afb1beacdaf9ff9c63ebc6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.6 {"installer":{"name":"uv","version":"0.12.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / gripsack-0.15.2-py3-none-any.whl
| Download URL | gripsack-0.15.2-py3-none-any.whl |
|---|---|
| Size | 21.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
364e20634716365ca5e3e74fd63d8e9fbc0e216e6f23470fe9de1918a2e403f0
|
|
BLAKE2b-256 checksum How to use checksums |
2def6074e25366a534c9c8b5f2cbe3319da89424f0afcbc4063a6dce2b3a49ea
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.6 {"installer":{"name":"uv","version":"0.12.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|