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.10.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.10.1
File Size Uploaded
topgrade-17.10.1.tar.gz 4.5 MB Details

Built distributions (wheels)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Download URL topgrade-17.10.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
ae4bd445f7961c6022292c6e305c1c73c27327310a8dc96efe628d216481e339
BLAKE2b-256 checksum
How to use checksums
3934f6adab29de5db8ddacf5878f30f304eacd6d7352f7d60d8d1b087c21ab44
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