Skip to main content

Upgrade all the things

Project description

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.

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!

Project details


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.1.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.1.0-py3-none-win_amd64.whl (2.6 MB view details)

Uploaded Python 3Windows x86-64

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

Uploaded Python 3Windows x86

topgrade-17.1.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.1 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

topgrade-17.1.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl (4.1 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ i686

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

Uploaded Python 3manylinux: glibc 2.17+ ARM64

topgrade-17.1.0-py3-none-macosx_11_0_arm64.whl (2.7 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

topgrade-17.1.0-py3-none-macosx_10_12_x86_64.whl (2.9 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for topgrade-17.1.0.tar.gz
Algorithm Hash digest
SHA256 cbd7fcd32abb59f8ba8a06ff0046498555a996d1cf10442bc9107e385caac797
MD5 14190ec50d4afbf040200bd26cf1760e
BLAKE2b-256 62e0ef387e5f8ea0d6313572486af0b6e010892b1a8353b3ef5cd0a85107d5bb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: topgrade-17.1.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.12.6

File hashes

Hashes for topgrade-17.1.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 64b75e7024df6fe26c4f9bea5e039e8d36eee44cf713479e35ec19aa94bf3f42
MD5 8fdb5bd0f120bf67f035a0057bdb3008
BLAKE2b-256 ceb1b0165ed38f8a647074d215fb2efeee21763faf1628c6230c5943fabf66fb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: topgrade-17.1.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.12.6

File hashes

Hashes for topgrade-17.1.0-py3-none-win32.whl
Algorithm Hash digest
SHA256 9ec18d76e1439d8a97f2d9d1dfc8a53dda54600817dfdd43ee7925d5223f4edd
MD5 2b0239b141c57d656b4ef37a33db7f4f
BLAKE2b-256 9c1e0bc0f6a7e7856cc396bd99d3bbc56c1bf2a1a142840d86bec1a01a89d6a5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-17.1.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fd3b84f4d15b71b989ec0f43b8251d97eece9a0bc89a9ea1efe6b4a1283270b7
MD5 08de6f2c01b99a99b693dc451e3c1b5f
BLAKE2b-256 90dff4d8a16719319d871b2d2ece571b5ebd16b6640e44a35409db83cc502dde

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-17.1.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 74506eed9351af0da00a7763d25db21f7d2d2e33d65e69f8c24a1bf9c4e332ad
MD5 bbfaef589c97db57af257e6eb523df31
BLAKE2b-256 4c956d706b86228749e412a14c637af9032f2adadc28f0bae60f232bb23c2dde

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-17.1.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 971cac7e23b0238b6bf8911b3be8d5d28bdb374dc0440c637ad2e79c8c9be9bb
MD5 ee0cc9859f43323871d95ae4c39e9ef0
BLAKE2b-256 bb84d786fb6d19533394557a35cfccde218ab179c22f8042d945c71d3a1ca242

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-17.1.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3311c90739b467fda2e2e2ae718a1e8bf90eaa7a3d065609523a08631647c0fc
MD5 e140919d2f2949a4e9b35a1c47c90f85
BLAKE2b-256 c9cdd5da9103b7685ab65c9949816cfa4441521a746a2f92d8ec39c42983de91

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-17.1.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 7d6f7594617001cf11067f38fa4d0e3b197dbff653aba3544f7ec0e42267b86c
MD5 a71f8aa1dbbcebde240c93260cebd942
BLAKE2b-256 5804cb0b259f7b4fb3d7b1f890f0e09a7557f37f0aac092b29347218344b8750

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 Pingdom Monitoring Sentry Error logging StatusPage Status page