Repository navigation
v0.25.0 - Color Pallets
packer Update [0.25.0]
This release introduces color customization features, updates to CLI documentation, improvements to the upcoming GUI, and various output formatting enhancements. Additionally, there are fixes addressing issues with GitHub workflow rejection, import locations, and function documentation.
Installation
Use the assets attached to this release page or PyPI to install this exact version.
1. Via PyPI
pip install packer-release==0.25.02. Via Attached Wheel File
Download packer-0.25.0-py3-none-any.whl from the Assets section below, then run:
pip install ./packer-0.25.0-py3-none-any.whl3. From GoFile Source Archive
Download the source archive from https://gofile.io/d/bsT5ix and install it locally with pip:
pip install /path/to/packer-0.25.0.zip4. Standalone Executable (No Python Required)
Download the binary for your platform from the Assets section below:
- Linux:
packer(runchmod +x packerto make it executable) - Windows:
packer.exe
Changes in 0.25.0
Added
- [c77e209]
flushandendparameters toprint_bg_colored_text, they are just passed straight toprintfunction. - [778e892] Color pallets to config.py, for some nice color combinations that can simply be imported.
- [778e892] A few more flags to control the newly changed
--versionflag, like--static,--version-font,--version-color. - [68b3505]
open_projectparameter to thesetupfunction, which opens the project with the text editor defined in your settings after creation. - [0ad2664]
_process_partial_outputhelper function forPackerto do just that, it's called for both output functions_print_and_logand_log_and_output_queue. - [3e19037] A new method
queue_prompt_edit_textto handle text editing interaction within the input queue. - [3e19037]
self.prompt_edit_textvariable which is a dynamic function that is eitherself.queue_prompt_edit_textor_input_via_text_editor, based on ifinput_queueis provided. - [990e057]
all_settings_statusvalidation variable to also catch any other exceptions when reading the settings file, like file permissions, invalid JSON and anything else. - [77c7aa0] A lot of new settings for the upcoming GUI.
- [ef74d40] Introduces a new method
_smooth_outputfor managing output with smoother rendering whenall_settings.smooth_outputis enabled, it was supposed to already exist when I changed the architecture, my bad.
Changed
- [3a1d4dd] Prettified by adding a ton of colors in various random output for variables for the most part.
- [3a1d4dd]
+character before output the net size change if it's positive. - [778e892] Version flag to look much nicer.
- [778e892]
--versionflag in theruncommand to now just be--new-version,-ninstead of the--version, since they were conflicting, which might be confusing. - [2ed0780] Updated CLI documentation to include the new global options for version display, static banner, font and color selection.
- [4389405] The
gitinteractions inchange.pyto use theGitPythonRepoobject, instead of running commands throughsubprocess.run. - [4389405] Output to be colored for warnings and errors using a custom function
print_colored_textfrompacker.custom_modules.etf. - [0ad2664]
_print_and_logto not handle output queue, since the function won't be called there is a different function responsible for that_log_and_output_queue. - [3e19037] Replaced
_input_via_text_editorwithself.prompt_edit_textin all places for handling version description, title, and potentially other text edits. - [3e19037]
_get_queue_inputoutput type fromAnytobool | None, since that's whatbool_answerfunction used in it returns,Noneis only for invalid answers. - [990e057] Moved some of the constants or variables containing default and available user choices to
config.py, so that they can easily be reused in other interfaces along sideall_settings_status. - [990e057] Moved terminal interfaces
all_settings_statusprocessing and output to happen right after parsing provided arguments in thecli.py, instead of after all commands. - [990e057]
all_settings_statusvariable creation to be a bit more robust inconfig.py. - [d30d74b] Long single line imports into multiple lines using parentheses.
Fixed
- [c77e209]
_Popenstreamed output to actually output by flushing the input buffer. - [5b09b80] Replaced the flimsy check for rejecting the GitHub workflow through Packer automatically via the
revert_changesmethod to instead check ifPackerhas an attributerun_id, no need to check if it's valid just in case the id is 0, if it's present we good. - [3a1d4dd] Various
print_and_logfunction calls to correctly pass the log level to the parameter instead of passing it to the color parameter. - [56363f3] The assets directory place in the README example, instead of at root, but instead it's actually inside the program's folder.
- [8aa36a2] Changed the import of
input_via_text_editorto_input_via_text_editorto import the internal one fromconfig.py, to actually use the settings defined inPackerglobal settings. - [0ad2664] Documentation for
_log_and_output_queueto not just be a copy of_print_and_log, since the function doesn't print anything. - [6df5595]
_process_partial_outputfunction to correctly work with the new way that part of code works, had the old namespace when it was refactored into it's own function.
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 (Terminal):
Open your terminal and run:
sha256sum packerCompare the resulting hash with the one provided in the GitHub release assets list to ensure it matches.