Skip to main content

Topgrade

GitHub Release crates.io AUR Homebrew

Demo

Introduction

Note This is a fork of topgrade by r-darwish to keep it maintained.

Keeping your system up to date usually involves invoking multiple package managers. This results in big, non-portable shell one-liners saved in your shell. To remedy this, Topgrade detects which tools you use and runs the appropriate commands to update them.

Installation

Packaging status

Official

Community-maintained

Usage

Just run topgrade.

Configuration

See config.example.toml for an example configuration file.

Migration and Breaking Changes

Whenever there is a breaking change, the major version number will be bumped, and we will document these changes in the release note, please take a look at it when updated to a major release.

Got a question? Feel free to open an issue or discussion!

Configuration Path

CONFIG_DIR on each platform

  • Windows: %APPDATA%
  • macOS and other Unix systems: ${XDG_CONFIG_HOME:-~/.config}

topgrade will look for the configuration file in the following places, in order of priority:

  1. CONFIG_DIR/topgrade.toml
  2. CONFIG_DIR/topgrade/topgrade.toml

If the file with higher priority is present, no matter it is valid or not, the other configuration files will be ignored.

On the first run(no configuration file exists), topgrade will create a configuration file at CONFIG_DIR/topgrade.toml for you.

Custom Commands

Custom commands can be defined in the config file which can be run before, during, or after the inbuilt commands, as required. By default, the custom commands are run using a new shell according to the $SHELL environment variable on unix (falls back to sh) or pwsh on windows (falls back to powershell).

On unix, if you want to run your command using an interactive shell, for example to source your shell's rc files, you can add -i at the start of your custom command. But note that this requires the command to exit the shell correctly or else the shell will hang indefinitely.

Remote Execution

You can specify a key called remote_topgrades in the configuration file. This key should contain a list of hostnames that have Topgrade installed on them. Topgrade will use ssh to run topgrade on remote hosts before acting locally. To limit the execution only to specific hosts use the --remote-host-limit parameter.

Contribution

Problems or missing features?

Open a new issue describing your problem and if possible provide a solution.

Missing a feature or found an unsupported tool/distro?

Just let us now what you are missing by opening an issue. For tools, please open an issue describing the tool, which platforms it supports and if possible, give us an example of its usage.

Want to contribute?

See CONTRIBUTING.md

Discord server

Welcome to join our Discord server if you want to discuss Topgrade!

Download files

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

Source Distribution

topgrade-16.8.0.tar.gz (4.5 MB view details)

Uploaded Source

Built Distributions

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

topgrade-16.8.0-py3-none-win_amd64.whl (2.6 MB view details)

Uploaded Python 3Windows x86-64

topgrade-16.8.0-py3-none-win32.whl (2.3 MB view details)

Uploaded Python 3Windows x86

topgrade-16.8.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.0 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

topgrade-16.8.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl (4.0 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ i686

topgrade-16.8.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.8 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

topgrade-16.8.0-py3-none-macosx_11_0_arm64.whl (2.7 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

topgrade-16.8.0-py3-none-macosx_10_12_x86_64.whl (2.9 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

Details for the file topgrade-16.8.0.tar.gz.

File metadata

  • Download URL: topgrade-16.8.0.tar.gz
  • Upload date:
  • Size: 4.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: maturin/1.11.5

File hashes

Hashes for topgrade-16.8.0.tar.gz
Algorithm Hash digest
SHA256 9b7f2fa1ad1d6237216314fd69991d2b0fdac937d41889086e7cc141e1f92923
MD5 e170111ff4c57a69dd19d5bf96cce325
BLAKE2b-256 c51ef45232600ec648f1255f8f5ecede84c52f0d2accbebc40aa0273fc25acdc

See more details on using hashes here.

File details

Details for the file topgrade-16.8.0-py3-none-win_amd64.whl.

File metadata

  • Download URL: topgrade-16.8.0-py3-none-win_amd64.whl
  • Upload date:
  • Size: 2.6 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: maturin/1.11.5

File hashes

Hashes for topgrade-16.8.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 117d4066970613ad98d88c2f0b59f7db66e4bcec43c73d1744b8dc055553abb0
MD5 695603fc403350e054635ef82189bd5f
BLAKE2b-256 356d5e869f406c36eb05b5b492f7d54ee66963671ba009f86b2e0513cbdca5ad

See more details on using hashes here.

File details

Details for the file topgrade-16.8.0-py3-none-win32.whl.

File metadata

  • Download URL: topgrade-16.8.0-py3-none-win32.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: Python 3, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: maturin/1.11.5

File hashes

Hashes for topgrade-16.8.0-py3-none-win32.whl
Algorithm Hash digest
SHA256 3944f497b62865e6e8cf7c8c4060541d02553028e60d90cbd4bba5226d02467d
MD5 f8b9dec68902627abb7de0c4363683db
BLAKE2b-256 cc0ba03cb780e9b234ee95b7682fd3c8783f8837139f168a8605a2e5632d4ea4

See more details on using hashes here.

File details

Details for the file topgrade-16.8.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for topgrade-16.8.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c9635b31265f596c97e1dd06e95f726d1ba8219f78ea0a8c8a2398a7316c4c00
MD5 e2a37dd7e0c89acf34f272e4b203e43d
BLAKE2b-256 0bbb65ddc7602fa8935bc115a177e107ec9eacd0b3186a0ff53bc5a1754a19c2

See more details on using hashes here.

File details

Details for the file topgrade-16.8.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for topgrade-16.8.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 a2c43bff2f7261249e0886c66acbfd157f5f73d233a97f7e45ae7a3fb4475f83
MD5 127aa9fcaea884b9de7ee62635f48479
BLAKE2b-256 c66b89e6e5c4c326d898e3f6bc8a7f800f2a289f4b095124f6256dc55273c4ba

See more details on using hashes here.

File details

Details for the file topgrade-16.8.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for topgrade-16.8.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 dca8bbb4924715748cac6e49c16d2103f37556023d93a22b98e0914811cfa3b8
MD5 3ea2bf9377ff2e8a1c4131ccfd18a18d
BLAKE2b-256 5c6dcd643983e23369ee4352b9fbb87d4e893d3f063ad9e2d93dc659ecbe4005

See more details on using hashes here.

File details

Details for the file topgrade-16.8.0-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for topgrade-16.8.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3e1ed9442c577a0344365eeca0ce7e2b7df5825dcb16b9ee0752291bff8e1221
MD5 4b18618d6a0233501f57bf0f9f5740b5
BLAKE2b-256 d7f414edbdb7b5b2fb4a7b4ffe932da36ed60a9eef5c8ad28c5add9ace115156

See more details on using hashes here.

File details

Details for the file topgrade-16.8.0-py3-none-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for topgrade-16.8.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 7a0804c8154e57cfb0e7242dc919cb1d1527895d4811c0451677ae1e8ec542be
MD5 717c0ba10c64c2f435d2856810f82494
BLAKE2b-256 4efa3fdf850956b5aed812bc3016bff884e598cd117ff1cf027e3b8a1e7ebe7d

See more details on using hashes here.

Supported by

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