Skip to main content

qutebrowser profile manager

PyPI version builds.sr.ht status

qbpm (qutebrowser profile manager) is a tool for creating, managing, and running qutebrowser profiles. Profile support isn't built in to qutebrowser, at least not directly, but it does have a --basedir flag which allows qutebrowser to use any directory as the location of its config and data and effectively act as a profile. qbpm creates profiles that source your main qutebrowser config.py, but have their own separate autoconfig.yml, bookmarks, cookies, history, and other data. Profiles can be run by starting qutebrowser with the appropriate --basedir, or more conveniently using the qbpm launch and qbpm choose commands.

qutebrowser shares session depending on the basedir, so launching the same profile twice will result in two windows sharing a session, which means running :quit in one will exit both and launching the profile again will reopen both windows. But launching two distinct profiles will start two entirely separate instances of qutebrowser which can be opened and closed independently.

Usage

To create a new profile called "python" and launch it with the python docs open:

$ qbpm new python
$ qbpm launch python docs.python.org

Note that all arguments after qbpm launch PROFILE are passed to qutebrowser, so options can be passed too: qbpm launch python --target window pypi.org.

If you have multiple profiles you can use qbpm choose to bring up a list of profiles and select one to launch. Depending on what your system has available the menu may be dmenu, fuzzel, fzf, an applescript dialog, or one of many other menu programs qbpm can detect. Any dmenu-compatible menu can be used with --menu, e.g. qbpm choose --menu 'fuzzel --dmenu'. As with qbpm launch, extra arguments are passed to qutebrowser.

Run qbpm --help to see other available commands.

By default when you create a new profile a .desktop file is created that launches the profile. This launcher does not depend on qbpm at all, so if you want you can run qbpm new once and keep using the profile without needing qbpm installed on your system.

Installation

If you use Nix, you can install or run qbpm as a Nix flake. For example, to run qbpm without installing it you can use nix run github:pvsr/qbpm -- new my-profile.

On Arch and derivatives, you can install the AUR package: qbpm-git.

Otherwise you can install directly from PyPI using uv, pip, or your preferred client. With uv it's uv tool run qbpm to run qbpm without installing and uv tool install qbpm to install to ~/.local/bin. The downside of going through PyPI is that the man page and shell completions will not be installed automatically.

On Linux you can copy contrib/qbpm.desktop to ~/.local/share/applications to create a qbpm desktop application that runs qbpm choose.

MacOS

Nix and uv will install qbpm as a command-line application, but if you want a native Mac application you can download contrib/qbpm.platypus, install platypus, and create a qbpm app with platypus -P qbpm.platypus /Applications/qbpm.app. That will also make qbpm available as a default browser in System Preferences > General > Default web browser.

Note that there is currently a qutebrowser bug that results in unnecessary file:///* tabs being opened.

Metadata

Release files for qbpm 2.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for qbpm 2.5
File Size Uploaded
qbpm-2.5.tar.gz 24.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for qbpm 2.5
File Interpreter ABI Platform
qbpm-2.5-py3-none-any.whl Python 3 none any Details

Total release size: 51.9 kB

Release files / qbpm-2.5.tar.gz

Download URL qbpm-2.5.tar.gz
Size 24.9 kB
Tags Source
SHA-256 checksum
How to use checksums
d79b869b0d5ee25d9c994b2cea63c1a4308083f8e3822a1f214c86ff9dd38d25
BLAKE2b-256 checksum
How to use checksums
eff4d15ee57032a769a3657ec050ff2c34edbd6570e285d2181f13d6cf8b9c26
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release files / qbpm-2.5-py3-none-any.whl

Download URL qbpm-2.5-py3-none-any.whl
Size 27.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
114e4f52d3ffa0df975f3c3478b7423b2d8521f08aaf5a9a4653491f31fbe276
BLAKE2b-256 checksum
How to use checksums
f7ec6ca9e213885d58a5a312e7defa862f5ecafa60d8bb99a4b8a530608d2988
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

2.5 This release

2 release files

2.4

2 release files

2.3

2 release files

2.2

2 release files

2.1

2 release files

2.0

2 release files

1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page