Repository navigation
v0.23.0 - Colorful Tracking
packer Update [0.23.0]
This release enhances user interfaces with color options, improves build automation, and strengthens error handling, while also streamlining Packer's Python package creation and upload process to PyPI.
Installation
Available via:
- GitHub: GitHub Releases
- Third-party website (GoFile): Archive (click the download button).
Binary Downloads
When downloading, please choose the correct build for your operating system:
| File Name | Platform | Description |
|---|---|---|
packer |
Linux/macOS | Executable for Unix-based systems. |
packer.exe |
Windows | Executable for Windows systems. |
To install:
- GitHub:
Download the appropriate binary for your system from the Releases page. - Third-party website (GoFile):
Head to the website Archive and download the specific arhive with the appropriate version.
After installing, continue following instructions via the README.
Changes in 0.23.0
Added
- [9495cd6]
track_model_pullfunction to be able to easily track installing models in any interface in cli.py it uses theTqdmProgressRenderer. - [416eb92] A check before creating the Packer object to check if the ollama client is available on PATH.
- [9bc0e18]
pypiintegration withbuildandtwineto build the python package and upload it respectively. - [63f0ffc] A fallback for when output data text dict is malformed in that case just print out the problem.
Changed
- [a2590f0] Hardened blank line filtering by adding a list variable
pending_blank_linesto manage extra blank lines between sections in the changelog. - [dc206c5] Ollama models suggestion to filter out any models that don't have completion in their capabilities metadata, like text embedded models, also to sort by size and choose mistral if possible otherwise the smallest available.
- [9495cd6] The
print_listfunction insrc/packer/custom_modules/etf.pynow accepts optional RGB color for text, index number color. - [639f317] Packer to use pytest for internal functionality testing, for better future development of Packer.
- [d8c09e8]
print_and_loginternal functions to allow partial line coloring while retaining only full lines in the log, by utilizing an internal bufferself.print_message_parts. - [d8c09e8] Documentation for internal
print_and_logfunctions to have the same doctype copied over for simplicity, IDE support and clear intent. - [d8c09e8] TUI run project choice to also check for an IndexError, in case the user provided an index that isn't listed, not just the name of the project.
- [6589965] Renamed project name from "packer" to "packer-release" in pyproject.toml for in the future you will be able to install this project from pypi using a package manager like pip, this name change only applies to pypi, project's official name is still packer.
- [9bc0e18] Some output to report when uploading begins on GitHub assets.
- [9bc0e18]
runfunction in actions.py to be much simpler to usemodel_dumpmethod with kwargs for thePacker'sconstructor. - [b593dbb] The output of the error if ollama isn't on PATH to have spaces to look nicer.
- [00cb5a9] Python package wheel build waiting and uploading to GitHub release assets to happen before pyinstaller and nuitka.
Fixed
- [3626a68] Type notation for a cycle object to use Iterable instead of runtime cycle object.
- [f104a51] Build script
pyproject.tomlto correctly package the assets to also include everything inside the assets folder, not just the top directory, but everything recursively. - [639f317] Corrected the filtering logic to be a bit more robust, tests had failed.
- [d8c09e8] Instances of waiting for smooth_output to finish before printing to the terminal in normal mode to utilize a general function
self.wait_smooth_outputinstead of just calling the join methodself.buffer_queue.join, which fails if smooth_output is disabled. - [6589965] Move Git repo initialization in Packer's constructor to happen after changing CWD if needed.
- [05c45ce] Renamed
folder_idtogofile_folder_idparameter in the constructor of Packer class, to be simpler and use the same naming scheme as saved project settings keys. - [b593dbb] The check if ollama isn't on path to correctly evaluate first whether we need to check if any prompts are provided and if so check if ollama is available on PATH.
- [63f0ffc]
main.specby addingcopy_metadata("twine")todatasto correctly bundle all necessary data for twine. - [63f0ffc] Output handling for GoFile errors, arguments were incorrectly passed.
- [e3cbea1] Another argument passing error in GoFile error output log level was passed instead of a color.
- [804d9a6] Build python package wheel upload to pypi to find the correct file.
- [804d9a6] Addition of a
waitparameter inrevert_changes,_exitmethods, and_wait_smooth_outputfunction to control whether they wait for smooth output before exiting or not, in case of failure in the output the software might wait forever. - [00cb5a9] Built python package wheel upload to GitHub release assets by correctly formulating a full path.
- [00cb5a9] To wait until all output has finished outputting before returning the revert_changes method in case output follows straight after.
- [b145d87] Minor syntax mistakes regarding python package built wheel upload to GitHub release assets.
Tips
If you prefer to build from source via GitHub, you can clone the repository using:
git clone https://github.com/EMILIO888real/Packer --depth 1
Using --depth 1 creates a "shallow clone," which only downloads the latest commit, saving you significant time and storage space compared to a full repository clone.
While downloading the pre-compiled binaries (like packer or packer.exe) is usually the fastest way to get started, cloning the repository allows you to easily pull future updates with git pull as they are released.
Verification
To ensure the integrity of the downloaded files, you can verify their SHA256 checksums.
How to verify:
- Windows (PowerShell):
Open PowerShell and run the following command:
Get-FileHash .\packer.exe -Algorithm SHA256
- Linux/macOS (Terminal):
Open your terminal and run:
sha256sum packer
Compare the resulting hash with the one provided in the GitHub release assets list to ensure it matches.