Skip to main content

Upgrade all the things

Project description

Topgrade

GitHub Release crates.io AUR Homebrew

Demo

Maintainers Wanted

I currently have not enough time to maintain this project on the level required and which the project deserves. For this reason I'm asking the community to help supporting the project, to help and work on resolving issues and create new features. Thanks for all your help.

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

Other systems users can either use cargo install or the compiled binaries from the release page. The compiled binaries contain a self-upgrading feature.

Topgrade requires Rust 1.60 or above.

Usage

Just run topgrade.

Visit the documentation at topgrade-rs.github.io for more information.

Warning Work in Progress

Configuration

See config.example.toml for an example configuration file.

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 it is valid or not, the other configuration files will be ignored.

On the first run(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 config 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. But 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 to the code?

Just fork the repository and start coding.

Contribution Guidelines

See CONTRIBUTING.md

Roadmap

  • Add a proper testing framework to the code base.
  • Add unit tests for package managers.
  • Split up code into more maintainable parts, eg. putting every linux package manager in a own submodule of linux.rs.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

topgrade-11.0.2-py3-none-win_amd64.whl (1.7 MB view details)

Uploaded Python 3 Windows x86-64

topgrade-11.0.2-py3-none-win32.whl (1.6 MB view details)

Uploaded Python 3 Windows x86

topgrade-11.0.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.5 MB view details)

Uploaded Python 3 manylinux: glibc 2.17+ x86-64

topgrade-11.0.2-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl (3.5 MB view details)

Uploaded Python 3 manylinux: glibc 2.17+ i686

topgrade-11.0.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.5 MB view details)

Uploaded Python 3 manylinux: glibc 2.17+ ARM64

topgrade-11.0.2-py3-none-macosx_11_0_arm64.whl (2.0 MB view details)

Uploaded Python 3 macOS 11.0+ ARM64

topgrade-11.0.2-py3-none-macosx_10_7_x86_64.whl (2.1 MB view details)

Uploaded Python 3 macOS 10.7+ x86-64

File details

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

File metadata

File hashes

Hashes for topgrade-11.0.2-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 979c602fd0e07b6a399f20178d11ec5877aede3730c35f35292bf2195353a6ea
MD5 92fb77bd455fe15378d6ad96bffe45c6
BLAKE2b-256 9d6ec665c03c2fd50673dce3b4c10cc6649acc0b06ac370c9f5db73f3c69e7cb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: topgrade-11.0.2-py3-none-win32.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: Python 3, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.0.1

File hashes

Hashes for topgrade-11.0.2-py3-none-win32.whl
Algorithm Hash digest
SHA256 86eceb528374dc6ce223e16a81447139f3e65fd59751d74eab4be829388a7f53
MD5 6140d5e4dd362d250db1a33446781366
BLAKE2b-256 8eae40b5326db3a62cfb3140cdd3c439f554275bd624656b98d43b02926866b8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-11.0.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 678b4f2f66ce6d1bc76a27aa36aafbe4d1f1d3d3cdc4b90205d9ee10089d96a3
MD5 a6be18bbc8d7d681425095ed437f4f28
BLAKE2b-256 43a7f2054f7f3b24c3c096013a71de9422d1eee62938b311053bffa34cb9e4ac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-11.0.2-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 398d464ec103b037cc6e11bffeba04f6758fec66a2e40dbec0c37eb03ea913f6
MD5 4cccae6a812bf30073a5e759ff50c23a
BLAKE2b-256 b96a22dfdb564779ae912b624ff32e7c35463618af7074b182a92d37fa5d228e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-11.0.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 fbd6e1044bfccef5b219ceeee1c9e049daf9b972e7599467a466dddbe555083d
MD5 ed99de886e81c18bbab3688c7bbd7317
BLAKE2b-256 f0744d7a52f07241c0a055ef0a806153bd93f4b4a49a096bc0ed745c1ea7b62a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for topgrade-11.0.2-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0fee9ac5080e5d8ef4c9e8c3a2bdd1b4b461a564cabed74621ff31cf58cacb07
MD5 c810767c895729f50a2c8de8509e7c8e
BLAKE2b-256 21edb9267625628f66cfd39a4bd5f64062cfc8aba3ecba0b1b222c7c90f136e5

See more details on using hashes here.

File details

Details for the file topgrade-11.0.2-py3-none-macosx_10_7_x86_64.whl.

File metadata

File hashes

Hashes for topgrade-11.0.2-py3-none-macosx_10_7_x86_64.whl
Algorithm Hash digest
SHA256 f4bfb3cc7fdc2a4641a77030ad1e1eb62803f0d86f8b9ddc0729de22464ee2b6
MD5 96fc2c758dd2b56e714cd222f8735b34
BLAKE2b-256 43d4ce55883416d0c3c4eab0d0dcccf5c30c382b059ba1a1eac7a70965f1e681

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page