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!

Release files for topgrade 17.12.1

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

Built distributions (wheels)

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

Total release size: 33.7 MB

Release files / topgrade-17.12.1.tar.gz

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Download URL topgrade-17.12.1-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
ea3b25c81e324d9680c44a1e04e2572f0ff7a903127582ccf1125fe2964cc07a
BLAKE2b-256 checksum
How to use checksums
9a4f7a819194b791144074e486bacea86b82b852bd7f3c5ea133b5e35d3adbd9
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.1 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