packy

Pack dependencies into the compiled binary. Provides a system for handling .dll files.

Pure Nim score 15/100 · tests present · no docs generated

Summary

Latest Version 0.1.1
License Apache-2.0
CI Status Failing
Downloads 0
Last Indexed 2026-09-02 07:21

Authors

  • Joshua Fenner

Installation

nimble install packy
choosenim install packy
git clone https://github.com/xrfez/packy

OS Compatibility

Platform Linux macOS Windows FreeBSD OpenBSD NetBSD Android iOS WASM Embedded
packy - - - - - - -

Dependencies

Package Version Optional
nim >= 1.6.6 No

Source

Repository https://github.com/xrfez/packy
Homepage https://github.com/xrfez/packy
Registry Source nimble_official

README

packy

nimble install packy

This library has no dependencies other than the Nim standard library

About

packy is a module that allows the packing of dependencies into the compiled binary and extracting them at runtime. Allows the passing of target parameters with the dependencies, evaluated at runtime to determine what dependencies should be unpacked. If no .dll files were packed then the resulting executable is complete and can stand alone.

This library offers a work around for .dll files. During compile time a new file ending in *_installer.nim is created in the location of the source file. The file packs any .dll's along with the executable from the initial compile. This file can then be compilled and distributed alone.

Usage

# Pass as a string
packDep("Path to dependency")
packDep("Path to dependency", "Sub-dir to unpack to")
packDep("Path to dependency", "Sub-dir to unpack to", "Operating System")
packDep("Path to dependency", "Sub-dir to unpack to", "OS", "Architecture")

# Pass a seq[string] / additional arguments applied to every dependency.
packDep(@["Path to dependency1", "Path to dependency2", "Path to dependency3"])

# Use compile time iterator. Useful if you need to modify the sequence prior
# can still pass additional arguments
iterateSeq(dependency, @["dependency1", "dependency2", "dependency3"])
  packDep("part1 of path" & dependency & "part2 of path")