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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3Windows x86

topgrade-17.4.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.9 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

topgrade-17.4.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl (3.8 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ i686

topgrade-17.4.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.7 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

topgrade-17.4.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.4.0.tar.gz.

File metadata

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

File hashes

Hashes for topgrade-17.4.0.tar.gz
Algorithm Hash digest
SHA256 6a0baeaf68b9ca809fcbf3b1659157f6833ef99c8e0909dd6a1e475dacf1cb45
MD5 546e8dfe81cb23185bf081bb825f7083
BLAKE2b-256 e152ec9c7bf446df507e1b5def05f02afceaa2e0f9090cb80ae75af84a00ca76

See more details on using hashes here.

File details

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

File metadata

  • Download URL: topgrade-17.4.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.13.1

File hashes

Hashes for topgrade-17.4.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 8b22ceae98b941c15633dee8d56ecad2039f70bd7682eec06bc8bca7244f6738
MD5 44b9059997612573e56648ec9c1c8db4
BLAKE2b-256 145bcd686fef131e1251f8ddc572903a040b97eaf485f194cd4439f0b2aa0670

See more details on using hashes here.

File details

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

File metadata

  • Download URL: topgrade-17.4.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.13.1

File hashes

Hashes for topgrade-17.4.0-py3-none-win32.whl
Algorithm Hash digest
SHA256 e58450edd030996c1dfdf854f90e0dad0bd494e8ec530c2b58e0d02b2df293a4
MD5 a3eaf7a837b937410819140395e94dee
BLAKE2b-256 b50cbb9b9ab9d1f52bde460cb0f891f71863003f95e05579f3bd4f65e5798032

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-17.4.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 26a2aa6a7c83adc31aa6941be1eec2f856ee152f40daa0f3a53f7f8c4077fe9b
MD5 05ac9fa8d19b59b7ba072aa8d4054556
BLAKE2b-256 d410b179aadb79725fd976af575705a70d9ca4d0f724a3e82b4e620a7dfd6db0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-17.4.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 dec745f469c8a9d36962015b33e155d452a9b49bbfa4e54c182d751f24c1bf5e
MD5 180ced895ed39b7be4ccfb5baa1b3be7
BLAKE2b-256 63e03b4747d1ffb1df06b1fe0a3cb8323d862a0751ef01b879e0d22be0ad30d1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-17.4.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ca644275f5f554b3343ca2a8ca96bc7b9fa03a1785da587ef38af9026203817b
MD5 00de3a40f365b4d50cc1ecd6adda8b0b
BLAKE2b-256 3120a5775cd516eb5152cd748ced546b1d31711e4c0b5ad3ccf718072fccea27

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-17.4.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cff541ba906df7ccb582a873597f1e047eebd11afaaa55fff2a8b08f317b8fc6
MD5 691c72365dbfd81c9f122dd54d729a53
BLAKE2b-256 198605cf521879f4463f05778bf7a96acf3f4dca644e77343e16fd921c0f4768

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-17.4.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 5502fc143d8249470aaf3c53e107df62fc00024e4a1b7ecdecd99aaed44d998f
MD5 7265b91de8746595828f0d51773f4c54
BLAKE2b-256 f95c2105d4cd96ee8646c31801c71ca1a6ca41920fd463110c1974df1f053d8a

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