Python-based extendable tool https://pext.hackerchick.me/
|Sylvia van Os f9d23ca2d2 Update manpage||1 week ago|
|docs||4 months ago|
|pext||1 week ago|
|pext_dev||1 month ago|
|.gitignore||2 weeks ago|
|CHANGELOG.md||1 week ago|
|CONTRIBUTING.md||1 month ago|
|LICENSE||1 year ago|
|MANIFEST.in||1 year ago|
|README.md||3 weeks ago|
|logo.png||5 months ago|
|pext.1||1 week ago|
|pext.desktop||9 months ago|
|screenshot.jpg||4 months ago|
|screenshot2.jpg||4 months ago|
|setup.py||3 weeks ago|
|tox.ini||11 months ago|
|workflow_graph.dot||1 month ago|
|workflow_graph.png||1 month ago|
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 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:
sudo pacman -S git python-pip libnotify python-pyqt5 qt5-quickcontrols
sudo apt-get install git libnotify-bin python3-pip python3-pyqt5.qtquick qml-module-qtquick-controls
You may also need to install libssl1.0-dev due to what seems like a Debian packaging issue. See https://stackoverflow.com/a/42297296 for more info.
sudo dnf install git libnotify python3-pip python3-qt5 qt5-qtquickcontrols
nix-shell -p git libnotify python3Packages.pip python3Packages.pyqt5 qt5.qtquickcontrols
sudo zypper install git libnotify-tools python3-pip python3-qt5
Before running the Install Certificates command, which is only necessary to be able to retrieve the online module list, please read https://bugs.python.org/msg283984.
brew install python3 qt5 git libnotify pip3 install pyqt5 urllib3 certifi /Applications/Python\ 3.6/Install\ Certificates.command
After this, a .app file can be generated using the following command:
python3 setup.py py2app -A --emulate-shell-environment
The .app file appears in the dist directory and can be dragged to "My Applications". Please note that actual py2app buils do not work yet. This is an aliased build, so it will break if you delete your git clone.
Pext does not need to be installed to run. However, if you prefer to install it, you can do so:
# pip3 install . --upgrade --no-deps
This also installs pext_dev, to aid module development.
Simply start Pext with Python 3. If you have installed Pext using the above
command, simply start
pext. Otherwise, go to the project's root directory and
To actually use Pext, you will first have to install one or more modules. Check
out the Pext organisation on
GitHub or NotABug
Install module ->
From online module list in the
application for a list of modules.
For command line options, use
Your distribution may ship with an outdated version of pip. Run
pip install --upgrade pip (possibly as root) in a terminal.
The proprietary NVIDIA driver is known to cause this issue on at least Ubuntu.
You can work around this by running
sudo apt-get install python3-opengl.
Pext user report: https://github.com/Pext/Pext/issues/11
Ubuntu bug: https://bugs.launchpad.net/ubuntu/+source/python-qt4/+bug/941826
The Homebrew team completely broke pip's --target flag, which Pext depends on.
To work around this, Pext automatically creates a
which resets the broken Homebrew pip defaults and deletes this file after its
done installing module dependencies.
As a side effect, this means that using brew install or pip install while Pext
is installing module dependencies may fail. If you cannot use brew install or
pip install at all anymore after Pext crashed, please delete
~/.pydistutils.cfg if it exists.
The Homebrew team refuses to fix this issue: https://github.com/Homebrew/brew/issues/837
<number>: Switch to tab