Migration guides - HorlogeSkynet/archey4 GitHub Wiki
Migration guides
v4.11 → v4.12
Multi-words names entries will be now "prettified" in output
Following renaming have been performed :
DesktopEnvironment
->Desktop Environment
WindowManager
->Window Manager
LAN_IP
->LAN IP
WAN_IP
->WAN IP
You may be affected if you don't play with name
entries configuration option.
Due to Archey's internal, this affect both text and API outputs, so you might have to adapt your consumption usages :
- archey -j | jq -r '.data.DesktopEnvironment.release'
+ archey -j | jq -r '.data."Desktop Environment".release'
v4.10 → v4.11
Python 3.5 has been dropped
So as to keep a clean core and reduce technical debt, support for Python < 3.6 has been finally dropped too.
The v4.10 branch of Archey will be the last one supporting Python 3.5.
Distributions
public methods have been renamed
Two - Distributions.get_distribution_identifiers
+ Distributions.get_identifiers
- Distributions.run_detection
+ Distributions.get_local
v4.9 → v4.10
Python 3.4 has been dropped
Everything's in the title. We really advise you to upgrade to Python >= 3.6 if possible.
The v4.9 branch of Archey will be the last one supporting Python 3.4, sorry :roll_eyes:
Standalone building breakage
TL;DR If you happen to standalone-build Archey, we now advise you to use PEX for a much simpler procedure.
Distributions' logos are now lazy-imported by Python (for performance purposes).
This broke standalone building against Stickytape & PyInstaller (they are not capable to include those "hidden/static/non-implicit" imports).
As a workaround, one way to still use them is to specify one of their options to manually add required logos to final "builds".
If you do not plan to move n' use your build result on another system, you could simply run something like :
stickytape \
--copy-shebang \
--add-python-path . \
--output-file dist/archey \
--add-python-module archey.logos."$(python3 -c 'import distro; print(distro.id())')" \
archey/__main__.py
# OR
pyinstaller \
--distpath dist \
--specpath dist \
--name archey \
--onefile archey/__main__.py \
--hidden-import archey.logos."$(python3 -c 'import distro; print(distro.id())')" \
--log-level WARN
This would "automatically" include your CURRENT distribution logo to the final file.
You can repeat respective flags to import multiple logos (including all of them if you want :stuck_out_tongue_winking_eye:).
v4.8 → v4.9
Configuration file layout change
TL;DR You should get the new template and backport your configuration to it.
Also (and always) check the README for some examples and further explanations.
Starting with v4.9.0, entries can be re-ordered, renamed (name
special key) and temporary disabled (disabled
special key).
Additionally, their respective options are now declared as neighbor key-value pairs.
{
// ...
"entries": [
// ...
{ "type": "Packages" },
{
"type": "Temperature",
"char_before_unit": " ",
"sensors_chipsets": [],
"use_fahrenheit": false
},
{
"type": "CPU",
"one_line": false,
"show_cores": true
},
// ...
],
// ...
}
As consequences and for consistency purposes :
colors_palette.honor_ansi_color
is now a "root" option (honor_ansi_color
) ;colors_palette.use_unicode
has been moved toTerminal
entry specific options ;limits.{disk,ram}.{warning,danger}
have been respectively moved to their respective entries options as{warning,danger}_use_percent
;ip_settings
&timeout
options have been puzzled acrossLAN_IP
&WAN_IP
.
New settings have also appeared (should be self-explanatory) :
CPU
:one_line
&show_cores
WAN_IP
:{ipv4,ipv6}.{dns_query,dns_resolver,dns_timeout,http_url,http_timeout}