Skip to content

AppImage Updater

A professional, enterprise-ready Linux service for automating the finding and downloading of AppImage applications from their respective websites.

AppImage Updater is a modern, type-safe Linux CLI application built with a layered architecture that monitors configured applications (like FreeCAD, OrcaSlicer, etc.) for new releases and provides automated downloading of updated AppImage files from GitHub releases and other sources.

Platform Support: Linux only - AppImage is a Linux-specific package format.

Features

Core Functionality

  • Automated Updates - Monitor GitHub repositories for new releases
  • Distribution-Aware Selection - Intelligent selection of best compatible distribution package
  • Smart Pattern Matching - Flexible regex patterns to identify correct AppImage files
  • Intelligent Pattern Generation - Smart regex creation from actual GitHub releases
  • ZIP Archive Support - Automatic extraction of AppImages from ZIP files
  • Prerelease Detection - Automatic detection of continuous build repositories
  • Multi-Distribution Support - Handle Ubuntu, Fedora, Debian, Arch, and other distributions

Security & Reliability

  • Checksum Verification - SHA256, SHA1, and MD5 checksum validation for security
  • GitHub Authentication - Token support for increased API rate limits (60 → 5000 requests/hour)
  • Robust Error Handling - Comprehensive error detection and user-friendly messages
  • Type Safety - 100% mypy compliance for runtime reliability

Performance & Usability

  • High Performance - Async operations with concurrent downloads and parallel processing
  • Multi-Format Output - Rich terminal UI, plain text, JSON, and HTML output formats
  • File Rotation - Keep multiple versions with automatic cleanup (fixed naming)
  • Symlink Management - Stable paths for applications through symbolic links
  • Interactive Selection - User-friendly menus for uncommon distributions
  • Flexible Configuration - JSON-based configuration with global and per-app settings

Quality & Architecture

  • Professional Architecture - Layered design with clear separation of concerns
  • Perfect Complexity Management - A-grade complexity rating (zero B+ functions)
  • Zero Dead Code - Comprehensive cleanup with smart filtering
  • Comprehensive Testing - 450+ tests with 60%+ coverage and 100% success rate
  • Enterprise Ready - Robust error handling and professional code standards

Requirements

  • Python 3.11+ - Required for modern async/await and type features
  • Linux - Only supported platform (AppImage is Linux-specific)
  • Internet Connection - For GitHub API access and downloads

Quick Start

  1. Install the application (see Installation Guide for all methods):
pipx install appimage-updater
  1. Add an application (configuration is created automatically):
appimage-updater add FreeCAD https://github.com/FreeCAD/FreeCAD ~/Applications/FreeCAD
  1. Check for updates:
appimage-updater check

For complete command documentation and advanced usage, see the Usage Guide.

Architecture Overview

graph TD
    A[CLI Commands] --> B[Configuration Manager]
    A --> C[GitHub Client]
    A --> D[Version Checker]
    A --> E[Downloader]

    B --> F[JSON Config Files]
    C --> G[GitHub API]
    D --> H[Version Comparison]
    D --> M[Distribution Selector]
    E --> I[Concurrent Downloads]
    E --> J[ZIP Extraction]
    E --> K[Checksum Verification]
    E --> L[File Rotation]

    M --> N[System Detection]
    M --> O[Compatibility Scoring]
    M --> P[Interactive Selection]

Key Components

  • Configuration System - Flexible JSON-based directory structure with global and per-application configuration files
  • GitHub Integration - Robust GitHub API client with rate limiting and error handling
  • Distribution Selector - Intelligent selection of compatible distribution packages with interactive fallback
  • Version Management - Sophisticated version detection and comparison using semantic versioning
  • Download Engine - Concurrent downloads with automatic ZIP extraction, progress tracking, and checksum verification
  • File Management - Optional file rotation with configurable retention policies and symlink management

Documentation

User Guides

Feature Guides

Support & Maintenance

Developer Resources

Getting Started

Ready to automate your AppImage updates? Head over to the Installation guide to get started, or check out the Getting Started tutorial for a walkthrough of the basic features.