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.2

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

Built distributions (wheels)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Download URL topgrade-17.12.2-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
c464362bbbde828361eb3c1b49c0e8f4eb8e13402b40c2dbeffeec186f03b0c7
BLAKE2b-256 checksum
How to use checksums
3a75b6bba280574127cfa8770d29857be8aa043506fa9070ea63ed407ea7e59c
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.2 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