Skip to main content

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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gripsack-0.6.0.tar.gz (27.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gripsack-0.6.0-py3-none-any.whl (23.2 kB view details)

Uploaded Python 3

File details

Details for the file gripsack-0.6.0.tar.gz.

File metadata

  • Download URL: gripsack-0.6.0.tar.gz
  • Upload date:
  • Size: 27.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","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}

File hashes

Hashes for gripsack-0.6.0.tar.gz
Algorithm Hash digest
SHA256 ad5b897e203327fc5b339d542515ee53828f87489d257785a9bd2361c0fc7b96
MD5 5326eebd15795a13ce0f429b8950642a
BLAKE2b-256 ce49732f2bec622bbfea502c16a17565e40d76d10d6248c5ce399da2d8e7783b

See more details on using hashes here.

File details

Details for the file gripsack-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: gripsack-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 23.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","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}

File hashes

Hashes for gripsack-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 93c38ec23c1e111d6ee2527dac5eb1a0b834a089d57b08e9e27bfc166eb142bc
MD5 1ea7a0b4e83dadd66407ab32a97b4d00
BLAKE2b-256 ce438ee62f119b07b7dbcd19683ecdd46b5a2e0d8660056df5307a659ac7aa27

See more details on using hashes here.

Release history Release notifications | RSS feed

0.12.1

2 files

0.12.0

2 files

0.11.0

2 files

0.10.3

2 files

0.10.2

2 files

0.10.1

2 files

0.10.0

2 files

0.9.2

2 files

0.9.1

2 files

0.9.0

2 files

0.8.0

2 files

0.7.0

2 files

This release

0.6.0 This release

2 files

0.5.1

2 files

0.5.0

2 files

0.4.1

2 files

0.4.0

2 files

0.3.0

2 files

0.2.1

2 files

0.2.0

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page