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.3.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.3.0-py3-none-win_amd64.whl (2.7 MB view details)

Uploaded Python 3Windows x86-64

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

Uploaded Python 3Windows x86

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

Uploaded Python 3manylinux: glibc 2.17+ i686

topgrade-17.3.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.9 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

topgrade-17.3.0-py3-none-macosx_10_12_x86_64.whl (3.0 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

Details for the file topgrade-17.3.0.tar.gz.

File metadata

  • Download URL: topgrade-17.3.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.3.0.tar.gz
Algorithm Hash digest
SHA256 13748d29851cb61b8fa3b2e2831d228288a57c52cdc4f4b6af787d0a315b91d9
MD5 ea7cc13455feea6d36de2d814f8d3e8c
BLAKE2b-256 ff84578e4721bca273da6c5b6ce6d61b5af24a3aa9d7f6cef948ad883f88a87f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: topgrade-17.3.0-py3-none-win_amd64.whl
  • Upload date:
  • Size: 2.7 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: maturin/1.13.1

File hashes

Hashes for topgrade-17.3.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 1622e5bc37baeac7c99d44fa687c66f4e0b28b361207664cf6d5edbeaa239ba8
MD5 96899d10ad594d5ca2902257378af919
BLAKE2b-256 ecd59c51d79ce2f5fb7673e2ed08867c620acb672fe38d49cf66c75225fad45c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: topgrade-17.3.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.3.0-py3-none-win32.whl
Algorithm Hash digest
SHA256 58bfff80786f4d42ee194c92d5e5737eaec9823f9c764c7021340dbd71e0611c
MD5 d226d866b37732340784d7749d972d19
BLAKE2b-256 8e9bd2685975af8930a928d2ec0130c1c3d7e97963f074172d7b9509ac8e342f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-17.3.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 26684be5b21bc12b12d57d8c35685d713def9e5b0f7424c87a16ac42a9f57e3e
MD5 f1a37b1fae9cfc2e1a41d1d61c699319
BLAKE2b-256 ca28922231810e38896a4395f78f1d8a50dc590e425fabd15448cd7a5a0ea424

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-17.3.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 f85e8c4f15264ff50dda8842db67fdf5ce1179ae25c160247ad6432699e79e90
MD5 0349116b2da6d62104a2eca76d60dfa4
BLAKE2b-256 76606421bf95afcc4c6ca8060fa7290335b2b4842c5a5ac832cf90a92a866d64

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-17.3.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0a88a689e2035f57097c809d2cd0c7fd62cb3cdaf1b8f60627353c5768573a0e
MD5 a479c8c4966eba449ca6019e0a23ee2a
BLAKE2b-256 6628bed1b762c5ab0bb8034afcd58bfa294ec98335b96d260b3feaf3060f0b7d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-17.3.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 72a90f29a97299972216665157a6f0f63377e9f28caeb09cde246287827cb452
MD5 d07fa5a8303e24a5694e92ac20c9bf03
BLAKE2b-256 2d886a36f96342467946e2c941ed23c9e6d171284bb68e56ff4d52907a166952

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-17.3.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 2595eedc70f376034635acdc5b3b6f9cbf6ce54c2566aa1814f9870227760856
MD5 4eaaf2594da4d9a1ae99ed4bf0666de7
BLAKE2b-256 35cf34d6076c03aad741f1a8c0bf38e7a5ac4de1c8ca64bdcf2354fed0ac6dd1

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