You are not logged in.
greetings, fellow archers!
i have finally got around to completing "pkgbrowser", my pacman/aur package browser.
the purpose of pkgbrowser is to integrate several resources for searching and browsing arch packages into a single, consistent interface. the core of the application is a gui front-end for libalpm (the arch linux package management library), and provides searching and querying features similar to e.g. 'pacman -Q' or 'pacman -Ss'. in addition, as with tools like package-query, it is also possible to extend searches to the aur (arch unofficial repository).
further features are:
dependency trees (similar to pacman's pactree tool)
extended file searches (similar to the pkgfile tool)
package categories (provided courtesy of pacnet)
pkgbrowser is written in python3 and pyqt5 (plus some cython bindings for libalpm).
the aur url for pkgbrowser is here: https://aur.archlinux.org/packages.php?ID=48372.
a screenshot and the source code can be found here: https://bitbucket.org/kachelaqa/pkgbrowser.
there is also a manual (accessed from the help menu) which has further details on how to use pkgbrowser.
finally:
please note that pkgbrowser is a purely informational application - it cannot be used for installing, removing or updating packages.
CHANGELOG
2018-01-29: version 0.21
removed support for package categories (pacnet service no longer available)
2016-03-22: version 0.20
improved the performance of the files search (3x faster for non-regexp searches)
changed the files search so that it is always case-sensitive by default
added support for nested groups in the search syntax
added the facility to search for empty fields (enables listing orphaned packages)
changed to using the Arch Linux Archive for the cache page
updated the aur apis to use rpc v5
2015-08-10: version 0.19
added columns for votes and popularity in the package-pane
made the package-pane columns configurable
added support for aur 4
ported to pyqt5
improved performance of send-to-list command
2014-05-28: version 0.18
added support for AUR 3.0
fixed some compiler warnings
2013-12-13: version 0.17.1
fixed fetching of aur package info so that max url length is not exceeded
2013-09-14: version 0.17
fixed the formatting of exported package information
added an information page for backup files
reworked the url opener so that the BROWSER environment variable is given priority
re-arranged the filters so that more package states are represented
fixed the makefile so that python3 is explicitly set as the default
2013-09-03: version 0.16
moved to a new source-code hosting site
ported to python3
added an aur category for fonts
2013-08-27: version 0.15
fixed package update checking so that downgrades are ignored for vcs packages
fixed the package cache lister so that it works with the new arm service
fixed offline mode so that it includes the package cache arm service
fixed the sig-level handling in the alpm bindings
2013-04-26: version 0.14.1
fixed the matcher for package cache files
fixed the logfile parser so that it works with the latest format
2013-04-22: version 0.14
fixed package urls so that only official arch repositories are supported
fixed the keyboard navigation in the information pane
added support for history navigation with the extra mouse-buttons
improved the formatting of the dependency tree
added a handler for system palette changes
unified the colour scheme for the information pages (based on the system palette)
changed the package list so that installed size is always shown (where appropriate)
added a command for sending linked items in the information pages to the package list
added incremental text-search to the information pages
added a validation field to the details page
added an optional-for field to the details page
added a new status for optional-for packages
removed the (unsupported) plugins mechanism
2013-04-07: version 0.13
updated the config parser for pacman-4.1
ported the alpm bindings to libalpm-8.x
2012-12-07: version 0.12
added an install-script field to the details page
added a field to the details page for official package urls
improved the method for identifying the system browser when opening links
added a keyboard handler for deleting individual bookmarks
reimplemented the search methods
2012-11-13: version 0.11.1
fixed the alpm bindings so that string conversions are handled correctly
2012-11-04: version 0.11
updated the backend to be compatible with aur-2.0
fixed the wildcard method for aur searches
fixed the alpm bindings so that listing package files does not crash on 64 bit systems
2012-10-31: version 0.10.2
fixed the updating of the search-box list
fixed and/or improved unicode support throughout the codebase
fixed the retrieval of urls from arm so that plus-signs are handled correctly
fixed the percent/character encoding of urls
fixed maintainer search so that installed aur packages are included
reimplemented the downloader so that aur search is restored
ported the libalpm bindings to cython
fixed package filtering so that cross-repo updates do not produce duplicates
fixed the "requires" list so that aur items can be included
2012-07-07: version 0.10.1
fixed a build issue caused by changes to the python2-pyqt package
2012-05-04: version 0.10
added an information tab for listing package cache entries
changed the display of information pages so that all tabs are enabled for every package
fixed the about dialog so that links are accessible
2012-04-29: version 0.9.1
fixed the category listing so that it works with the new pacnet api
fixed the aur urls so that https logins are made easier
2012-03-10: version 0.9
added the facility to bookmark packages
added a package log information page
added an 'optional' key to the search options (for reverse optdepends)
improved the menu layout
fixed the package files lists so that they are always correctly sorted
fixed the statistics dialog so that it is a child of the main window
fixed the application startup so that the main window is shown immediately
changed the pkgbuild dependencies so that python-2.7 is required
2012-01-17: version 0.8
ported the alpm bindings to libalpm-7.x
2011-10-08: version 0.7
changed loading of categories so that it is done on demand rather than during initialization
added a context menu command to export package information
added a menu item for cancelling the current task
added an option to use system colours for the information pages
changed history buttons so that they use built-in arrows instead of icons
2011-08-30: version 0.6
added a configuration option to include the aur in searches by default
fixed the handling of aur urls
fixed 'categories' filter so that it is disabled when working offline
2011-08-21: version 0.5.1
fixed (temporarily) the breakage caused by the aur-1.9.0 upgrade
2011-08-05: version 0.5
added some statistics fields to the dependency tree page
added 'non-installed' indicators to the dependency tree
added build dependencies to the dependency tree for aur packages
added 'build requires' field to details page for aur packages
fixed the dependency tree so that 'provides' are handled correctly
added support for 'required by' for aur packages
fixed details page so that it shows 'required by' for non-installed packages
fixed search so that it handles versioned 'provides' correctly
added a 'non-installed' status for the package details page
removed the facility to retrieve package changelogs
added a fallback mechanism for loading categories
2011-08-02: version 0.4.1
fixed the loading of categories so that network errors are handled correctly
2011-06-24: version 0.4
added a 'split packages' field to the aur details
improved the reading of aur pkgbuild information
fixed aur version details so that the release number is included
fixed some issues with setting the icon of the search button
added the facility to abort the application after an unhandled exception occurs
improved the formatting of the package dependency tree
fixed a rounding error when calculating the statistics
re-ordered the fields of the details page so the dates are grouped together
removed the redundant 'install reason' field from the details page
2011-06-19: version 0.3.1
fixed a minor error when loading backend
2011-05-20: version 0.3
fixed error handling when accessing aur package info
fixed 'copy list' so that it works with both groups and packages
added a search option for filtering the current package list
moved the 'groups' filter into the repository filter group
fixed the package list so that it does not scroll to top when expanding groups
added a 'maintainer' key to the search options
removed 'submitter' and 'contributors' from the details page
fixed the details page so that unmaintained aur packages are correctly identified
fixed the tree generator so that it can handle packages with no dependencies
2011-05-04: version 0.2
added a size column to the packages list
added a dialog to display high-level statistics about installed packages
added an 'installed size' field to the details page for non-installed packages
added a 'status' field to the details page
removed 'foreign' as a status category and made it a filter group
fixed plain-search so that both normal and aur searches have the same behaviour
fixed the formatting of some error messages (e.g. regular expression syntax errors)
fixed the error handling for online searches so that failed connections do not hang
2011-04-21: version 0.1.1
amended the filter names
fixed the 'non-installed' filter so that it includes updates
2011-04-20: version 0.1
original release
Last edited by kachelaqa (2018-01-29 22:05:57)
Offline
I like this very much, thank you for that package!
The uninstalled category comes from pacman.log? It is a great idea really.
UPDATE: ah, sorry I misunderstood the name, it should be not installed rather?
Last edited by SanskritFritz (2011-04-20 18:58:07)
zʇıɹɟʇıɹʞsuɐs AUR || Cycling in Budapest with a helmet camera || Revised log levels proposal: "FYI" "WTF" and "OMG" (John Barnette)
Offline
I like this very much, thank you for that package!
you're welcome! glad you find it useful.
The uninstalled category comes from pacman.log? It is a great idea really.
UPDATE: ah, sorry I misunderstood the name, it should be not installed rather?
yes - "uninstalled" means "not installed".
Last edited by kachelaqa (2011-04-20 19:02:57)
Offline
This does indeed look good. Nice job!
yes - "uninstalled" means "not installed".
You should probably change that. "Uninstall" means to remove something that is installed, so "uninstalled" means that those packages were previously installed.
I recommend using "Not Installed" instead.
Have you considered using checkboxes instead of the tree to filter packages?
Filters:
[] installed
[] upgradable
[] orphans
Repos:
[x] core
[x] extra
[x] community
[x] unknown (foreign)
...
That approach might be more versatile but organizing the panel could be difficult. It's just an idea though.
My Arch Linux Stuff • Forum Etiquette • Community Ethos - Arch is not for everyone
Offline
This does indeed look good. Nice job!
thanks!
kachelaqa wrote:yes - "uninstalled" means "not installed".
You should probably change that. "Uninstall" means to remove something that is installed, so "uninstalled" means that those packages were previously installed.
I recommend using "Not Installed" instead.
aesthetically speaking, i feel it has to be a single word. so what other single-word synonyms are there for "not installed"?
Have you considered using checkboxes instead of the tree to filter packages?
Filters:
[] installed
[] upgradable
[] orphansRepos:
[x] core
[x] extra
[x] community
[x] unknown (foreign)
...That approach might be more versatile but organizing the panel could be difficult. It's just an idea though.
and it would require a very substantial rewrite of the backend...
my design is package-focused.
everything is a kind of filter (or view) of "all" packages. repositories don't really have a special status. after all, a package could move from one repository to another (or appear in more than one repository), and package groups can include packages from several different repositories.
Offline
aesthetically speaking, i feel it has to be a single word. so what other single-word synonyms are there for "not installed"?
Hmmm...
Installable?
Other?
and it would require a very substantial rewrite of the backend...
my design is package-focused.
everything is a kind of filter (or view) of "all" packages. repositories don't really have a special status. after all, a package could move from one repository to another (or appear in more than one repository), and package groups can include packages from several different repositories.
Ok
I had one other idea, but I don't know if it would be easy to code: "New"
Maybe you could create a list or database snapshot of known packages and then check for new packages against that. I think it would be useful if the user could see exactly which packages have been added since the last time they checked.
My Arch Linux Stuff • Forum Etiquette • Community Ethos - Arch is not for everyone
Offline
I had one other idea, but I don't know if it would be easy to code: "New"
Maybe you could create a list or database snapshot of known packages and then check for new packages against that. I think it would be useful if the user could see exactly which packages have been added since the last time they checked.
i've already thought of that
my solution is to format the installation date in the package list in such a way that it sorts alphabetically.
to discover the sequence in which packages were installed, filter by All / Installed and then click on the date column header to sort them in either ascending or descending order.
Offline
Nice tool, thanks kachelaqa
Hmmm...
Installable?
Other?
What about "Available"
Offline
Nice tool, thanks kachelaqa
glad you like it, thanks
Xyne wrote:Hmmm...
Installable?
Other?What about "Available"
"available" is quite good (in the sense of "unused" or "unutilized")
i'm thinking that maybe:
Installed
Orphans
Updates
Available (or Unused or Other)
would be a better arrangement.
and this has also exposed a small bug:
"updates" should appear in the list of "available" packages, just as "orphans" currently appear in the list of "installed" packages.
UPDATE:
after a bit of googling, it seems "non-installed" is the most common term for "packages that are not installed", so that is what i shall use.
a new version that fixes the two issues mentioned above will be submitted sometime today.
thanks to everyone for the feedback!
Last edited by kachelaqa (2011-04-21 14:35:45)
Offline
I just installed pkgbrowser to check it out.
My first impression.... Very nice job kachelaqa !
Thank you for your contribution for this much needed tool. I have a feeling this will quickly rise to the top of the list of pacman helpers/accessories tools.
PkgBrowser is a much improved replacement for the recently somewhat dysfunctional gtkpacman I used for package browsing on my Arch installs.
Hope you don't mind I added info to wiki, please edit as you see fit.
https://wiki.archlinux.org/index.php/Pa … ge_Browser
Last edited by jeff story (2011-04-26 21:34:03)
Check out my website for info on the Arch Linux Installer
Offline
This program support AUR? It will be in future?
Offline
This program support AUR? It will be in future?
Yes, it currently supports the AUR.
@ karol.... we must of crossed up during my edit!
Last edited by jeff story (2011-04-26 21:49:09)
Check out my website for info on the Arch Linux Installer
Offline
unikum wrote:This program support AUR? It will be in future?
Actually, it's currently in the AUR: https://aur.archlinux.org/packages.php?ID=48372
I think he wants to use PkgBrowser to browse AUR like you can browse the repos.
Offline
I just installed pkgbrowser to check it out.
My first impression.... Very nice job kachelaqa !
Thank you for your contribution for this much needed tool. I have a feeling this will quickly rise to the top of the list of pacman helpers/accessories tools.
PkgBrowser is a much improved replacement for the recently somewhat dysfunctional gtkpacman I used for package browsing on my Arch installs.
thanks, jeff - hope it lives up to your expectations!
Hope you don't mind I added info to wiki, please edit as you see fit.
https://wiki.archlinux.org/index.php/Pa … ge_Browser
i hadn't thought to do that - thanks, it looks fine to me
Offline
I am using here!
Congratulations nice program!
Thanks!
Offline
Nice program. It would be well if could install and remove packages.
Offline
It would be well if could install and remove packages.
sorry, but this will never happen
it would add a lot more complexity to pkgbrowser and make it much more difficult for me to maintain. there are other projects i want to work on, and a complete gui front-end to libalpm would take up far too much of my precious programming time.
and in any case, personally, i don't want a gui to install and remove packages (i think the CLI is the best interface for that) - so it would be very hard for me commit myself to the long-term maintenance of such a project.
but all is not lost!
fortunately, there are several existing (or proposed) projects out there that may do what you want. see the wiki page: Pacman GUI Frontends.
Offline
fortunately, there are several existing (or proposed) projects out there that may do what you want. see the wiki page: Pacman GUI Frontends.
unfortunately, almost none of them is working atm, except for Wakka. The wiki needs some overhaul I think, /me is rolling his sleeves...
zʇıɹɟʇıɹʞsuɐs AUR || Cycling in Budapest with a helmet camera || Revised log levels proposal: "FYI" "WTF" and "OMG" (John Barnette)
Offline
can we have an option to sort packages by installed size? that would make this 10x better.
Offline
can we have an option to sort packages by installed size? that would make this 10x better.
How about a one-liner:
expac -s "%-30n %m" | sort -rhk 2 | less
You need expac package for this to run.
Offline
can we have an option to sort packages by installed size? that would make this 10x better.
it just so happens that i have recently finished implementing this for the next version of pkgbrowser.
i will be releasing the new version sometime next week.
Offline
version 0.3 has been released today.
please see the changelog for further details.
Offline
Do you have any plans to make a curses version like aptitude? I've been toying with the idea myself. I'd be willing to do some work on it now and then. If you have the functions properly set up it should actually be pretty easy, you just need to change the gui code and make the event handlers for curses. Maybe I'll see if I could get something started...
Also, I can't install this.
$ sudo packer -S pkgbrowser
Aur Targets (1): pkgbrowser
Proceed with installation? [Y/n]
Edit pkgbrowser PKGBUILD with $EDITOR? [Y/n] n
Edit pkgbrowser.install with $EDITOR? [Y/n]==> Making package: pkgbrowser 0.3-1 (Fri May 20 12:03:10 EDT 2011)
==> Checking runtime dependencies...
==> Missing Dependencies:
-> python2-pyqt
==> Checking buildtime dependencies...
==> ERROR: Could not resolve all dependencies.
The build failed.
The python2-pyqt doesn't seem to exist. There's python26-pyqt, but that's the wrong version.
Last edited by Daenyth (2011-05-20 16:04:47)
[git] | [AURpkgs] | [arch-games]
Offline
Do you have any plans to make a curses version like aptitude? I've been toying with the idea myself. I'd be willing to do some work on it now and then. If you have the functions properly set up it should actually be pretty easy, you just need to change the gui code and make the event handlers for curses. Maybe I'll see if I could get something started...
i haven't thought much about other interfaces, but i have tried hard to keep the core functionality separate from the gui as it makes testing much easier. the only significant functionality which is currently handled by the front-end mostly generates the html which is used in the info pages and statistics dialog. (i will try to move that functionality into the back-end for the next release). the back-end was not really designed as a public api, but it is probably usable as one. i don't think it would be necessary to add curses event handlers - the backend has optional callbacks for calling some of its methods asynchronously. so with a bit of luck, it may be possible to just import the backend modules and add a different front-end to taste (if i'm not being wildly optimistic).
i'm afraid creating a curses interface would be entirely up to you, as i have zero experience of using it
Also, I can't install this.
$ sudo packer -S pkgbrowser
Aur Targets (1): pkgbrowser
Proceed with installation? [Y/n]
Edit pkgbrowser PKGBUILD with $EDITOR? [Y/n] n
Edit pkgbrowser.install with $EDITOR? [Y/n]==> Making package: pkgbrowser 0.3-1 (Fri May 20 12:03:10 EDT 2011)
==> Checking runtime dependencies...
==> Missing Dependencies:
-> python2-pyqt
==> Checking buildtime dependencies...
==> ERROR: Could not resolve all dependencies.
The build failed.The python2-pyqt doesn't seem to exist. There's python26-pyqt, but that's the wrong version.
python2-pyqt is in extra: http://www.archlinux.org/packages/?q=python2-pyqt.
not sure why packer can't install it. the only thing i can think of is that python2-pyqt was recently renamed (it used to be 'python2-qt').
installation works fine for me with both makepkg/pacman and yaourt.
Offline
I may or may not have missed a pacman -Sy beforehand...
[git] | [AURpkgs] | [arch-games]
Offline