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.11.0.tar.gz (29.0 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.11.0-py3-none-any.whl (24.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: gripsack-0.11.0.tar.gz
  • Upload date:
  • Size: 29.0 kB
  • Tags: Source
  • Uploaded using 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}

File hashes

Hashes for gripsack-0.11.0.tar.gz
Algorithm Hash digest
SHA256 11a56722238c7781df88669bd4eb5e37eb300b9a1463d3b349b19788145c4971
MD5 891c70e0f78dde6f3fc9c58445a92306
BLAKE2b-256 d59e0d5a1e02605c5f4d052343ef6ae4ddbaa621413e947a38f789510a7f5cc3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: gripsack-0.11.0-py3-none-any.whl
  • Upload date:
  • Size: 24.6 kB
  • Tags: Python 3
  • Uploaded using 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}

File hashes

Hashes for gripsack-0.11.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6b531fe7092692818439c7bff0aa85c195a3fb86760d1c52aff32a6ba39a4b6b
MD5 ef8a1a0c55c6da66a3e9570716c0440f
BLAKE2b-256 a0bbe980cb01d57ee3506add603ec56d0be2032d30849d7d195b57f0afb266bb

See more details on using hashes here.

Release history Release notifications | RSS feed

0.12.1

2 files

0.12.0

2 files

This release

0.11.0 This release

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

0.6.0

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