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

Built distributions (wheels)

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

Total release size: 34.0 MB

Release files / topgrade-17.14.1.tar.gz

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

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

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

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

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

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

Download URL topgrade-17.14.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
37430d1f197a524554db06d1f7491b82b71bd12f570f4836160afbe81adf1159
BLAKE2b-256 checksum
How to use checksums
84f1c1deb0850641f1c12a1311a15dde00043319f53a64447182513614b7f0ce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0

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

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

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

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

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

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

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

Download URL topgrade-17.14.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
6a456e1be7dc51f26765424ef1311ed4a4423fad93339e9ec68b96e888b60f6f
BLAKE2b-256 checksum
How to use checksums
15c3fcd1e49b45bf07041b779769cca4baf279abd84011a7bf95d5186ed0a9cc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via maturin/1.15.0

Security for topgrade 17.14.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.14.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