system_info
appimage_updater.core.system_info
¶
System information detection for Linux architecture and distribution compatibility.
This module provides comprehensive Linux system detection including architecture, distribution, and supported package formats to enable intelligent asset filtering and compatibility scoring. AppImage Updater is Linux-only.
SystemDetector()
cached
¶
Detects system information for compatibility checking.
Source code in src/appimage_updater/core/system_info.py
get_system_info()
¶
SystemInfo(platform, architecture, architecture_aliases, machine, supported_formats, distribution=None, distribution_family=None, distribution_version=None, distribution_version_numeric=None)
dataclass
¶
Comprehensive system information.
architecture
instance-attribute
¶
architecture_aliases
instance-attribute
¶
distribution = None
class-attribute
instance-attribute
¶
distribution_family = None
class-attribute
instance-attribute
¶
distribution_version = None
class-attribute
instance-attribute
¶
distribution_version_numeric = None
class-attribute
instance-attribute
¶
machine
instance-attribute
¶
platform
instance-attribute
¶
supported_formats
instance-attribute
¶
get_system_info()
¶
is_compatible_architecture(asset_arch, system_arch=None)
¶
Check if an asset architecture is compatible with the system.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
asset_arch
|
str
|
Architecture found in asset filename |
required |
system_arch
|
str | None
|
System architecture (uses detected if None) |
None
|
Returns:
Name | Type | Description |
---|---|---|
bool
|
Tuple of (is_compatible, compatibility_score) |
|
Score |
float
|
100=exact, 80=compatible, 0=incompatible |
Source code in src/appimage_updater/core/system_info.py
is_compatible_platform(asset_platform, system_platform=None)
¶
Check if an asset platform is compatible with Linux.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
asset_platform
|
str
|
Platform found in asset filename |
required |
system_platform
|
str | None
|
System platform (should be 'linux') |
None
|
Returns:
Name | Type | Description |
---|---|---|
bool
|
Tuple of (is_compatible, compatibility_score) |
|
Score |
float
|
100=exact, 0=incompatible |
Source code in src/appimage_updater/core/system_info.py
is_supported_format(file_extension, system_platform=None)
¶
Check if a file format is supported on Linux.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
file_extension
|
str
|
File extension (e.g., '.deb', '.AppImage') |
required |
system_platform
|
str | None
|
System platform (should be 'linux') |
None
|
Returns:
Name | Type | Description |
---|---|---|
bool
|
Tuple of (is_supported, preference_score) |
|
Score |
float
|
100=preferred, 80=supported, 0=unsupported |