Python-based extendable tool
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/ISSUE_TEMPLATE Delete old template May 9, 2018
docs Fix license text Apr 21, 2018
pext Build portable Linux and macOS builds Dec 9, 2018
pext_dev Update pext_dev to current standards Apr 21, 2018
screenshots Fix docs Oct 13, 2017
test Add --portable option Dec 4, 2018
travis Rename macOS portable .zip to to be more obviously macOS Dec 9, 2018
.appveyor.yml Upstream stable dulwich now has our patch Nov 7, 2018
.gitignore Ignore compiled QML Dec 17, 2017
.travis.yml Zip .app due to GitHub restrictions Dec 9, 2018 Update CHANGELOG Dec 9, 2018 Adding CoC (#68) Jan 27, 2018 Add Jul 1, 2017 Windows! Jun 15, 2018
Info.plist Release Pext v0.21 Nov 2, 2018
LICENSE Trigger GitHub license detection Nov 21, 2018
LICENSE-CCBYSA Relicense documentation under CC BY-SA 4.0 Jan 3, 2018 Move to FreeNode Nov 26, 2018 Release Pext v0.15 Jun 7, 2018
io.pext.pext.appdata.xml Use linuxdeploy w/ conda plugin to build AppImage Sep 29, 2018
io.pext.pext.desktop Use linuxdeploy w/ conda plugin to build AppImage Sep 29, 2018
logo.png Added white stroke to text. Mar 23, 2018 Add Windows to platforms Oct 14, 2018
tox.ini Initial implementation of typing output Jun 10, 2018 Try to explain Pext better Jul 5, 2017
workflow_graph.png Try to explain Pext better Jul 5, 2017


Packaging status

Lilly the leoger

Linux & macOS Build Status Windows Build status ReadTheDocs Translation status



Pext stands for Python-based extendable tool. It is built using Python 3 and Qt5 QML and has its behaviour decided by modules. Pext provides a simple window with a search bar, allowing modules to define what data is shown and how it is manipulated.

For example, say you want to use Pext as a password manager. You load in the pass module, and it will show you a list of your passwords which you can filter with the search bar. When you select a password in the list, it will copy the password to your clipboard and Pext will hide itself, waiting for you to ask for it again.

Depending on the module you choose, what entries are shown and what happens when you select an entry changes. So choose the module appropriate for what you want to do, and Pext makes it easy.

Several modules are available for effortless install right within Pext.

Pext running the radiobrowser module with info panel Pext running the openweathermap module with context menu Pext running the emoji module

How it works

Pext is designed to quickly pop up and get out of your way as soon as you're done with something. It is recommended to bind Pext to some global hotkey, or possibly run multiple instances of it with different profiles under multiple hotkeys. Example Pext workflows look as follows:

Pext workflow graph

Simply put:

  • Open (Pext)
  • Search (for something)
  • Select (with Enter)
  • Hide (automatically)


Note: If you run into any issues, please check out the troubleshooting section near the end of this document before reporting a bug.



Pext is available as pext and pext-git. These packages are maintained by Ivan Semkin.

Other distros

We recommend the AppImages under GitHub releases, but you can also install from PyPI.

For the stable version (PyPI):

pip3 install pext --user

For the git version (PyPI):

pip3 install git+ --user

On some systems, you may need to use pip instead of pip3.

On some systems, you may need to add ~/.local/bin to your $PATH if you want to launch Pext from the terminal: echo "export PATH=$HOME/.local/bin:$PATH" >> ~/.profile.

Alternatively, you can install Pext from source (not recommended and unsupported)


A macOS .dmg file is available in the releases section on GitHub. If you use Homebrew, you can use brew cask install pext on the command line.

Alternatively, see Installing Pext from source (not recommended and unsupported)


A Windows installer is available in the releases section on GitHub.

Alternatively, see See Installing Pext from source (not recommended and unsupported)


To actually use Pext, you will first have to install one or more modules. Check out the Pext organisation on GitHub or use Module -> Install module -> From online module list in the application for a list of modules.

After installating at least one module, you can load it from the Module -> Load module menu. After that, experiment! Each module is different.

For command line options, use --help.


Entry management

  • Escape: Go one level up
  • Tab: Tab-complete the current input
  • Enter / Left mouse button: Select entry or run command
  • Ctrl+Shift+. / Right mouse button on header: Open state menu
  • Ctrl+. / Right mouse button on any item: Open context menu
  • Ctrl+J / Down arrow: Go one entry down
  • Ctrl+H / Up arrow: Go one entry up
  • Ctrl+F / Page down: Go one page down
  • Ctrl+B / Page up: Go one page up

Tab management

  • Ctrl+T: Open new tab
  • Ctrl+W: Close current tab
  • Ctrl+Tab: Switch to next tab
  • Ctrl+Shift+Tab: Switch to previous tab
  • Alt+<number>: Switch to tab <number>
  • F5: Reload tab, including code changes to the module

Session management

  • Ctrl+Q: Quit


If you need support or just want to chat with our community, we have the following options:

All these channels are linked to each other, so there is no need to worry about missing out.

We can also be reached on Twitter: @PextTool


Pext is licensed under the GNU GPLv3+, with exception of artwork and documentation, which are licensed under the Creative Commons Attribution Share-Alike 4.0 license.

Under artwork and documentation fall:

  • All files in the following directories:
    • docs/
    • pext/images/
    • screenshots/
    • .github/
  • All Markdown files in the root directory.
  • logo.png

When attributing the logo (which was donated by vaeringjar), it should be attributed as Lilly the leoger by White Paper Fox. Alternatively, it may be referred to as the Pext logo. Please link to Pext with or and to White Paper Fox with where possible.