Maintained fork of the original Archey (Linux) system tool
GPL-3.0 License
WindowManager
(see #145)df
output to contain Unicode characters (see #139)WindowManager
API value format: now an object with name
and display_server_protocol
attributes (see #145)shadowman
(see #148)Published by HorlogeSkynet about 1 year ago
wwdc20
) alternate logo (see #122)retro_low
) alternate logo (see #135)show_link_local
option to allow link-local IP addresses hiding for LAN_IP
(see #137 and #138)uptime
errors at warning level (see #132 and #133)PATH
when looking for vcgencmd
in Temperature
WAN_IP
(see #134)Published by HorlogeSkynet almost 2 years ago
logo_style
config option for preferred logo style (see #124)CPU
detection on aarch64 platforms lacking of ACPI PPTT (see #127)Published by HorlogeSkynet about 2 years ago
Custom
entry (see #120 & #121)PermissionError
when opening restricted configuration filesmacOS-latest
for unit tests in integration jobs matrix (see actions/runner-images#5583)Bye, happy upgrade π
Published by HorlogeSkynet about 2 years ago
β οΈ Diff readers are kindly invited to skip f613fef4c96d2fdddd25cdc4ae240dfcfb2c508c, which reformatted Archey code base using Black and isort.
v4.Y.Z
-> 4.X.Y.Z
)dmidecode
usage in Model
for virtual environments info gatheringCustom
entry (see #111)Load Average
entryCPU
, RAM
and Model
FreeBSD support (see #114)CPU
and Model
entries initializationModel
Model
Bye, happy upgrade π
Published by HorlogeSkynet over 2 years ago
pacstall
package managerentries_color
config option to tune entries color (see #109 and #110)sensors_excluded_subfeatures
temperature config option to exclude specific sub-features (see #107 and #108)sensors_chipsets
temperature config option documentation (see #106)Bye, happy upgrade π
Published by HorlogeSkynet almost 3 years ago
π Official Rocky Linux distribution support
π Official upcoming support for Python 3.11
π Support for pkgin
(NetBSD) package manager (see dylanaraps/neofetch#1906)
π Support for hardware "product" DMI vendor name in Model
π Support for motherboard DMI information in Model
too (see dylanaraps/neofetch#1943)
π Document terminal monospaced font recommendation for ASCII art
π Fix possible Uptime
discrepancies on macOS 10.12+ (see #105)
π Prevent system_profiler
STDERR logs output on macOS (see #104)
π Remove square brackets around architecture from Distro
entry output
π virt-what
and/or dmidecode
probing for Model
, even for unprivileged users
Bye, happy upgrade π
Published by HorlogeSkynet about 3 years ago
π Support for maim
("Make image") screenshot back-end
π Fix df
output parsing when file-systems column contain white-spaces in Disk
(see #103 & #102)
π Prevent program crash when calling external programs raise PermissionError
exception (see #101)
π Prevent program crash when reading from /sys
file-system is not allowed
Bye, happy upgrade π
Published by HorlogeSkynet about 3 years ago
π Fix text width overlap regression introduced in v4.13.0
π Only run pkg
on *BSD systems
π Fix brew
Packages
count on Apple Silicon and GNU/Linux
π π¦ Fix dawidd6/action-homebrew-bump-formula
usage for automatic Homebrew update
π Improve Darwin (Apple) logo design
π§ Prevent entries disabled
special field from being propagated in options
Bye, happy upgrade π
Published by HorlogeSkynet about 3 years ago
π Official NetBSD support
π Archey official project logo (CC-BY Brume)
π Protected _logger
attribute for Entry
objects
π PEP-561 compliance (Distributing and Packaging Type Information)
π Extend Android system auto-detection (as CPython standard library does)
π Logos are now right-padding "unaware"
π Fix Pop!_OS logo (reverted) coloration
π Fix Temperature
sensors_chipsets
option (when containing multiple values)
π Fix potential configuration file encoding issues on Windows platforms
π Improve logging style of multiple lines sensors
error messages for Temperature
Now that Archey entries use dedicated logging.Logger
objects, it is possible to silence only a subset of them.
import logging
from archey.entries.temperature import Temperature
# ...
# Silences any warning messages from the `Temperature` entry module.
logging.getLogger(Temperature.__module__).setLevel(logging.ERROR)
# ...
temperature = Temperature(options={'sensors_chipsets': ['an-unknown-chipset']})
print(temperature.value['temperature'])
master
)Bye, happy upgrade π
Published by HorlogeSkynet over 3 years ago
π π¦ Now available as a proper Homebrew formula (in the default tap !) π
π π₯ "Pretty names" for multiple-words entries by default (WanIP
-> WAN IP
)
π π₯ Prevent text truncation when writing output to a pipe
π π₯ Prevent colored output by default when writing to a pipe (see next item related to colors)
π CLICOLOR[_FORCE]
environment variables support
π Kernel
name
π Proper CHANGELOG.md
file
π one_line
option for LAN_IP
& WAN_IP
entries configuration objects
π TERM_PROGRAM_VERSION
environment variable support for Terminal
π USER
, LOGNAME
& LNAME
environment variables support for User
entry
π π Alternative logo styles support (see #98, and thanks to @GentleHoneyLover)
Darwin users, you might already wanna pass
-l retro
at runtime so as to enjoy previousarchey-osx
project logo !
π¦ distro
& netifaces
Python dependencies are now "frozen" to allow upstream breakages
π Kernel
name attribute
π π₯ As described above, you may expect changes in JSON keys corresponding to multi-words named entries (i.e. DesktopEnvironment
--> Desktop Environment
).
{
"data": {
/* ... */
"Kernel": {
"name": "Linux",
/* ... */
},
/* ... */
"Desktop Environment": "Cinnamon",
/* ... */
},
"meta": {
"version": [4, 12, 0],
/* ... */
}
}
Bye, happy upgrade π
Published by HorlogeSkynet over 3 years ago
π₯ Support for Python 3.5 has been dropped (EOL)
π Official BSD (and its derivatives) support (see #69), thanks to @ingrinder for his previous work
π Official Darwin (macOS) support, thanks to @mdubinko for his time (see #95)
Note : On this platform,
Temperature
entry requiresiStats
orOSX CPU Temp
third-party programs.
π Official Parabola GNU/Linux-libre support
π disabled
entries won't be internally executed anymore (see 2ec11f4f)
π Internal logging has been rewritten, you may now expect [lm-]sensors
warnings messages to appear
π Now (very degradedly) run even without procps[-ng]
package installed
π Fixes Disk
detection for mount points containing space characters
π₯ π Two Distributions
public static methods have been renamed
π₯ π sys.exit
usages have been replaced by proper ArcheyException
raising. This way, consuming Archey Python API will be a lot easier :
from archey.exceptions import ArcheyException
from archey.entries.uptime import Uptime
try:
uptime = Uptime()
except ArcheyException as e:
# ...
pass
else:
print(uptime.value)
π Thanks to Python 3.6, dict
ordering can now be guaranteed
π meta
object will now contain a distro
key storing the internally detected distribution identifier.
{
"data": {
/* ... */
},
"meta": {
"version": [4, 11, 0],
/* ... */
"distro": "debian"
}
}
Bye, happy upgrade π
Published by HorlogeSkynet almost 4 years ago
π₯ Support for Python 3.4 has been dropped (see #93)
π Code base has been type-annotated (thanks to Python 3.5 and Mypy)
π Python 3.10 is now (officially) supported (see #85)
π π₯ LAN_IP
now excludes global (public) IP addresses from entry by default (see new show_global
option to keep old behavior)
π π₯ Logo will now be lazy-loaded (standalone building against Stickytape and PyInstaller may break, see README & Wiki)
π uname
subprocess calls have been replaced by proper platform
module (standard library) usages
π Support for Devuan distribution
π Support for DO_NOT_TRACK
environment variable
π On GNU/Linux, Kernel
now supports optional version comparison against https://www.kernel.org/ (useful for rolling-distributions), see new check_version
option (#94)
π Uptime
won't crash anymore in environments implying parsing of the uptime
command (as Android)
π¦ Artifact for Arch-based distributions will now be available as .tar.zst
(see announcement)
π₯ Kernel
is now a dict
containing release
, latest
and is_outdated
keys
{
"data": {
/* ... */
"Kernel": {
"release": "4.19.0-14-amd64",
"latest": "5.10.1",
"is_outdated": true
},
/* ... */
},
"meta": {
"version": [4, 10, 0],
/* ... */
}
}
Bye, happy upgrade π
Published by HorlogeSkynet almost 4 years ago
π₯ π₯ π₯ Configuration layout has changed, please check documentation before updating ! (see #80)
π Entries may now be reordered as you wish (see #57)
π π₯ Now ./config.json
path will automatically be looked up and loaded if it exists
π π₯ CPU
now supports multiple CPUs and show number of cores (if > 1), API breaking though (see #90 and below)
π π₯ So as to improve consistency with new CPU
behavior, GPU
will now be displayed on multiple lines by default (see #90 too)
π WAN_IP
now supports very accurate configuration for resolvers and timeouts, including specific method disabling (see #81 & #89)
π LAN_IP
is now generator-based, includes a minor optimization and improves compatibility against IPv6 addresses
π Model
now ignores fuzzy data (as "To Be Filled By O.E.M.")
π Disk
won't soft-fail anymore due to df
crashing for some reasons (see #92)
π π¦ Distribution packages shouldn't include some unit tests anymore
π π¦ (official) PEX building support
ποΈ π CI now runs on GitHub Actions for performance purposes
π π₯ CPU
will now be available as a list
of dict
containing CPUs model names and core counts
π₯ LAN_IP
internal class has been renamed to LanIP
π₯ WAN_IP
internal class has been renamed to WanIP
{
"data": {
/* ... */
"CPU": [
{
"Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz": 8
}
],
/* ... */
},
"meta": {
"version": [4, 9, 0],
/* ... */
}
}
Bye, happy upgrade π
Published by HorlogeSkynet about 4 years ago
π Fix screenshot module crashing anyhow
π π Properly set exit code on error in various situations
π Proper support for Elementary OS and Pop!_OS distributions (thanks to @SomethingGeneric and @airvue)
π Add hardware "product version" if available on some GNU/Linux systems
Bye, happy upgrade π
Additional note to users :
π₯ The NEXT VERSION of Archey will likely bring a rework of the configuration file.
It will be a breaking new version regarding to the current configuration layout.
Please see v4.9.0.
Published by HorlogeSkynet about 4 years ago
π Entries are now loaded in parallel (huge performance boost, lower execution time). See #68 & #74
π Official support for Python 3.9
π π₯ Disk
has been reworked, multiple entries are now supported (see #55 & #67). You should refer to new configuration options to properly format the entry according to your setup
π Screenshot taking is now supported (based on available back-ends on your system). See new -s
option (see #75) πΈ
π You will now be able to load a specific configuration file. See new -c
option
π You will now be able to manually choose the distribution logo to display. See new -d
option
π (finally) full support for BusyBox-based systems (if not, please open an issue) [see #62]
π New (partial) support for *BSD systems (please watch #69 for final full support)
π New (basic) support for Android systems
π New (basic) support for NixOS
π New Processes
entry showing the number of detected running processes
π Now support NO_COLOR
feature (see #82 & jcs/no_color#93) π¨
π Fix support for CrunchBang distribution (likely broken in v4.6.0)
π₯ Unicode will now be enabled by default (please refer to colors_palette.use_unicode
configuration option to disable it)
π₯ Some logos have been reworked
Bye, happy upgrade π
Additional note to users :
π₯ The NEXT VERSION of Archey will likely bring a rework of the configuration file.
It will be a breaking new version regarding to the current configuration layout.
Please see v4.9.0.
Published by HorlogeSkynet over 4 years ago
π Multiple GPU
s will now be displayed (see #61 & #71). Please refer to gpus.{one_line,max_count}
new configuration options in README.
π Terminal
should now properly display your terminal emulator (see #65 & #72). If not, please open an issue.
π Archey is now able to output entries data to JSON (see #70) ! Please see archey -j
.
π Fixes line overlapping on small terminals (see #63 & #64).
π Performances improvements (as always).
π¦ Arch Linux packages won't be built from FPM anymore. The asset for this platform proposed below will be directly built from the official package source on AUR.
π¦ GNU/Linux packages should now ship a proper UNIX manual page. Please run man archey
and report any bug.
π Don't crash anymore on systems not providing python3-netifaces
.
Bye, happy upgrade π
Published by HorlogeSkynet over 4 years ago
Hello everyone π
Let's reuse the previous release notes format :
π This version brings support for two "new" distributions :
π Since #56, and thanks to @ingrinder, the Disk
entry now properly supports the BTRFS file-system type.
π¦ As noticed in #59, .RPM and ARCH LINUX packages generated by FPM (and proposed as assets for v4.7.0) were actually broken (Arch users : the AUR one was not concerned). This has been fixed, and packages below should work as expected.
π¦ β οΈ RPM-based users : You will HAVE TO choose the package that fits the Python 3 version running on your system. If you don't know what to choose, please run python3 --version
β οΈ
π¨ The way Archey handles ANSI colors has been completely reworked, and some tweaks have been brought :
os-release
's ANSI_COLOR
option set in (some) distributions will be honored (see here for more informationcolors_palette.honor_ansi_color
configuration option β οΈπ₯οΈ A -v
CLI flag has been added to show the current version of Archey you are running.
β¨οΈ You may now specify a list of chipsets to prompt with LM-SENSORS when computing the average temperature (instead of all by default). Please refer to the temperature.sensors_chipsets
option documentation in README.
+ Implements distribution matching "fall-back" (see `os-release`'s `ID_LIKE` option)
+ Fixes some entries not working in specific environments (as Docker containers)
+ Performances improvements in distribution matching
+ Fixes timeout exceptions that _may_ occur when relying on `urllib` (`WAN_IP`)
+ Fixes `Temperature` average value computation if (a) fan control chipset(s) are present on the system
+ Fixes `systemd-detect-virt` execution output not being honored in `Model`
+ Fixes configuration file not being marked as one in .DEB & .RPM packages
+ Improves testing in many modules
Bye π
Published by HorlogeSkynet over 4 years ago
Hello everyone, I'll try to make it short & concise !
ποΈ Since #41, and thanks to @lannuttia, the whole software architecture has been reworked.
πΊοΈ python3-netifaces
will be used to retrieve IP addresses in a more portable way. See #41 too. It's a new dependency (β οΈ).
π Your (local) IPv6 addresses will now be displayed by default. A new ip_settings.lan_ip_v6_support
flag has been added to disable this behavior.
π¦ Since #50, and thanks to @czr137, you may now configure thresholds for Disk
and RAM
entries warning/danger colors with new limits.{disk,ram}.{danger,warning}
configuration options.
π» Due to #51, default_strings.bare_metal_environment
configuration option has been removed (β οΈ), as the Model
entry has been fully reworked.
π¨ Output used to contain heading and trailing newlines, they have been removed as well (β οΈ).
ποΈ Due to #42 and since #43, the Disk
entry should now support BTRFS and TEMPFS file-systems.
π’ Correct units (MiB
& GiB
) will now be displayed for Disk
and RAM
entries.
π¦ Since #54, distribution packaging has been reworked, using FPM. It's time to test it using the assets below π―
Note to Arch Linux users : You really should install this package from AUR.
Note to Debian users : .DEB packages will now be signed with my GPG key (as PyPI wheels were).
+ GitHub templates for issues and pull requests have been improved
+ Many PyLint warnings have been fixed, its usage is now cleaner
+ Some new runtime execution (and module freezing tests) have been added to CI
+ End-user documentation has been improved
+ Performance has been slightly improved
+ Temperature output format has been improved
+ For virtualization (`Model`), now relies on `systemd-detect-virt` (if available) instead of `virt-what` (it _should_ be backward-compatible with v4.6.0)
+ Relies on internal `urllib` instead of third `wget` calls when `dnsutils` (or `bind-tools` on Arch Linux) is not available)
+ Basic support for Deepin window manager and desktop environment has been added
+ (manual) `RAM` computations have been fixed (see 90975d4e)
+ Unit tests have been improved
EDIT 2020-04-19 : β οΈ Packages for Arch Linux and RPM-based distributions are actually broken (see #59 & #60) β οΈ
Please wait for the next release, packages will be regenerated and fixed then.
Published by HorlogeSkynet about 6 years ago
Hey everyone !
So this is an exhaustive recap of what has happened between July and August, and what you should read before upgrading in any way.
So, if it's not already the case, you will understand sooner or later that a main dependency of Archey 4 has changed with v4.6.0.
As extensively discussed during #36, we will now drop the direct usage of lsb_release
and instead ask the distro
Python module.
The idea is to propose (in a backward-compatibility way) a better support of distribution detection, by using a known maintained module that will do the job.
In the future, we may expect a lighter integration process for new distributions (like *-BSD
and much more), as their id
would be predictable.
It also should be faster, as it uses /etc/os-release
file under the hood (if available), instead of calling an external program.
This was also the occasion to improve some distribution matching pattern (fe8ec9
).
β οΈ Unless your are using Debian Jessie (and thus you should opt for an installation from PIP now), you basically only have to install python[3]-distro
package from your repositories, which will provide the distro
Β Python module.
Don't forget that, if you don't want to install it as a package for instance, it is also available from PyPI : pip3 install distro
.
Once it's done, you may consider removing the no longer used lsb-release
dependency, if your packages manager allows you to do it π
TL;DR
-lsb-release
+python3-distro
SlackWare
support has been implemented : Feedbacks are welcome (3334624
)GPU
information was not handling some special characters (794083e
)dig
& wget
calls will now be forced to use respective IP versions while detecting your public address (45fd5de
)GPU
detection (fb7c79a
)distro
)bad-indentation
warningFinally, I'm very happy to announce that @Xysto will kindly (try to do its best to) provide .rpm
packages for Archey π
As always, feedbacks will be appreciated π
The
COPYRIGHT.md
will now list "official" Archey 4 packagers.
Bye, thanks for your time and happy upgrading π
EDIT : I forgot to sign this release... I've set you a signed Wheel as asset here.
EDIT 2 : Due to a bug with PyPI, I've re-submitted Wheel afterwards.
The corresponding version will hence be archey4-4.6.0.post1
due to setuptools
versioning normalization.