Skip to main content

Upgrade all the things

Project description

Topgrade

GitHub Release crates.io AUR Homebrew

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 it is valid or not, the other configuration files will be ignored.

On the first run(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 config 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. But 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

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

Uploaded Python 3Windows x86-64

topgrade-16.9.0-py3-none-win32.whl (2.2 MB view details)

Uploaded Python 3Windows x86

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

Uploaded Python 3manylinux: glibc 2.17+ i686

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

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

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

File metadata

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

File hashes

Hashes for topgrade-16.9.0.tar.gz
Algorithm Hash digest
SHA256 5a782bd51aa1a9e9dd050d85b39d82b8344ee73a42718bcf77d1389ae4865986
MD5 4cb4b5a75b27a6f220f048f17606e920
BLAKE2b-256 cc5dcfebe01d817fe7b6cb29eef3d0ea3f6c6a1d88bffe88b3352f752942e05e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: topgrade-16.9.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.11.5

File hashes

Hashes for topgrade-16.9.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 12fd35e16088a70bf7607954d29ca9395556e748ee0d028e461083de0497f9da
MD5 9ad0a0d83b400cef3ff6130d27d85ed0
BLAKE2b-256 f08f9d30c09ff6d6e46de1f3101078e43912f3a7e74369574720713573ce2a57

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for topgrade-16.9.0-py3-none-win32.whl
Algorithm Hash digest
SHA256 126ad6303403f566e7fce730da5e318fc615277eeaaa229d317f5864543ab8db
MD5 a69f957402c75d8811e179982561d571
BLAKE2b-256 c9d2099f310aca1dc5e1f6f898a8b618a09c05a5e60e3a61f20da1d8f810efae

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-16.9.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4f39c8f234d5d1dced082bdfb740a9a3606b8a70020ea9eedc96e47649f5a224
MD5 95c2310093a34eae65435ebe2a3d7849
BLAKE2b-256 d7fe3293c3a043be067b6b787688ef8a83370f486b52973236119f2d4d880152

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-16.9.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 29da717a7f282d278bf42a8a690d0faed76875ba79810696911ff6a401679495
MD5 8a4fc67b3fb707f49b132bc184a7caeb
BLAKE2b-256 5fc64b233120e3e282415a476d610d334b17c91276f6497913abb102873a833c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-16.9.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6d4857a507f0f25747f9764cf70acfb4a757deb2fd03fdea58fe8c608f5bf2dc
MD5 2a5a731bc715ce8ba7f51b128383c509
BLAKE2b-256 fe5084c7dc287b555b7e240937dca4009274931df200db30b5ebb46322ac374a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-16.9.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d8476882c9fd1e3ce06080777183dd9d92685c2a4c95b8b1b54f79beb360583d
MD5 d3623e96c20dce77013832fdffe76f59
BLAKE2b-256 12c6b024976b9c4a6f5611dedf9b5982b45daf3fa6040a5292259679a227470e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-16.9.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 b137d0c45aea32211fa01768c2d974c32c9a0659b645f3b3ce9d9aec9d922dc9
MD5 a9f4f4ca32e114b2da32e9dc77d87aef
BLAKE2b-256 2a560e451a652a03f04d054c6e7e492d59070cfd4676a821c86dd8313dd3c5f1

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