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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3Windows x86

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

Uploaded Python 3manylinux: glibc 2.17+ i686

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

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

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

File metadata

  • Download URL: topgrade-17.6.2.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.6.2.tar.gz
Algorithm Hash digest
SHA256 b987601242d56d52b3c68897222c885f48518fafc0236e13f8beae5bbc3d4b6a
MD5 5a59e823a150655c1984bda56196cc5f
BLAKE2b-256 094ce8e7f4284b723848d9074180580a1f7be1cc4e7fb17d4b606e72b4da523e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: topgrade-17.6.2-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.6.2-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 7b267764dfc36b55008b918c46c0ad19efd3758954fa737c2abe376a91cbac95
MD5 004e2216184357f02b2fa00b5a09107c
BLAKE2b-256 7d9143834b8b0d24e13630887be84478bb1dccb8c3e7e26c2fcd7e3e5eaf273c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: topgrade-17.6.2-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.6.2-py3-none-win32.whl
Algorithm Hash digest
SHA256 7240a0e843aa5d8c5bcb5a5049630706bd7c8787d48cfb6a086b5b20e5da0257
MD5 ff85eaba32fd2d8cae6370d67fcb0dfa
BLAKE2b-256 c578483eeee15d2009a465f53a4269a70f48435b1a262bc91e30612fc4d2d3e2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-17.6.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5e2eacaddd03b928bfbfba79e9facd828c41c4caa304aeb5c820ede3cf85b851
MD5 df4107010f150aa17bf3c748dcc86fd4
BLAKE2b-256 3f0cbfd70938f561d8932298c71e2433b3d2e7edc40953a66124f26e54c8ff92

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-17.6.2-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 1f7556c655cb2065fc5579aa228e533c56bbd0c9990e6ba5ff50861d3acc6ae6
MD5 f8622273227b72cc9bc3fc88a5c9e370
BLAKE2b-256 2d6ef6b595fa116739d89eb5d27097b6ef458339acdb898bf9bad698b42e9a2c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-17.6.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f943191f54acf9bfb1f0178d57fada1109d33c34def5e2da6e527ecef6d33838
MD5 d68a0d408c23d07383e016db018ff8d7
BLAKE2b-256 0f70506c5955306e693debcd5b4c5b4ffa11847c7da8d6e0a94c5fc8b6abee0f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-17.6.2-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bc9d0b95e41530679ab968dc94c53ce02fadb146d033dd06a34510813d5413a8
MD5 79e0c34eb9e733a7926ee85aeb809aed
BLAKE2b-256 c1d2d8898687cb62f9d21bfd533b079accf59a86905fd700b99f54c03c38e80a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-17.6.2-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 57443bc0f24ca9a32bbcd956674503342c0d05b72c97a570f392d915d438c3d1
MD5 5bc96cc2ad4494b2b20f3c2cfd1c2b2c
BLAKE2b-256 76e00cd30888ac62a7db68f5c35563aaee047c688f314152fd96aa3ecef10f66

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