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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3Windows x86

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

Uploaded Python 3manylinux: glibc 2.17+ i686

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

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

topgrade-17.6.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.6.1.tar.gz.

File metadata

  • Download URL: topgrade-17.6.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.6.1.tar.gz
Algorithm Hash digest
SHA256 e64d05a61777f9494024cb109bce75fa0472c1d1359c476e319a9917b788a889
MD5 63de604df7024c3dd1fdfc5b6605704f
BLAKE2b-256 9f3d9fc87053aef8851115a4c82c470580b76e524c21a65a152225f288215e8a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: topgrade-17.6.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.6.1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 a871be97f71836a8c5c0ed554f6b2795639de181b320d37e89a801069db08928
MD5 b22046ee501383c54c726ac3b458629d
BLAKE2b-256 3e91e23faa2b8eff4d272c46c2e41e7610785ca2f066e5c2181d995e2c4d1ad2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: topgrade-17.6.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.6.1-py3-none-win32.whl
Algorithm Hash digest
SHA256 1b715bb83f656edea2b19642cc6b111eba50c5ba85e0c4f90e5a483c3b1e55a1
MD5 89748120e6ef32c4fb39158f79946832
BLAKE2b-256 db1ef93bb169b2b978473af9323f7808679f0808a9c86488bb0041ebb2a302c0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-17.6.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fdb1512a0d4cf5c9062e98a41e6e6083c45aae7c8b0e24e9bfe8a3bdb79c4ab9
MD5 cdf719ae97af77ff62a8480ffd13a6a8
BLAKE2b-256 b08a6a3a287e63449dc1800a4522dc1d334c1e0dd21dd10e4428ad16acfc09e1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-17.6.1-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 c90d97bd9d39cf753858e9ba91153e34fe3758f4d44eca593eeb34573a7194b1
MD5 6a784e99aad20a15dd77012d0d257f3c
BLAKE2b-256 3a8e2df1e54720d8687e3d748f205c017c9def2bd2ee2d7745df08d7c6c5f22d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-17.6.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f86011655b376646720d3cc737bcd584c974cc99f677ff510105a10afc68ec9e
MD5 cc40749084b8a67c4eb7320992cf68ae
BLAKE2b-256 2e131be32d4e45e7abe179c8bb2e0973a60d5f42868578d1bb9d9d35386a5435

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-17.6.1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 901e8f197998db11ac36599ed45406313cec8f15a1ca9f9e5b6dc36ed4407b04
MD5 6d67e008195fc7fbe65260e900bbd2bb
BLAKE2b-256 7cf3e5c6c5c072e287fe94aae68851c6ca88f34ced40334d029a61f20031507b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-17.6.1-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e60d00dfbaabd877dd78348a58ee6573d90d6a94d3e53d51d74594713776bc70
MD5 ae478ddbd18ec1953e2aefc475721ad3
BLAKE2b-256 34ab30c5c1cf11530c7b6f9532fd800f692de119b02ea88a5f3a05955db14362

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