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.13.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.13.0
File Size Uploaded Provenance Actions
topgrade-17.13.0.tar.gz 4.5 MB Without provenance Details for topgrade-17.13.0.tar.gz

Built distributions (wheels)

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

Total release size: 33.9 MB

Release files / topgrade-17.13.0.tar.gz

Download URL topgrade-17.13.0.tar.gz
Size 4.5 MB
Tags Source
SHA-256 checksum
How to use checksums
0075b817f80e00f283748ff7b0584d1e04aea0d87efa5086b7c5abfa6d58441e
BLAKE2b-256 checksum
How to use checksums
6fcfba42fe6918d146244500b5c7a37cd02781636b6f2ea421a7639d9e01099e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0

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

Download URL topgrade-17.13.0-py3-none-win_amd64.whl
Size 2.7 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
2b9b0e919caf048026413ca011e3844deafe6e9dba1ba52db303f5eaeb1815a2
BLAKE2b-256 checksum
How to use checksums
1143b9334f5be270978c84bcdbe14edd712e296dc1f30a29e4bfa081bfe44c32
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0

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

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

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

Download URL topgrade-17.13.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 6.5 MB
Tags Linux glibc 2.17+ x86-64 Python 3
SHA-256 checksum
How to use checksums
63cf0eee8fed6bfd020b9e2ee765eba54002eafe03fe93e0d2bf8fcd3b1bb551
BLAKE2b-256 checksum
How to use checksums
74702e0ab257b510ba6be218935e6559facb517a55084fa8d3ede5d0700b9fb3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0

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

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

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

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

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

Download URL topgrade-17.13.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
aa7113173b0b3ff2e6c61566d21e26951ce551e59c6fcc5f84a81619623acf7a
BLAKE2b-256 checksum
How to use checksums
11d2ade4294afcaa00ab6258d13ab12ebb4b7fe1fd24818848d091fb10ec7a1a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0

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

Download URL topgrade-17.13.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
484dfc62a70f70bbea16f35803e5c0ee705e359c9d1c79c5d502228422b16b1f
BLAKE2b-256 checksum
How to use checksums
c2ee03f4d3771a27ac2300c7dc4534306ad650da86f65bfa2e2d8073e2e4d9e5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0

Security for topgrade 17.13.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.13.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