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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3Windows x86

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

Uploaded Python 3manylinux: glibc 2.17+ i686

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

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

topgrade-16.5.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-16.5.0.tar.gz.

File metadata

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

File hashes

Hashes for topgrade-16.5.0.tar.gz
Algorithm Hash digest
SHA256 f5af6a8a2d1fd49df0fe81f257a90b73e30705dc2d6e06e2b9f657e39b1d0bd2
MD5 319a18530647676878979f8246239024
BLAKE2b-256 d66a7d57774c468bc840bf7a62542b8d0c007db7cc770dd7427ae1a83463e2e2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: topgrade-16.5.0-py3-none-win_amd64.whl
  • Upload date:
  • Size: 2.6 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.10.2

File hashes

Hashes for topgrade-16.5.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 4c12463ae77206517778c26ff9917fa21b14430373a5d1e2d883cedd97b29fa3
MD5 63dea9881681213e1991d26edc5e3c12
BLAKE2b-256 06643f4a44ab47dc66aaacac642dd3dfcec83a2e0c23bf7bf9b73df1cfaed8f9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: topgrade-16.5.0-py3-none-win32.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: Python 3, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.10.2

File hashes

Hashes for topgrade-16.5.0-py3-none-win32.whl
Algorithm Hash digest
SHA256 87f52efeae66b5ec2fd4c17d43810c54d8c042f96febf359f3998b6f8a70abf9
MD5 f879dcf10bb36eb9fc8d8346b52a5f6a
BLAKE2b-256 c4e978d4415180fa56b712d475da9e5cbfc7a67f8f26e50bfdda718262640506

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-16.5.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3858a1da0e8cc3ca0e2f890c958c9c2735673de554c6a3732e33da0c84b229e7
MD5 f9ebebaaee1640b72c254f89f8ed8c81
BLAKE2b-256 0c1eb34d34761bf36949281e32df004ab52e0297c10a0f612e50d0479702a54c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-16.5.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 b6a783ab2ef8fe68c12bd768eaae206a137b1803d5f34da0496d57f70ffafc8e
MD5 edf4cec6e29ed7c56a478a3674806aaf
BLAKE2b-256 df97de0c34b39df2a8fb8c403dfb653e0db3989216d0dc8b0d75dcf276f65ced

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-16.5.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 135222a6cded152f073d740c287583bb0fa05582703b2dd0834cf222aa74783c
MD5 be8c65f00aac125c500b1d88c43f0ad5
BLAKE2b-256 fb73a7c9c227ef21820c18608ec1f3a182290093a92d053199413be29aa5a91a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-16.5.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1a0371b9cd44a66b5dc59e2efad8e4c949cd3ffc734d8598476a93c3719bb10d
MD5 03ef57ecb5e6a88da62a792dc31de83a
BLAKE2b-256 712bd5c453f167ea9824e402bf4a488e8e2bca58cc4c5594e70264fbfbdaa1e2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-16.5.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 a7c6d327d6a1780b9479a6ddd19d5af4bdb561de432023f9bca04cc4af0a7d60
MD5 7026a4c674078e1efe33b8f3283fe95a
BLAKE2b-256 e2fcb9b6adfbed19bd880c11daec182e76a600d2c2b4d9d74bae122c2a3db30a

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