Skip to main content

Topgrade

GitHub Release crates.io AUR Homebrew
Discord

Demo

Introduction

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 built-in 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. Note, however, 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 know 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!

Metadata

Release files for topgrade 17.12.3

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.12.3
File Size Uploaded
topgrade-17.12.3.tar.gz 4.5 MB Details

Built distributions (wheels)

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

Total release size: 33.8 MB

Release files / topgrade-17.12.3.tar.gz

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

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

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

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

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

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

Download URL topgrade-17.12.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 6.5 MB
Tags Linux glibc 2.17+ x86-64 Python 3
SHA-256 checksum
How to use checksums
8375dadeeeed6934823908b9228f44c19dfa26b67d62385f112fa0d5ea585514
BLAKE2b-256 checksum
How to use checksums
6ea5ad063c6265d1f8d447b745aee354398e887327a9a81134a60e67a1b669da
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0

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

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

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

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

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

Download URL topgrade-17.12.3-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
f926afd1d65f4e2e96fa0c6a5384e07cb8cd127f0bab7d6cd4281206dda4362e
BLAKE2b-256 checksum
How to use checksums
935b013e17be7c40811b83b8c8f87645548a2b7323e2eee4b5e1846e71be5386
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0

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

Download URL topgrade-17.12.3-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
4692d32d6c11cf31fe12403431e6dde837f038d0d82b6c982cf68c4a99ae298b
BLAKE2b-256 checksum
How to use checksums
1457cf5f481e8fe8998e8e6e8ce607ce19d758b7e45305c307aeee622c31d1bd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0

Release history Release notifications | RSS feed

This release

17.12.3 This release

8 release files

17.9.0

8 release files

17.8.0

8 release files

17.7.0

8 release files

17.6.2

8 release files

17.6.1

8 release files

17.5.1

8 release files

17.5.0

8 release files

17.4.0

8 release files

17.1.0

8 release files

16.7.0

8 release files

16.6.0

8 release files

16.5.0

8 release files

16.4.2

8 release files

16.3.0

8 release files

16.2.1

8 release files

16.2.0

8 release files

16.0.4

8 release files

16.0.1

8 release files

14.0.1

8 release files

14.0.0

8 release files

13.0.0

8 release files

12.0.2

8 release files

12.0.1

8 release files

12.0.0

8 release files

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