Skip to main content

updall

Simple command runner designed to run package managers if they exist on the system.

$ updall --help
Usage: updall [OPTIONS]

  A simple package manager update runner.

Options:
  -h, --help              Show this message and exit.
  -V, --version           Show the version and exit.
  -v, --verbose           Output debug info to stderr. Pass multiple times to
                          show more logging.
  -c, --config-file FILE  Alternate location of the config file.  [default:
                          /home/user/.config/updall/config.yaml]

Getting started

Create a config file. You can find the path updall expects to find this file by calling updall --help, or you can specify your own location by passing the -c / --config-file flag when running the command.

You can see the entire config structure and its default values below, but the only key you need to use updall is entries. This should be a list of PackagerEntries, which are objects containing at least name and update fields. name should be a unique string identifier representing the packager the entry works with, and update is a command string that'll be called to update packages.

Once you've populated the config file with entries, all you need to do next is run updall with no arguments:

$ updall
Running Updaters ...

 :: [   flatpak::update    ] ::
Looking for updates…


        ID                                                Branch                 Op            Remote             Download
 1. [✓] org.freedesktop.Platform.GL.default               25.08                  u             flathub             69.7 MB / 146.0 MB
 2. [✓] org.freedesktop.Platform.GL.default               25.08-extra            u             flathub              3.6 MB / 146.1 MB
 3. [✓] org.freedesktop.Platform.Locale                   25.08                  u             flathub             18.5 kB / 379.4 MB
 4. [✓] org.freedesktop.Platform.codecs-extra             25.08-extra            u             flathub            698.8 kB / 14.6 MB
 5. [✓] org.freedesktop.Sdk.Locale                        25.08                  u             flathub             18.5 kB / 395.2 MB
 6. [✓] org.freedesktop.Sdk                               25.08                  u             flathub             29.3 MB / 606.7 MB
 7. [✓] org.freedesktop.Platform                          25.08                  u             flathub              3.4 MB / 257.1 MB

Updates complete.

 :: [    pacman::update    ] ::
[sudo] password for user:
no new news
:: Looking for PKGBUILD upgrades...
:: Looking for AUR upgrades...
:: Looking for devel upgrades...
:: Resolving dependencies...
:: Calculating conflicts...
:: Calculating inner conflicts...
:: packages not in the AUR: worm_hole
:: orphans: pest-language-server
 there is nothing to do
:: Synchronizing package databases...
 cachyos-v3 is up to date
 cachyos-extra-v3 is up to date
 cachyos-core-v3 is up to date
 cachyos is up to date
 core is up to date
 extra is up to date
 multilib is up to date
:: Starting full system upgrade...
 there is nothing to do

 :: [    flatpak::clean    ] ::
Nothing unused to uninstall

 :: [    pacman::clean     ] ::
 there is nothing to do

Config Reference

# The shell used to run each entry's `update` and `clean` scripts.
shell:
  - /bin/sh
  - -c
# The program's default log level, from 0 to 2.
# Same as if passing `--verbose` that many times.
log_level: 0
# A list of PackagerEntries.
entries: []

PackagerEntry

# The entry's identifier used for headers.
name: "<unique string>"
# The command run by the shell to update packages.
update: "<some shell command>"
# An optional separate command to run after all `update` scripts.
clean: null
# A list of WhenConditions that determine if the entry's commands are run.
# The entry is run when *ANY* condition is true, and a single entry is
# true when *ALL* of its keys are true.
when: []

WhenCondition

# Check if the user has a specific command on the PATH.
has_exe: "<some command on PATH>"
# Check if the user is running on a certain operating system.
is_os: Windows # or 'Darwin' or 'Linux'
# A dict of keys representing environment variable names, and values.
# Checks if all key variables exist and that their values match those defined.
env_equals: {}

Example Config

entries:
  - name: flatpak
    update: flatpak update
    clean: flatpak uninstall --delete-data --unused
    when:
      - has_exe: flatpak
        is_os: Linux
  - name: scoop
    update: scoop update --all
    when:
      - has_exe: scoop
        is_os: Windows
  - name: pacman
    update: paru
    clean: paru -c
    when:
      - has_exe: paru
        is_os: Linux

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

updall-1.1.1.tar.gz (4.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

updall-1.1.1-py3-none-any.whl (6.2 kB view details)

Uploaded Python 3

File details

Details for the file updall-1.1.1.tar.gz.

File metadata

  • Download URL: updall-1.1.1.tar.gz
  • Upload date:
  • Size: 4.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for updall-1.1.1.tar.gz
Algorithm Hash digest
SHA256 7894d098faecde1be741a678bdb150e32f281b81bf336d95e32f6ac509c8a8e7
MD5 cab6a4ce08b12d857448c843f631495d
BLAKE2b-256 3024ddeee4850f3c1edf1d73c9ba29fea3fb4484e1610c04c04b834e2210f176

See more details on using hashes here.

Provenance

The following attestation bundles were made for updall-1.1.1.tar.gz:

Publisher: release.yml on Mrfiregem/updall

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file updall-1.1.1-py3-none-any.whl.

File metadata

  • Download URL: updall-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 6.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for updall-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 34386c12cef6d6cd8f3ad27a268a567ad6cd98160b309a646edfe55acef3f425
MD5 c59b0f2ee9d73a3ae35b1d99867aa310
BLAKE2b-256 0836f2072e61f2f6bcf85c782d7bf9bbfdfadf2e106a14ea49e2d9a2099ec2f2

See more details on using hashes here.

Provenance

The following attestation bundles were made for updall-1.1.1-py3-none-any.whl:

Publisher: release.yml on Mrfiregem/updall

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page