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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3Windows x86

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

Uploaded Python 3manylinux: glibc 2.17+ i686

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

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

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

File metadata

  • Download URL: topgrade-17.5.0.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.5.0.tar.gz
Algorithm Hash digest
SHA256 288573d801dc160c1a496a43acab6bce985fe2ec486c87f18c97d8987dd85356
MD5 a4d60ab428c1732343232b374982f0e2
BLAKE2b-256 eeb679f695c5c54acce9e31988cfb1fc3b623bd2ab2d0e33663b99f5ab7bb7cb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: topgrade-17.5.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.13.3

File hashes

Hashes for topgrade-17.5.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 1db7d1000fa5cc3d6c22d796e22a1380c1c6e390e0ed6cc4ddb77a1ae83a8bb6
MD5 631f4aab843ec97f55d89467ca280ee7
BLAKE2b-256 9047696696f107507f31a5d46c26cf5cd0d0ef8c7d62c6a3e82b9f974ecb5a99

See more details on using hashes here.

File details

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

File metadata

  • Download URL: topgrade-17.5.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.3

File hashes

Hashes for topgrade-17.5.0-py3-none-win32.whl
Algorithm Hash digest
SHA256 8b64149b520114b174f2493cb3e2e650501f0411c285afae16a2848dd48b19a3
MD5 6095f4516ac7b328e085f83195548107
BLAKE2b-256 62ba91c7ca5ac65727dd72d066cda26b77cb0a17f7444d0a27444a0bcd39b41f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-17.5.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0be2e8721b2b0cf608afb7f1a31fea67b54b61331c1b05b27769388394eccff1
MD5 9295c14aa8583544d3b4dfee096b0041
BLAKE2b-256 a955f9564695f2d17493a7b2b0f6c69301b18332b7857f935f4bddebf3d288b2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-17.5.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 527f2b95312c3aa308b91688a42d81151b221bd15f5248b69a82598806376ef4
MD5 a7b059181a83008ee0d726466598e5dd
BLAKE2b-256 1fd865a2f4dc91547f7154835866da97edb8609bf20289042f8a55036cfc35c9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-17.5.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 179c409a2ecbdaada1191fbf097724b6b60567bf8d475c58e49f2df604bae883
MD5 81532de4c63c59a7ef05c7cbc7b9076e
BLAKE2b-256 e028adce6b7e1ccb8ddf5b0001e43d1442aa5a4158fb9647b2860c5924780091

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-17.5.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4f2b0ac4d673eba6ecab04d5f74cb62c2cfa77c7cdcfeed3d30c3729a9fb23da
MD5 8a425b28c8d988dd0afab880d0755122
BLAKE2b-256 bd5174d50aba5e07da2ca69043a0965e965e62c84245f5b67bdb7bcbeb5777d7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-17.5.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 ed5746a0d7bbfc17cb62fe0a5a662a5745f197a81f19fc7d40e20ed04337055f
MD5 323fd5d674a378b6935e8325f1301c98
BLAKE2b-256 b7e5cba9cd6f832325134f1643e3ad523e49fe7d47da7cf54f98eb835a68a39d

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