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

Built distributions (wheels)

Table of built distributions (wheels) for topgrade 17.12.0
File
topgrade-17.12.0-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
topgrade-17.12.0-py3-none-win32.whl Python 3 none Windows x86-32 Details
topgrade-17.12.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl Python 3 none Linux glibc 2.17+ x86-64 Details
topgrade-17.12.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl Python 3 none Linux glibc 2.17+ x86-32 Details
topgrade-17.12.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl Python 3 none Linux glibc 2.17+ ARM64 Details
topgrade-17.12.0-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details
topgrade-17.12.0-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.0.tar.gz

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Download URL topgrade-17.12.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
3aaee83b19f0c97b7ef44d85b15eb5ceb6624af1249c80f8c1f8a73f35f3c59c
BLAKE2b-256 checksum
How to use checksums
1c754f477a08e34975ddb7b9dde4eb6abf9670785dd7346f31b39371be742b0c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0

Release history Release notifications | RSS feed

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