Profile Launcher
A Python Script for Effortless Browser Profile Management
About
This Python script simplifies launching browser profiles by automatically retrieving profile information from each browser's config directory. It presents these profiles as launch options, saving time and enhancing workflow, especially for users who frequently switch between multiple profiles.
Requirements
Browsers
Installation
Using uv
$ uv tool install pybrowsers-profiles
Using pipx
$ pipx install pybrowsers-profiles
Using pip install
# Clone repository
$ git clone "https://github.com/mateconpizza/pybrowser"
$ cd pybrowsers
# Create virtual environment & source
$ python -m venv .venv && source .venv/bin/activate
# Install deps
$ (.venv ) pip install -r requirements.txt
# Install script in local environment
$ (.venv ) pip install .
Usage
$ pybrowsers --help
usage: pybrowsers [-l] [-d DISABLE] [-e ENABLE] [-f] [-t]
[-m MENU] [-v] [-V] [browser] [-o URL]
Simple script for manage browser's profiles
options:
browser Browser name
-e, --enable Enable browser
-d, --disable Disable browser
-u, --url Open <URL> in browser
-l, --list Show browsers list and status
-t, --table Show browsers list with detail
-m, --menu Select menu (default: dmenu)
-f, --found Browsers found
-V, --version Show version
-h, --help Show help
-v, --verbose Verbose mode
locations:
$HOME/.local/share/pybrowsers
Add Unsupported Browser
You can add a browser creating a JSON file in $XDG_DATA_HOME/pybrowsers/ or
~/.local/share/pybrowsers
Example
// firefox based
{
"name": "LibreWolf",
"command": "librewolf",
"path": "~/.librewolf/profiles.ini",
"engine": "gecko",
"enabled": true
}
// chromium based
{
"name": "Helium",
"command": "helium",
"path": "~/.config/helium/Local State",
"engine": "blink",
"enabled": true
}
Use no flags to launch menu
# Open menu with browsers found
$ pybrowsers
Use flag browser for browser's profile
# Open menu with profiles list
$ pybrowsers firefox
Use flag -o, --open for launching profile with url
Use flag -m, --menu to specify the launcher you want to use (default: dmenu)
Use flag -l, --list for status
Use flag -d, --disable or -e, --enable
# Disable browser (won't appear in `browsers found`)
$ pybrowsers -d firefox
# Enable browser
$ pybrowsers -e firefox
Dependencies
Metadata
Release files for pybrowsers-profiles 0.0.15
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pybrowsers_profiles-0.0.15.tar.gz | 21.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pybrowsers_profiles-0.0.15-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 31.5 kB
Release files / pybrowsers_profiles-0.0.15.tar.gz
| Download URL | pybrowsers_profiles-0.0.15.tar.gz |
|---|---|
| Size | 21.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1c94fb4f56f15777281bbe98f89d4366973707ec5299b4278fbea0af33242244
|
|
BLAKE2b-256 checksum How to use checksums |
d85952f7960ec7298a13362569f8fe1bc156abaca8143611e3e1996bb5964bb8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Void","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / pybrowsers_profiles-0.0.15-py3-none-any.whl
| Download URL | pybrowsers_profiles-0.0.15-py3-none-any.whl |
|---|---|
| Size | 9.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
87395d08c1aad4693af477425d64ac1909198f40263df312aa77929538e66439
|
|
BLAKE2b-256 checksum How to use checksums |
d5bcaf9d42e99fc988a4e9eb97206d08ef69ae5d45961bd19c62b8d246989137
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Void","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|