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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3Windows x86

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

Uploaded Python 3manylinux: glibc 2.17+ i686

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

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

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

File metadata

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

File hashes

Hashes for topgrade-17.0.0.tar.gz
Algorithm Hash digest
SHA256 eeef10e8b017605bdd27a6696d83be952e4b1e04688b89e922484d2b4ce07887
MD5 501457435825206133bae86d84f33913
BLAKE2b-256 30c70927f15c3029cf33fe5123c3cfd881313335418edbc603c20bea3c81f187

See more details on using hashes here.

File details

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

File metadata

  • Download URL: topgrade-17.0.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.12.6

File hashes

Hashes for topgrade-17.0.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 6fa4cb6b61f779c14f6fc80a42492963226d7f9c7e2c176152cbd2c891690ba1
MD5 6905fa1b826d2fc78bd6c50e79459967
BLAKE2b-256 3165527f6d5b1027c0c2725c6056e30e2d5d5f4e8f6318d69a88d74964f6f0f2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: topgrade-17.0.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.12.6

File hashes

Hashes for topgrade-17.0.0-py3-none-win32.whl
Algorithm Hash digest
SHA256 bb06dcba503009e3e0b1d537ffc9848b32a57af2be3d4d92a0c539dce43362a7
MD5 c3b15b10d2f33dec14b1805c85c0a113
BLAKE2b-256 9a374d80f9342b84bae07e1bf0de1e56ebbdf1fbe67655c9791247e490533354

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-17.0.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b573ace2d2afaec2d65adda17479a0431b0066d44b0d6554af93e4b44d188df4
MD5 ebd97505bf39a316ea695a4b853ae19b
BLAKE2b-256 13332d0144be64c6b321ffdbdb345568d066505828062b54c8bf850ced758357

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-17.0.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 38e8957329200cb78bef6d7eabcd0336529cb877162ec769e81df33e23aa8c9f
MD5 32ca8aeb26106931951378a542a56782
BLAKE2b-256 eb94c2ae5b5ea7f96bb54a7b22023341ce9be6f2777680cd497c1041ccacced0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-17.0.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 aebfcd5d77a010d73c3eb05b7b80406f743daecd5ad082960aaa9161a5d6f69e
MD5 c9554a06e076bbfcb7a85fbadad2064f
BLAKE2b-256 cb9b36c18ed52889aa6149db490a8b05a82bb47b09f58dc0fdffeaeddafb83ad

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-17.0.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 91fa632d11a0415a64b300a396ca72679e2354f34033d6908c4ed93107086c10
MD5 411b1adea63924183812531fc7d3cc51
BLAKE2b-256 013739da41b10687c19cdcaa1c47cd03637eb078f530e18a92664b03b93e8563

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-17.0.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 f8621e0af2a8618591a797b1d4966eb3709ca2740bb094cf7bfd10970eb4733b
MD5 7d64cb15a4cbb1a5e3bc73e28c2f5d99
BLAKE2b-256 769e3b2db3f7cc99fae02d318c12f4f96d5f9dd37d547d28ef2d79b51575d8a3

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