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.1

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

Built distributions (wheels)

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

Total release size: 33.9 MB

Release files / topgrade-17.13.1.tar.gz

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

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

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

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

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

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

Download URL topgrade-17.13.1-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
d49ae849a48425e18df947edf4bfa23023e21eab98e7ff2bd81e1e5d73981a5f
BLAKE2b-256 checksum
How to use checksums
9962ea3f3036a24188113dab2a68ce3f70bfa8610b74aac13f218ff190e7144d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0

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

Download URL topgrade-17.13.1-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
2ee3cf6921a2c14baebd1c7b7678b074e4f9c4316c38245ab699fcd5f7c1d5ec
BLAKE2b-256 checksum
How to use checksums
c930190b3def63d4c3f62ee75f34e7f2012d57541fa171b8552ef3b2158696fc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0

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

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

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

Download URL topgrade-17.13.1-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
a09a2b85754a28872b130b905f3cc51b9061f821361fd50e34c36eb0ba003ee9
BLAKE2b-256 checksum
How to use checksums
288ee2ebca3159e848f8147c44e10fe00ef2ba006a7880b5d1d84393db5174d8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0

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

Download URL topgrade-17.13.1-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
de10b064539a02515723cdd9376e638e0edbbb95c6bde23b5fcf1bee39914b74
BLAKE2b-256 checksum
How to use checksums
58ca3e38af454db4836d1aafba832cf7b6ee6077bef6f154759ef7cd93240a77
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0

Security for topgrade 17.13.1

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.1 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