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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3Windows x86

topgrade-17.2.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.1 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

topgrade-17.2.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl (4.1 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ i686

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

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

topgrade-17.2.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.2.0.tar.gz.

File metadata

  • Download URL: topgrade-17.2.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.2.0.tar.gz
Algorithm Hash digest
SHA256 6ba6eb81d97274c22284d8a537e78fc66fcc90799f301a870de0cce27fd7f2df
MD5 859c090415b620cab223554a89ac29d1
BLAKE2b-256 fc14bf5013000bd3e4b6eca20f4c98dc89dd9e6f91b1773ae8f8635c68915064

See more details on using hashes here.

File details

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

File metadata

  • Download URL: topgrade-17.2.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.2.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 4d7667af89ea5be5cb0eaa90e509ee74515447bc7b835c93a24e85cc30d362d3
MD5 c003172f284cd504cfa4054bf67c223e
BLAKE2b-256 a565b0366c0995e2c77217d5806f81ca56219280661f84db28702c52a1a4a857

See more details on using hashes here.

File details

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

File metadata

  • Download URL: topgrade-17.2.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.2.0-py3-none-win32.whl
Algorithm Hash digest
SHA256 52503e3380ea9aa660b5221b7d3c4643ccf17cc1e5ae981be565d44062481009
MD5 cb095c067f43b94a164aa03e6dace6d9
BLAKE2b-256 8c816a6b58283e119f3ee6480dbe7cb4f9e29fa5a4e80f9f68f3c40ba436abe0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-17.2.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9af2d9618603e878c1f6c2d2fd6eec7b29176c44eee67b6098937d5799fbc723
MD5 bce2c7864a8beb6ec5845a8c93b5cd7d
BLAKE2b-256 4eb14c5e85e5adaecc61198f25165988f6bb0b1b3c5893f5af5c06339a5d8aa3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-17.2.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 402b7e2b145dcf0488f503095711e58af6968cb82085de06b2355a9408c476bd
MD5 b56a4ad66dc639ca1d34f3db5f6767e9
BLAKE2b-256 05913d4313fbb1e8ea7a01d84ddc537603ce2d595d3a89044ca7a6072590af0d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-17.2.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b1ee21fd165d158eb33354240b337489b563d001da2ddbd3f76c19d81308c905
MD5 b2d60d1120d81ad15219e31954213a6b
BLAKE2b-256 368ff0d448b17a888c3570825397d02ed232fc3b087eb452375f39e8b5c81199

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-17.2.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 dfa3a08cb8e6d0e5665bfeda6fc402539c01a4f6677dab4c4bdad16f356cda0e
MD5 1e3e5b9796f4e39a72e20d9bea690aa5
BLAKE2b-256 0576435b441a08a053638195245d262ba9a85a61b70b1db6a392c9192f64ea8d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-17.2.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 62deb39d8ac25869a1df17a3d4d434fb9a3241d8fd621d1f71a177c555cf3b47
MD5 239f185b1b97a3946f9b35acbd2929d8
BLAKE2b-256 7ee2b059c5b4ce9d09092f84d92fe2b6bc87fa61819c7ade33cc99afcb236c0d

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