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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3Windows x86

topgrade-17.2.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.2.1-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl (4.1 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ i686

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

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

topgrade-17.2.1-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.2.1.tar.gz.

File metadata

  • Download URL: topgrade-17.2.1.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.2.1.tar.gz
Algorithm Hash digest
SHA256 95dafa13b5ec1470847ca406b3efaafc04a5dad16db482d9cbc80f08699a552b
MD5 9e43ae8c1953cb9b2bd4e2b45480c34a
BLAKE2b-256 77d3d7435d0cc325882e77c63b3e72deb38ae7f864a8607ba78bd651e2fca200

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for topgrade-17.2.1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 131a4a4deb2ce7dfd73c66145c4d011a493fa22de9cc27869aacab53fb4a3627
MD5 f597429923e6b93803e8f3004c0a7861
BLAKE2b-256 7437af54973678b1204b336299171676e30fed5e53ce4f3de8190eb57d06ecb5

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for topgrade-17.2.1-py3-none-win32.whl
Algorithm Hash digest
SHA256 2ec149b643fdd0500eb423521441b6d14c56bfc298b092fa1ef11ae311332ff7
MD5 8334d4f9967c6288cb25521ad4675cb5
BLAKE2b-256 f982996968de5847eedd58dba1e3c82593bcae9e62bd2cc6946dfab6b8658560

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-17.2.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 34219d915193e69fe23fc2ebf12758741e0639d72ab32c587bf5d683e1422706
MD5 f0ff0ce45c325b85ab6955523557b68c
BLAKE2b-256 ebedf1b524d68c59fefbccbe2739fe6f08fc60391252cd964a7baec197f147d3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-17.2.1-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 511b70df9d389cb3a9ebbdf72b0d81695b59c1cda13c6b1e03be5f8abb560674
MD5 35407767c5aa19d810dfc2254d589085
BLAKE2b-256 d80952cf3fe1d87fecd72e87925223c1868c53ce09c6727ad8dbceb288733bc6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-17.2.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a6885499816e5e40f7727634d76af6eeb25ff81d19d25fb34a9b118bfcbb6df5
MD5 02f5a9e62072e5e4a066313c09b0c7ce
BLAKE2b-256 508eb7870aecde34aac57a6bf1aac9e97bd15c4274eb2d2de7a0c363797e6278

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-17.2.1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 293454d98b9fcca9a96fd87ed4a2a27c05ca7b6d49a46e519a4aaa37ef848e3d
MD5 f975a3a30fe55af9cae52be26e9406a6
BLAKE2b-256 95bf4f802efe659b01ab72a65e58fbd52ee4d2c185f48f2da9763fa5cc9e753f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-17.2.1-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 ee4de480b9430f7308046f822ce18ace67cab54d6c52b3e02d74ee2e78f35c5a
MD5 a719fbd37c376d45e309206fdc45954d
BLAKE2b-256 eec227a5eb08e696544a4a93a2f71e7c08dbd95a64f9650d27922cbd1d31a856

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