Skip to main content

Upgrade all the things

Project description

Topgrade

GitHub Release crates.io AUR Homebrew

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.

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 it is valid or not, the other configuration files will be ignored.

On the first run(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 config 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. But 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

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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3Windows x86

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

Uploaded Python 3manylinux: glibc 2.17+ i686

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

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

topgrade-16.6.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-16.6.0.tar.gz.

File metadata

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

File hashes

Hashes for topgrade-16.6.0.tar.gz
Algorithm Hash digest
SHA256 86cd68596cdc9ebbdd340ff51575a9a597ba152b4242ae761fe9460e861e73f8
MD5 4b68dc932861f81f64ca901fdb797bf3
BLAKE2b-256 64166db48bb15b12d10d24b018fd20004b6fe4583c89575f22794b5bb2575ebb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: topgrade-16.6.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.10.2

File hashes

Hashes for topgrade-16.6.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 7951ff89cc0a11c309f6e03ef5d3ba2001e6c6092c58e316745022d142375e2f
MD5 f18217bbbb6884a7a53c0f6359b0f92b
BLAKE2b-256 da387207a8eddfab56bb5ad312c70c2ed412a62fb9fcecc0be80640f926f8567

See more details on using hashes here.

File details

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

File metadata

  • Download URL: topgrade-16.6.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.10.2

File hashes

Hashes for topgrade-16.6.0-py3-none-win32.whl
Algorithm Hash digest
SHA256 03809dccb8d101a04698648d49ec11776fa337bd215f604ffebaa0f050ecf1cd
MD5 2a9f9eb50adbb7e26a7d3798b46fd2ad
BLAKE2b-256 9266c361a2ab3364ea29e96a9585cee2dff3ac86b551f85818ae82745d1a1212

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-16.6.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 413e64d60edda1ac1da141efe1fbb6fe2a891c0633a646b49b54b7ce848d7806
MD5 11137f2d63c3056c3537809a5bcada13
BLAKE2b-256 1007671d374b195e6dadd85f1b7a84fb80d70c365c19cdff7faa600cda458799

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-16.6.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 56b78d222194b9c6ca443c9ca9e16a9ae02b7f2b275261f70d2676753169c99c
MD5 94bbd24af9e32f1efd97e4dcfedd7559
BLAKE2b-256 8f19d256acd5dfd17b56670844f1aabdfc2de120357cf2f3bec290618d0c930b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-16.6.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 96a54737e44523e06b844514fa0d2ec967e7865f039da92ef7dadb6993a011fc
MD5 91450991bb5adf4af23dd5d4072933b3
BLAKE2b-256 f097d9ee61c5fcc569c17b555d112f6fa14c72978171cc0968a2e7164638599a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-16.6.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6238d57aa5afe1b7510ac263f18c88080bd49393a304d34fdbe449fc315eec77
MD5 142336d33c9f275a53e86bb19c5703aa
BLAKE2b-256 bd5a041de9dfdd46644dfce6ec5d0b2608138c3bcd98564dff79f01445417b8b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-16.6.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 b5dc2e5b154cfe60a9ef75b09f1fb1c7977d7bb72c79bd77a9ed8ff9aaceae72
MD5 b8c631d12a9f04ba5907e351ada4152d
BLAKE2b-256 2d9c24fda7fb21d51198ee48f14bbebda7c31e5f198bb9b1102c136f960e5983

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