Skip to main content

Topgrade

GitHub Release crates.io AUR Homebrew
Discord

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.

MSRV

Find the current MSRV in Cargo.toml under rust-version. This MSRV will only be bumped in a major release.

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 if it is valid or not, the other configuration files will be ignored.

On the first run (provided that no configuration file exists), topgrade will create a configuration file at CONFIG_DIR/topgrade.toml for you. Any files in CONFIG_DIR/topgrade.d/ are also loaded and merged before the main configuration file.

Custom Commands

Custom commands can be defined in the configuration 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. Although 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

You're welcome to join our Discord server if you want to discuss Topgrade!

Release files for topgrade 17.11.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for topgrade 17.11.0
File Size Uploaded
topgrade-17.11.0.tar.gz 4.5 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for topgrade 17.11.0
File
topgrade-17.11.0-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
topgrade-17.11.0-py3-none-win32.whl Python 3 none Windows x86-32 Details
topgrade-17.11.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl Python 3 none Linux glibc 2.17+ x86-64 Details
topgrade-17.11.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl Python 3 none Linux glibc 2.17+ x86-32 Details
topgrade-17.11.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl Python 3 none Linux glibc 2.17+ ARM64 Details
topgrade-17.11.0-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details
topgrade-17.11.0-py3-none-macosx_10_12_x86_64.whl Python 3 none macOS 10.12+ x86-64 Details

Total release size: 27.2 MB

Release files / topgrade-17.11.0.tar.gz

Download URL topgrade-17.11.0.tar.gz
Size 4.5 MB
Tags Source
SHA-256 checksum
How to use checksums
dbe4e01167e56c01066402d01c6df48958407758806f4351bd1e4b3fc6ff959a
BLAKE2b-256 checksum
How to use checksums
597b69e8590cf55169cb337644379c2e26b40f7c5efe56fc5e43171daf084da2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0

Release files / topgrade-17.11.0-py3-none-win_amd64.whl

Download URL topgrade-17.11.0-py3-none-win_amd64.whl
Size 2.7 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
296a642e0c552e2662386102e216fdadd54cb98e99a991b830ccb78bdc200a74
BLAKE2b-256 checksum
How to use checksums
36a11f3dc2d35d40ef0196200c660581e1d8c5bb32bbcc573197c3daea32dcc1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0

Release files / topgrade-17.11.0-py3-none-win32.whl

Download URL topgrade-17.11.0-py3-none-win32.whl
Size 2.4 MB
Tags Python 3 Windows x86-32
SHA-256 checksum
How to use checksums
f336c2c42c3102e736a1ec6dae8f8e8e6775b045b20ae7d5da871f5da57bd92c
BLAKE2b-256 checksum
How to use checksums
36a70505586e5eae422d3c44091b519bfe1c2f488235be66931b97e2ab16cc29
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0

Release files / topgrade-17.11.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL topgrade-17.11.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 4.1 MB
Tags Linux glibc 2.17+ x86-64 Python 3
SHA-256 checksum
How to use checksums
5c3eac1d8b19d1449c13242c02e71d8aa54e38b0777365f66a91035a28a1a728
BLAKE2b-256 checksum
How to use checksums
668b1b8124ff996ea070d48349df64991102ea7a3203ea2bb60bd9e1d4d828a5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0

Release files / topgrade-17.11.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl

Download URL topgrade-17.11.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Size 4.0 MB
Tags Linux glibc 2.17+ x86-32 Python 3
SHA-256 checksum
How to use checksums
041adf5afd4c5a45c43d1e86cc838978fc7a5144445d0358eb257479dbd69e94
BLAKE2b-256 checksum
How to use checksums
99f46ca63c1bc3ee54d8e900f7047fbd7fe7f71da50aa171692ced62beb8a533
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0

Release files / topgrade-17.11.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL topgrade-17.11.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 3.9 MB
Tags Linux glibc 2.17+ ARM64 Python 3
SHA-256 checksum
How to use checksums
13fd32c68b047daa058e0e94706569a896840b0025c53d5c689fb72a02034256
BLAKE2b-256 checksum
How to use checksums
bf8af502027c49d82bde2f65f3dcab3141d8da78b28b26767b228a03f30436b5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0

Release files / topgrade-17.11.0-py3-none-macosx_11_0_arm64.whl

Download URL topgrade-17.11.0-py3-none-macosx_11_0_arm64.whl
Size 2.7 MB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
d94a0874d42e4756fbac770945c70f22c83bd87f3da1c87e3be122f8b64915c3
BLAKE2b-256 checksum
How to use checksums
7f55c4ff9f7c31f10db5541264d29fcdd7f436312de6d9a9eb24012c30879988
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0

Release files / topgrade-17.11.0-py3-none-macosx_10_12_x86_64.whl

Download URL topgrade-17.11.0-py3-none-macosx_10_12_x86_64.whl
Size 2.9 MB
Tags Python 3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
07b3f440f41fd9308005c6cafa33d9ef12ac40d99f4c95f84e0dd6364c5d08ee
BLAKE2b-256 checksum
How to use checksums
5f24677c9d1363c5b567c293627dbc5d2a3288c3c9f20816e7ad58567474572f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page