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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3Windows x86

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

Uploaded Python 3manylinux: glibc 2.17+ i686

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

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

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

File metadata

  • Download URL: topgrade-17.8.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.8.0.tar.gz
Algorithm Hash digest
SHA256 6c148d0a7fa411606bd85f40bbcf46e131ecb26d4331b8107bb5f95d1f90eca2
MD5 1a57357637bd45a41b0c943f32d75caa
BLAKE2b-256 81bddef6e9c34c5c18747415f97901a8e7cf0a09822129ed25536198bc44ed5b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: topgrade-17.8.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.8.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 426ff9f223ffdef4dcfc1c7ac4405252a31be474abb4b9bcca57c55011cceaad
MD5 304f4a247c9e239e1fa124a71c9b4a3d
BLAKE2b-256 59ae6f16be2a32a9ced74fc33350e2cb6ffcf114236b6329616b95493541be5c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: topgrade-17.8.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.8.0-py3-none-win32.whl
Algorithm Hash digest
SHA256 c52b730f0827da992f351b4987579df3a9c898b851ea41536758f5ce8e0aca94
MD5 b8f5fd99d6817d3b3e855ce1e6a4ab55
BLAKE2b-256 05a5cb4073a2fb9547cfe56b44e18e09703f600cdff4a136509963eea80b9478

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-17.8.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c45a8945ee3c98950ab222e3faeb443b039fb99dde4e2c81b5da3a67520af74b
MD5 1b4a92e49a4c5dd703ff02e9b3d6f114
BLAKE2b-256 6b3405ebc846e00c2cfc9d8b4d5c102b332a02d7350641a7a5f05714aa7aadb9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-17.8.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 0313b7f954add670924d8417077e70c79f4b38c75c115c63af20ff19b3a15e04
MD5 3a286cee071275a057e05cd1ad1b8068
BLAKE2b-256 568db2d85d3ff7696dd9817a27da56ba057454005a09d927c5ec73abfe17493b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-17.8.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 848df8e5636c398cf635869aaed42c13b700cc22726100a45aefa861158d566e
MD5 93190c976acee7de2ff335da9167a6fe
BLAKE2b-256 c7ddaddb2c6b28d7d86155903ab87e87081742a58259c739f32fce4990ebebca

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-17.8.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cb2dc02ee62978d11c7754801c6c4f21296c75ae56af664efcfb705ab5d8c692
MD5 7d1bafe59b0cf01a0048d6d72da92bf6
BLAKE2b-256 be9f23e4070a59410fab67cbe70c67b1a0c93ef294f74b7588f57d38da56b653

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-17.8.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 6989e0a346ec7967bce7fd55b58e7009301384ca728eee21dcff2f801cdf8153
MD5 74d3766ea830021f2e550087bfcde7e9
BLAKE2b-256 01047e101fe47aedd201b7ab7ee003b9de9d8f212d052d2294c463ed4d1afe2f

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