main
appimage_updater.main
¶
Main application entry point.
app = typer.Typer(name='appimage-updater', help='AppImage update manager')
module-attribute
¶
global_state = GlobalState()
module-attribute
¶
GlobalState
¶
Global state for CLI options that need to be accessible across commands.
debug = False
class-attribute
instance-attribute
¶
add(name=_ADD_NAME_ARGUMENT, url=_ADD_URL_ARGUMENT, download_dir=_ADD_DOWNLOAD_DIR_ARGUMENT, create_dir=_CREATE_DIR_OPTION, yes=_YES_OPTION, no=_NO_OPTION, config_file=_CONFIG_FILE_OPTION, config_dir=_CONFIG_DIR_OPTION, rotation=_ROTATION_OPTION, retain=_RETAIN_OPTION, symlink=_SYMLINK_OPTION, prerelease=_ADD_PRERELEASE_OPTION, basename=_ADD_BASENAME_OPTION, checksum=_ADD_CHECKSUM_OPTION, checksum_algorithm=_ADD_CHECKSUM_ALGORITHM_OPTION, checksum_pattern=_ADD_CHECKSUM_PATTERN_OPTION, checksum_required=_ADD_CHECKSUM_REQUIRED_OPTION, pattern=_ADD_PATTERN_OPTION, direct=_ADD_DIRECT_OPTION, auto_subdir=_ADD_AUTO_SUBDIR_OPTION, verbose=_VERBOSE_OPTION, dry_run=_DRY_RUN_OPTION, interactive=_INTERACTIVE_OPTION, examples=typer.Option(False, '--examples', help='Show usage examples and exit'), debug=get_debug_option(), format=FORMAT_OPTION, version=get_version_option())
¶
Add a new application to the configuration.
BASIC USAGE
Add an application with minimal options - intelligent defaults will be generated.
FILE MANAGEMENT
Control download directories, file rotation, and symlink management.
CHECKSUM VERIFICATION
Configure checksum validation for security and integrity checks.
Use --interactive for a guided setup experience with step-by-step prompts. Use --examples to see detailed usage examples.
Source code in src/appimage_updater/main.py
510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 |
|
check(app_names=_CHECK_APP_NAME_ARGUMENT, config_file=CONFIG_FILE_OPTION, config_dir=CONFIG_DIR_OPTION, dry_run=DRY_RUN_OPTION, yes=YES_OPTION, no=NO_OPTION, no_interactive=NO_INTERACTIVE_OPTION, verbose=VERBOSE_OPTION, debug=_DEBUG_OPTION, format=FORMAT_OPTION, info=typer.Option(False, '--info', help='Update or create .info files with current version scheme for selected applications'), instrument_http=INSTRUMENT_HTTP_OPTION, http_stack_depth=HTTP_STACK_DEPTH_OPTION, http_track_headers=HTTP_TRACK_HEADERS_OPTION, version=typer.Option(False, '--version', '-V', help='Show version and exit', callback=version_callback, is_eager=True))
¶
Check for updates to configured applications.
Examines each configured application to determine if newer versions are available. By default, this command only checks for updates without downloading them.
Use --yes to automatically download available updates. Use --no to perform real checks but automatically decline downloads. Use --dry-run to preview what would be checked without making network requests. Use --verbose to see detailed parameter resolution and processing information.
Source code in src/appimage_updater/main.py
cli_main()
¶
Main CLI entry point with proper exception handling.
Source code in src/appimage_updater/main.py
config(action=typer.Argument(default='', help='Action: show, set, reset, show-effective, list'), setting=typer.Argument(default='', help="Setting name (for 'set' action)"), value=typer.Argument(default='', help="Setting value (for 'set' action)"), app_name=typer.Option('', '--app', help="Application name (for 'show-effective' action)"), config_file=_CONFIG_FILE_OPTION, config_dir=_CONFIG_DIR_OPTION, debug=get_debug_option(), format=FORMAT_OPTION, version=get_version_option())
¶
Manage global configuration settings.
Source code in src/appimage_updater/main.py
edit(app_names=_EDIT_APP_NAME_ARGUMENT_OPTIONAL, config_file=CONFIG_FILE_OPTION, config_dir=CONFIG_DIR_OPTION, url=EDIT_URL_OPTION, download_dir=EDIT_DOWNLOAD_DIR_OPTION, basename=EDIT_BASENAME_OPTION, pattern=EDIT_PATTERN_OPTION, enable=EDIT_ENABLE_OPTION, prerelease=EDIT_PRERELEASE_OPTION, rotation=EDIT_ROTATION_OPTION, symlink_path=EDIT_SYMLINK_PATH_OPTION, retain_count=EDIT_RETAIN_COUNT_OPTION, checksum=EDIT_CHECKSUM_OPTION, checksum_algorithm=EDIT_CHECKSUM_ALGORITHM_OPTION, checksum_pattern=EDIT_CHECKSUM_PATTERN_OPTION, checksum_required=EDIT_CHECKSUM_REQUIRED_OPTION, create_dir=CREATE_DIR_OPTION, yes=YES_OPTION, no=NO_OPTION, force=EDIT_FORCE_OPTION, direct=EDIT_DIRECT_OPTION, auto_subdir=EDIT_AUTO_SUBDIR_OPTION, verbose=VERBOSE_OPTION, dry_run=EDIT_DRY_RUN_OPTION, debug=get_debug_option(), format=FORMAT_OPTION, version=get_version_option())
¶
Edit configuration for existing applications.
Update any configuration field by specifying the corresponding option. Only the specified fields will be changed - all other settings remain unchanged. When multiple applications are specified, the same changes are applied to all.
BASIC CONFIGURATION
--url URL Update repository URL --download-dir PATH Update download directory --pattern REGEX Update file pattern --enable/--disable Enable or disable application --prerelease/--no-prerelease Enable or disable prereleases
ROTATION CONFIGURATION
--rotation/--no-rotation Enable or disable file rotation --symlink-path PATH Set symlink path (required for rotation) --retain-count N Number of old files to keep (1-10)
CHECKSUM CONFIGURATION
--checksum/--no-checksum Enable or disable checksum verification --checksum-algorithm ALG Set algorithm (sha256, sha1, md5) --checksum-pattern PATTERN Set checksum file pattern --checksum-required/--checksum-optional Make verification required/optional
COMMON EXAMPLES
Enable rotation with symlink¶
appimage-updater edit FreeCAD --rotation --symlink-path ~/bin/freecad.AppImage
Enable prerelease for multiple apps¶
appimage-updater edit OrcaSlicer OrcaSlicerRC --prerelease
Update download directory¶
appimage-updater edit MyApp --download-dir ~/NewLocation/MyApp --create-dir
Configure security settings¶
appimage-updater edit OrcaSlicer BambuStudio --no-prerelease --checksum-required
Update URL after repository move¶
appimage-updater edit OldApp --url https://github.com/newowner/newrepo
Source code in src/appimage_updater/main.py
951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 |
|
get_debug_option()
¶
get_version_option()
¶
Get version option for commands.
list_apps(config_file=CONFIG_FILE_OPTION, config_dir=CONFIG_DIR_OPTION, debug=get_debug_option(), format=FORMAT_OPTION, version=get_version_option())
¶
List all configured applications.
Shows a summary of all applications in the configuration with their current status.
Source code in src/appimage_updater/main.py
main(debug=get_debug_option(), version=get_version_option())
¶
AppImage update manager with optional debug logging.
Source code in src/appimage_updater/main.py
remove(app_names=_REMOVE_APP_NAME_ARGUMENT_OPTIONAL, config_file=_CONFIG_FILE_OPTION, config_dir=_CONFIG_DIR_OPTION, yes=_YES_OPTION_REMOVE, no=_NO_OPTION_REMOVE, debug=get_debug_option(), format=FORMAT_OPTION, version=get_version_option())
¶
Remove applications from the configuration.
This command will delete the applications' configuration. It does NOT delete downloaded AppImage files or symlinks - only the configuration entries.
BASIC USAGE
appimage-updater remove FreeCAD # Remove single application appimage-updater remove FreeCAD OrcaSlicer # Remove multiple applications
Source code in src/appimage_updater/main.py
repository(app_names=REPOSITORY_APP_NAME_ARGUMENT, config_file=CONFIG_FILE_OPTION, config_dir=CONFIG_DIR_OPTION, limit=REPOSITORY_LIMIT_OPTION, assets=REPOSITORY_ASSETS_OPTION, dry_run=REPOSITORY_DRY_RUN_OPTION, instrument_http=INSTRUMENT_HTTP_OPTION, http_stack_depth=HTTP_STACK_DEPTH_OPTION, http_track_headers=HTTP_TRACK_HEADERS_OPTION, debug=get_debug_option(), format=FORMAT_OPTION, version=get_version_option())
¶
Examine repository information for configured applications.
Shows detailed information about releases, assets, and repository metadata for the specified applications. Useful for troubleshooting and understanding what versions and files are available.
BASIC USAGE
appimage-updater repository OrcaSlicer # Show release information appimage-updater repository "Orca*" # Use glob patterns
DETAILED INSPECTION
appimage-updater repository OrcaSlicer --assets # Include asset details appimage-updater repository OrcaSlicer --limit 5 # Limit number of releases appimage-updater repository OrcaSlicer --dry-run # Preview without fetching data appimage-updater repository OrcaSlicer --limit 3 --assets # Combined options
Source code in src/appimage_updater/main.py
show(app_names=_SHOW_APP_NAME_ARGUMENT_OPTIONAL, config_file=_CONFIG_FILE_OPTION, config_dir=_CONFIG_DIR_OPTION, debug=get_debug_option(), format=FORMAT_OPTION, version=get_version_option())
¶
Show detailed information about a specific application.
BASIC USAGE
appimage-updater show FreeCAD # Show single application appimage-updater show FreeCAD OrcaSlicer # Show multiple applications
CUSTOM CONFIG
appimage-updater show --config-dir ~/.config/appimage-updater OrcaSlicer
Source code in src/appimage_updater/main.py
1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 |
|