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!

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

topgrade-17.9.0.tar.gz (4.5 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

topgrade-17.9.0-py3-none-win_amd64.whl (2.6 MB view details)

Uploaded Python 3Windows x86-64

topgrade-17.9.0-py3-none-win32.whl (2.3 MB view details)

Uploaded Python 3Windows x86

topgrade-17.9.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.0 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

topgrade-17.9.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl (4.0 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ i686

topgrade-17.9.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.8 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

topgrade-17.9.0-py3-none-macosx_11_0_arm64.whl (2.6 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

topgrade-17.9.0-py3-none-macosx_10_12_x86_64.whl (2.8 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

Details for the file topgrade-17.9.0.tar.gz.

File metadata

  • Download URL: topgrade-17.9.0.tar.gz
  • Upload date:
  • Size: 4.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: maturin/1.14.1

File hashes

Hashes for topgrade-17.9.0.tar.gz
Algorithm Hash digest
SHA256 b4ccc86e8c03bbdb665e41bcd3d7f458a69ff35b0291c2170af2d9b02411186d
MD5 065437e5d9f5efaeef8b0bd363aa3ca6
BLAKE2b-256 6db6c50db1271038719c8f5c23652df7dcf0d4f19988faba8169d724ab06bd2a

See more details on using hashes here.

File details

Details for the file topgrade-17.9.0-py3-none-win_amd64.whl.

File metadata

  • Download URL: topgrade-17.9.0-py3-none-win_amd64.whl
  • Upload date:
  • Size: 2.6 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: maturin/1.14.1

File hashes

Hashes for topgrade-17.9.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 6da8a0690a8e4e5c057dcf91c2ce5649f4525a83a21dd59fee8ebfd293f56d30
MD5 a6863cf25e5e06774d3629abac4c39d0
BLAKE2b-256 5a2287df0bede2eaba54a063ea62e649c0d23f2aa2241834361cbfd4e6ea5d14

See more details on using hashes here.

File details

Details for the file topgrade-17.9.0-py3-none-win32.whl.

File metadata

  • Download URL: topgrade-17.9.0-py3-none-win32.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: Python 3, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: maturin/1.14.1

File hashes

Hashes for topgrade-17.9.0-py3-none-win32.whl
Algorithm Hash digest
SHA256 984cfe7c619d2c1196bc5ce9c3da9539d718d04d83bffaa33d596d39470d10f6
MD5 13245748f6c673aaf8ec32532e14f938
BLAKE2b-256 c663452d0ecf13f1f08dc8ddae0825632e6aa3a473e032fbe262d1af5a4cb806

See more details on using hashes here.

File details

Details for the file topgrade-17.9.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for topgrade-17.9.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 131ab7c265971320e3f37b58cc7b6e49b4316eb452aeb12c478caebff4d44f97
MD5 f65cab1001fd5747cad3bae842ab8b58
BLAKE2b-256 42442e22f2a72138c730e0b489d5ab2f164dc1c452449cdb2092ffb3533cfebf

See more details on using hashes here.

File details

Details for the file topgrade-17.9.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for topgrade-17.9.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 be075c29c7273f14f8997f10ec50116d5656272051b545f18767c87e2261c876
MD5 19e4d963d16ddb96ffd7f1a35c17152c
BLAKE2b-256 80aef93895272ebfd57e5e704fd252ca5da88b8e8bdaa7010c5f3e2af665676f

See more details on using hashes here.

File details

Details for the file topgrade-17.9.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for topgrade-17.9.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 befe091900e7fecfb1f6d0b3767dbe2d5b252bed19b6b4406a689f4fec6f3164
MD5 5dae5e552289df2ab647b8ecb21071b8
BLAKE2b-256 88ccb99dacd9c5274dfe5333c93f8c651f7c436287e66744aba47242a06352ee

See more details on using hashes here.

File details

Details for the file topgrade-17.9.0-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for topgrade-17.9.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ee94b59f76a42af7b9f51d8e347e5441f79566ce982abf395b2f4185caa9c10c
MD5 119cf93cc127189913de49b2bf843e66
BLAKE2b-256 9baab3d0692ea59da57e3f4ea5874aca80983ad5506ae6fc8f3fdd4b35ac3c0f

See more details on using hashes here.

File details

Details for the file topgrade-17.9.0-py3-none-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for topgrade-17.9.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 a7c7503c2795036269b749f1fa20e780efdf50b69a1d4db51243c23af88af507
MD5 a3bbd0c80ce312818111d566779e3ac2
BLAKE2b-256 4db01e716b59095cca5f630d4fc4946f9975bbfd3176ab63febcbbbfa63fefd2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page