A software utility that enables transparent, platform-independent and relocatable handling of executable and resource files.
However, with Chestnut, I was able to reach my programs quickly and efficiently. What's more, if I moved the program somewhere else, I could easily make it work without any hassle. In other words, Chestnut is like a PATH on steroids.
This package manager consists of a Python library and three executables: a runner (cnrun), a path resolver (cnpath), and a lister (cnls). The runner executes executables according to the assigned package name, version, and entry point. The path resolver returns the absolute path of a resource with the same identification as above, while the lister provides a detailed list of available packages and their contents.
Chestnut solves a number of problems that software developers often face, including the ability to invoke programs or get resources without having to deal with their absolute or relative path. It also allows bundling of related executables and resources into a logical container, the "package." It enables pre-wrapping of executables in a transparent manner and allows precise control over executed versions. Best of all, it lets you use the same package for storing multiple platform-dependent executables or resources. This means that the package can be shared on NFS, and the appropriate executable will be used, depending on the platform being used.
I found that Chestnut's concept is quite similar to Java archives and Apple bundles, and it is indeed implemented in Python. I also appreciated the fact that Chestnut is developed and licensed under the terms of the GNU Library or Lesser General Public License (LGPL).
In summary, Chestnut is a simple yet incredibly useful utility that can help make the lives of software developers a whole lot easier. I would definitely recommend this tool to anyone looking for an efficient and reliable package manager.
Version 2.2.1: N/A