+ New configuration option `temperature.sensors_chipsets`
- [BREAKING (?)] `sensors` sub-call won't have its STDERR redirected to `/dev/null` anymore.
- It allows occurring errors to be shown, instead of silently fail in temperature computations.
- This could happen if the user specifies (a) wrong chipset identifiers.
- Errors/warnings may still be silenced at the Archey level using the `suppress_warnings` configuration option.
- This new feature could not be unit-tested as it completely relies on the `sensors` sub-call, to which we pass chipsets identifiers.
+ Fixes `btrfs-progs` usages so `root` privileges are no longer required
+ Fixes allocated disk space (instead of actual used space) reported as used
* Fixes devices in groups (e.g. RAID 1) from being counted as having double the space used and available
+ Adds a test for a BTRFS group configuration.
+ Properly sets `btrfs-progs` as project dependency
+ By using FPM, SetupTools & Twine, publishes packages distributions sources
+ During CI, run the local Archey module previously installed with PIP
+ Fixes some required and recommended packages names in documentation
+ Signs Debian packages with `debsigs`
+ Adds source and wheel Python distribution packages generation
+ Enforces `twine check` on source and wheel distribution packages
+ Implements automatic `twine upload` with GPG signature
+ Improves SetupTools module meta-data
* Reworks the `Packages` entry, mostly simplifying its logic
* Reworks `LAN_IP` entry and adds a new `lan_ip_v6_support` option
* Reworks the `Model` entry :
+ Checks for virtualization contexts first
+ Adds `systemd-detect-virt` support, allowing `Model` population for non-root users
+ Simplifies the whole class logic definition
- Removes `default_strings.bare_metal_environment` option
Bonus :
* `wget` is not being used anymore, fixes documentation
+ Keeps options in alphabetical order (`configuration.py` & `README.md`)
+ Adds new `limits` section to default template (`config.json`)
+ Changes syntax coloration of documentation to JavaScript, and fixes it
On the idea of @EntityCuber in #45, this patch re-implements the **Temperature** entry using `lm-sensors` package (when available).
It also greatly improves the entry's testing suite and should be fully-backward compatible with previous versions of Archey 4.
* Moved constants and logo ascii art out of the main file
* Moved Configuration class to separate file
* Moved Output class to a separate file
* Moved hostname class definition to it's own separate file
* Moved Model class definition to it's own file
* Moved Kernel class to its own file
* Moved uptime class definition to it's own file
* Moved Disk class definition to its own file
* Moved RAM class definition to it's own file
* Moved CPU class definition to it's own file
* Moved LanIp class definition to it's own file
* Moved WanIp class definition to a separate file
* Moved Packages class definition to separate file
* Moved User class definition to its own file
* Moved entry class definitions to their own directory
* Moved GPU entry class definition to a separate file
* Moved temperature entry class definition to a separate file
* Moved terminal entry class definition to separate file
* Moved shell entry class definition to separate file
* Rewrited the `LanIp` module to handle more cases and optimizations
* Moved window manager and desktop environment class definitions to separate files
* Moved distro class definition to separate file
* Removed direct use of COLOR_DICT in disk.py and ram.py
* Moved unit tests and modified import paths
* Moved {DE,WM}_DICT constants to their respective modules
* Made `Configuration` & `Processes` (new class) act as singletons
* Set the `Configuration` internal `config` dictionary to "private" attribute
+ Now relies on a `.pylintrc` file for Pylint (now almost fully-compliant)
+ Fixed typos
+ Added another dependency on `netifaces`, but this should remove the assumption about tools available in the user's environment
+ The project may now be run as a Python module
+ Marked Python 3.8 as supported for SetupTools
+ Added instructions (and tests) to build a standalone version of Archey
+ Adds @lannuttia to COPYRIGHT (initiator of the major rework)
- Removed the dependency to `net-tools`
Co-authored-by: Samuel FORESTIER <dev@samuel.domains>
* Improves README & GitHub templates
* Fixes one test case failing due to local user configuration changes
* Makes the Archey sources (almost) compliant to PyLint
* Travis : Adds PyLint checks & Python 3.7 job
* Adds test cases
* Now compatible with setuptools
* Improves documentation
* Sets a real software architecture for a Python project
* New code styles to improve readability
* Now GPU will sort entries by relevancy and output only the best one
* Adds new strings to configuration for translation
* Major optimizations of external calls
* Packages entry will now output more accurate values, and is compatible with non-English locales
* Adds `suppress_warnings` option
* Moves configuration loading into `Configuration` initialization section
* Now uses a real `main()` method for future test cases
* Adds config.get('timeout')['ipv6'] and config.get('timeout')['ipv4'] to archey
* Add timeout option with separate timers for ipv6 and ipv4.
* Renames option name + PEP8
* Adds new options to documentation
* Adds new timeout option to default values (in case of standalone execution)
* Sets default timeouts to 1 second instead of 5
* Adds optional IPv6 support (enabled by default)
* Adds option to define the maximum number of LAN addresses to display (settable to `false` for an unlimited display)
* Improves documentation of new options available
* Reworks completely `WAN_IP` entry (with changes brought by @Si13n7)
* Improves consistency between `hostname -I` and "manual way" for `LAN_IP`
* First draft of external configuration feature
* Updates README with external configurations and updates image preview
* Specifies the optional aspect of external configuration in the README