Skip to main content

Topgrade

GitHub Release crates.io AUR Homebrew
Discord

Demo

Introduction

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. Any files in CONFIG_DIR/topgrade.d/ are also loaded and merged before the main configuration file.

Custom Commands

Custom commands can be defined in the configuration file, which can be run before, during, or after the built-in 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. Note, however, 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 know 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!

Metadata

Release files for topgrade 17.15.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for topgrade 17.15.0
File Size Uploaded Provenance Actions
topgrade-17.15.0.tar.gz 4.5 MB Without provenance Details for topgrade-17.15.0.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for topgrade 17.15.0
File Actions
topgrade-17.15.0-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details for topgrade-17.15.0-py3-none-win_amd64.whl
topgrade-17.15.0-py3-none-win32.whl Python 3 none Windows x86-32 Details for topgrade-17.15.0-py3-none-win32.whl
topgrade-17.15.0-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl Python 3 none Linux glibc 2.17+ x86-64 Details for topgrade-17.15.0-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
topgrade-17.15.0-py3-none-manylinux2014_i686.manylinux_2_17_i686.whl Python 3 none Linux glibc 2.17+ x86-32 Details for topgrade-17.15.0-py3-none-manylinux2014_i686.manylinux_2_17_i686.whl
topgrade-17.15.0-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl Python 3 none Linux glibc 2.17+ ARM64 Details for topgrade-17.15.0-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
topgrade-17.15.0-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details for topgrade-17.15.0-py3-none-macosx_11_0_arm64.whl
topgrade-17.15.0-py3-none-macosx_10_12_x86_64.whl Python 3 none macOS 10.12+ x86-64 Details for topgrade-17.15.0-py3-none-macosx_10_12_x86_64.whl

Total release size: 33.9 MB

Release files / topgrade-17.15.0.tar.gz

Download URL topgrade-17.15.0.tar.gz
Size 4.5 MB
Tags Source
SHA-256 checksum
How to use checksums
54e21c53efc444e315744d97dd39a9462d7d670f535ffb126c18385076cc6e48
BLAKE2b-256 checksum
How to use checksums
41c71717b44613a5a84c19f4f223fb205db1aac1613d43c46ae5540b73300079
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.16.0

Release files / topgrade-17.15.0-py3-none-win_amd64.whl

Download URL topgrade-17.15.0-py3-none-win_amd64.whl
Size 2.7 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
3831b0b59eba25c91b38b73db4d6292c5dc8e09d2428476dc0dd6d5ea46a74b0
BLAKE2b-256 checksum
How to use checksums
b98dad8116cadba82280ca4bab5a49bf45310a29bc9790e9f1c17dba6af37796
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.16.0

Release files / topgrade-17.15.0-py3-none-win32.whl

Download URL topgrade-17.15.0-py3-none-win32.whl
Size 2.4 MB
Tags Python 3 Windows x86-32
SHA-256 checksum
How to use checksums
a1d3c94539d05850d987e3064128b2e8576e1edd5c96c12b5b5aa2b4ea61b6fa
BLAKE2b-256 checksum
How to use checksums
c08802d09500ca9a3ac3047bb09778066db60db8473743fdbbf62adb6512327d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.16.0

Release files / topgrade-17.15.0-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL topgrade-17.15.0-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 6.5 MB
Tags Linux glibc 2.17+ x86-64 Python 3
SHA-256 checksum
How to use checksums
187f6321741f8bfeaf89712c6c136d3369743bc0527828adf1b2cb0c20ef285c
BLAKE2b-256 checksum
How to use checksums
8abfd1f4bcd028590a408c7068e289d3d2af334d6e1edf7a2388013e21619d12
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.16.0

Release files / topgrade-17.15.0-py3-none-manylinux2014_i686.manylinux_2_17_i686.whl

Download URL topgrade-17.15.0-py3-none-manylinux2014_i686.manylinux_2_17_i686.whl
Size 6.0 MB
Tags Linux glibc 2.17+ x86-32 Python 3
SHA-256 checksum
How to use checksums
aa397066972daf43364061dbe0913fe03cbdda09b21f3f456b836ee94a9a08e0
BLAKE2b-256 checksum
How to use checksums
bed414265740181fa3662c218a0c2a64a5f867a25ca93b5b7badcac2e6f49b00
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.16.0

Release files / topgrade-17.15.0-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl

Download URL topgrade-17.15.0-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Size 6.1 MB
Tags Linux glibc 2.17+ ARM64 Python 3
SHA-256 checksum
How to use checksums
f2454735ddbefe4cc766bacab0957ec47240e22f28e5bbd515a21005cd1650aa
BLAKE2b-256 checksum
How to use checksums
17740fb43d369c01ed4c72f8f0d7cf11c02a22bf8f82e8d06c1e5513dae68436
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.16.0

Release files / topgrade-17.15.0-py3-none-macosx_11_0_arm64.whl

Download URL topgrade-17.15.0-py3-none-macosx_11_0_arm64.whl
Size 2.7 MB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
a1085f650b5f94c5c81182d64cdc50e417edb1e008c8460b3de511b95f4ca2ea
BLAKE2b-256 checksum
How to use checksums
4d755bd32ae089e026d1ca9add9d302eae04dff35307b78539157ace872392ca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.16.0

Release files / topgrade-17.15.0-py3-none-macosx_10_12_x86_64.whl

Download URL topgrade-17.15.0-py3-none-macosx_10_12_x86_64.whl
Size 2.9 MB
Tags Python 3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
d7fe75f8bbb9a633cb4d48d769a01a5843260799dfa288046f8517a4eb8c9be1
BLAKE2b-256 checksum
How to use checksums
fb0ac0d1e39237137d9f49c19453146263211e7f5d278d1799931b864078f418
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.16.0

Security for topgrade 17.15.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

17.15.0 This release

8 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page