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

Built distributions (wheels)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Download URL topgrade-17.10.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
32d2d1964188d6f9ca2865bb5e7db6059c0d8c6cb42353d6d2359de97887c34a
BLAKE2b-256 checksum
How to use checksums
9cce5809b81141a60c6b6388075e374ad5d52cb97e276182ad391600df2f6310
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