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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3Windows x86

topgrade-17.5.1-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.5.1-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl (4.0 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ i686

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

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

topgrade-17.5.1-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.5.1.tar.gz.

File metadata

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

File hashes

Hashes for topgrade-17.5.1.tar.gz
Algorithm Hash digest
SHA256 6e6d19720b52c12c0f95fe43af62b2fc24438a79ff1b9a145ad956bbcab8436d
MD5 c5364d2543ad7e25c3be831d9eb9c72f
BLAKE2b-256 22a41c29da483b34b964aec2cab565d95c576803f494e4e6cd35e3253e14c8fa

See more details on using hashes here.

File details

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

File metadata

  • Download URL: topgrade-17.5.1-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.13.3

File hashes

Hashes for topgrade-17.5.1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 a81258f078cc9a3e10d72a704d76928af7dc1941a4d55365b4637863fd53705c
MD5 892d02efd4bca4a3d17161b29865dda1
BLAKE2b-256 2fbf619b243588e936143aa3ac032c8860dc253b667b17d8670d6c8756decb86

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for topgrade-17.5.1-py3-none-win32.whl
Algorithm Hash digest
SHA256 ece4a236693e4c6ee6b0c4f04098ac75afb17367b3c30e747ac110cdab142e1b
MD5 7970887ee7b2052fda2042469ff430bd
BLAKE2b-256 56f07cb4b0fe8b39ec108dc7d7645fe1e135563102086ec33652ddd12f08f004

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-17.5.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 dc55ff355730b69b36067c837eb9bdb131ee1c8986e846976ac3f89dd90239a2
MD5 1a1a167bdc967095cc25b041be65c256
BLAKE2b-256 22592120f10abc0da9d30aca11b9c118a6190d1fdfd86b661ae376ef79640b7f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-17.5.1-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 99d5f800727c6653af66766fe383b113623d17251394ecddfa69cca531bb3dbc
MD5 4c4ff0b1fcd1f503c34ac0227b53fa75
BLAKE2b-256 d2203c069872bae42b0ee77e222bca61e3f4732cf7ccfa67ce470b29daca6477

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-17.5.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 713158720fd6805c5a8368ebbee7d9059ca7946ffc992a1ca0570d53b452c01f
MD5 d4a66ec5a11b718dcd877d5064e1642e
BLAKE2b-256 61f34971528ae6781c5e0e6a5eb69a60cad5510c246bfcbd13542fc80a788ff3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-17.5.1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fddcd78c20446aefae0eb2075e5507d8f666ddf53f42a2ee1f1286eafb5cbc15
MD5 a96a574aa1cdf597aa997e3a825b754d
BLAKE2b-256 f34da09e057b92285fecbdde78f761bd95df6ddbc08bce148c27b128a22e72c5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-17.5.1-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 537a6186fa157100f36b8058899cc8a0c96684eb2df0836a7df0f900e8bc5949
MD5 4b9173f23798e5e5fd9e8433471d06a5
BLAKE2b-256 50f608453b2a1e89e0cd4892517b9fcf72778d0665c473336158d3e664808fed

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