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. Any files in CONFIG_DIR/topgrade.d/ are also loaded and merged before the main configuration file.

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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3Windows x86

topgrade-17.7.0-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.7.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl (3.9 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ i686

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

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

topgrade-17.7.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.7.0.tar.gz.

File metadata

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

File hashes

Hashes for topgrade-17.7.0.tar.gz
Algorithm Hash digest
SHA256 e79a72efcdca3780cfa95a446afb4f888bcce6e7fc8e4e21858dbb12563de80d
MD5 5a65f0e88da23bed9e9eacd226b5a590
BLAKE2b-256 849ef8a4e19e7c76c686b63698f7a6f801b838b1f4a290702a128f7c72b62eef

See more details on using hashes here.

File details

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

File metadata

  • Download URL: topgrade-17.7.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.14.1

File hashes

Hashes for topgrade-17.7.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 4b967f6371150a34037c2f19a082fa71f4d2c94c841c3c7e2416e8bdd4368dd9
MD5 4b32fe00322ce9da16244adad4ccf253
BLAKE2b-256 5847fa76c988f955a5e1ac383857d2185ff92024124c8d4b412d1ed344a43a93

See more details on using hashes here.

File details

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

File metadata

  • Download URL: topgrade-17.7.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.14.1

File hashes

Hashes for topgrade-17.7.0-py3-none-win32.whl
Algorithm Hash digest
SHA256 8d2d634b30961758e2d7fd3fbaa4ff1c467cab7120e78f738e2597eccb655dc7
MD5 b02ef1f3da0861f602dc115710864851
BLAKE2b-256 5a43d27949f28d24600f2368ffe7fd62ed54fba4d41e220c44e5843bf508e054

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-17.7.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1c27426487d18b9994a1f3fd2a12311378e0e583846b213b26c72a32bc2ca536
MD5 fda3074318890a82d7211cf184296fa3
BLAKE2b-256 3b09679560871760650d81231267cf19fb9754c29547dca83fa7f8932cf4b052

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-17.7.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 5d1d868c8dff7c1f2069c615ca8780d755679e23d2e07f25323d5ece84890bbe
MD5 8a4479eb55e6146981189241572eec28
BLAKE2b-256 1824ca948518369a57d9f761099bf0eced6c69a1e50dc94287f0c6cc9194f4a4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-17.7.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b1ae6d31fd8c5793fff0045c8a9592291dc9aaeebdc796c55edd9133b6240196
MD5 8169439de9978bb37bce05fa47d79cee
BLAKE2b-256 a5d70b4d5b8e0b90ab8e25bfa6affdce6d9a34777ab66220e32d1a951abf296f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-17.7.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ce20a1c7fbb0a71850095e819ad98a4455d51b3e44d04a138933e2e2b9d0cba0
MD5 0c06b8f9b50319f60980044e800cb837
BLAKE2b-256 bb5720fe59484a52ddd2d00195f68a9f08b6e19a8bafccd4bd1cfe755d038fde

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-17.7.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 2280789a52a0247a2040f589d7f9a1f4b932bb909c28ad62ff46ecc4da007d95
MD5 9dbdd234fe3fa5180fe30e6f47eb8433
BLAKE2b-256 c44d59b59ab3e9d6b240441fbc8a91235aa2650c15b056ac9ad2167992ca59cf

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