meta_package_manager.managers.homebrew
¶
-
class
meta_package_manager.managers.homebrew.
Homebrew
[source]¶ Bases:
meta_package_manager.base.PackageManager
-
platforms
= frozenset({'macos'})¶
-
requirement
= '>= 1.7.4'¶
-
id
= 'brew'¶
-
get_version
()[source]¶ Fetch version from
brew --version
output.Raw CLI output samples:
$ brew --version Homebrew 1.8.6-124-g6cd4c31 Homebrew/homebrew-core (git revision 533d; last commit 2018-12-28) Homebrew/homebrew-cask (git revision 5095b; last commit 2018-12-28)
-
sync
¶
-
installed
¶ Fetch installed packages from
brew list
output.Note
This method is shared by
brew
andcask
, only that the latter adds itscask
subcommand to the CLI call.Raw CLI output samples:
$ brew list --versions ack 2.14 apg 2.2.3 audacity (!) 2.1.2 apple-gcc42 4.2.1-5666.3 atk 2.22.0 bash 4.4.5 bash-completion 1.3_1 boost 1.63.0 c-ares 1.12.0 graphviz 2.40.1 2.40.20161221.0239 quicklook-json latest
$ brew cask list --versions aerial 1.2beta5 android-file-transfer latest audacity (!) 2.1.2 bitbar 1.9.2 firefox 49.0.1 flux 37.7 gimp 2.8.18-x86_64 java 1.8.0_112-b16 tunnelblick 3.6.8_build_4625 3.6.9_build_4685 virtualbox 5.1.8-111374 5.1.10-112026
-
search
(query)[source]¶ Fetch matching packages from
brew search
output.Raw CLI output samples:
$ brew search sed ==> Formulae gnu-sed ✔ libxdg-basedir minised ==> Casks eclipse-dsl marsedit focused physicseditor google-adwords-editor prefs-editor licensed subclassed-mnemosyne
-
outdated
¶ Fetch outdated packages from
brew outdated
output.Raw CLI output samples:
$ brew outdated --json=v1 [ { "name": "cassandra", "installed_versions": [ "3.5" ], "current_version": "3.7" }, { "name": "vim", "installed_versions": [ "7.4.1967" ], "current_version": "7.4.1993" }, { "name": "youtube-dl", "installed_versions": [ "2016.07.06" ], "current_version": "2016.07.09.1" } ]
-
-
class
meta_package_manager.managers.homebrew.
HomebrewCask
[source]¶ Bases:
meta_package_manager.managers.homebrew.Homebrew
Cask is now part of Homebrew’s core and extend it.
-
id
= 'cask'¶
-
name
= 'Homebrew Cask'¶
-
cli_name
= 'brew'¶
-
outdated
¶ Search for outdated packages among installed one.
Raw CLI output samples:
$ brew cask outdated google-play-music-desktop-player (4.4.0) != 4.4.1
$ brew cask outdated --verbose java (9.0.1,11) != 10,46:76eac37278c24557a3c4199677f19b62 prey (1.7.2) != 1.7.3 qlvideo (1.90) != 1.91 virtualbox (5.2.4-119785) != 5.2.8,121009
$ brew cask outdated --greedy --verbose android-file-transfer (latest) != latest atom (1.19.3) != 1.19.4 dropbox (latest) != latest google-chrome (latest) != latest google-drive (latest) != latest google-play-music-desktop-player (4.4.0) != 4.4.1 karabiner-elements (0.90.92) != 0.91.13 osxfuse (3.5.6) != 3.6.3 qlimagesize (latest) != latest qlrest (latest) != latest quicklook-json (latest) != latest steam (latest) != latest
-
upgrade_cli
(package_id=None)[source]¶ Install a package.
Todo
Wait for https://github.com/caskroom/homebrew-cask/issues/22647 so we can force a cleanup in one go, as we do above with vanilla Homebrew.
-