Skip to main content

Simple script for manage browser's profiles.

Project description

Python Hatch project linting - Ruff code style - Black types - Mypy License - MIT

Profile Launcher

A Python Script for Effortless Browser Profile Management

⭐ About

This Python script allows you to quickly launch browser profiles without having to manually navigate through the browser's settings. It reads the profile information from each browser's config directory and presents them as options for launch. This can save you time and improve your workflow if you frequently switch between multiple profiles.

The script currently supports all Chromium and Gecko-based browsers that use XDG config.

📦 Installation

Using pipx (recommended)

$ pipx install pybrowsers-profiles

pipx Homepage

Using pip install

# Clone repository
$ git clone "https://github.com/haaag/PyBrowsers-Profiles"
$ cd PyBrowsers-Profiles

# Create virtual environment & source
$ python -m venv .venv
$ source .venv/bin/activate
$ pip install .

🚀 Usage

$ pybrowsers --help

usage: pybrowsers [-l] [-d DISABLE] [-e ENABLE] [-f] [-m {{menu}}] [-v] [browser]

Simple script for manage browser's profiles

options:
    browser                     Browser name
    -e, --enable                Enable browser
    -d, --disable               Disable browser
    -f, --found                 Browsers found
    -l, --list                  Browser list and status
    -m, --menu                  Select menu (default: dmenu)
    -h, --help                  Show this help
    -v, --verbose               Verbose mode
# Open menu with profiles list
$ pybrowsers firefox
# Disable
$ pybrowsers firefox --disable
# Show status list
$ pybrowsers -l

> BROWSERS STATUS
 - Brave            (not found)
 - Chromium         (enabled)
 - Firefox          (disabled)
 - Chrome           (not found)
 - LibreWolf        (enabled)


Use the -m, --menu option to specify the launcher you want to use (default: dmenu)

$ pybrowsers firefox --menu rofi

➕ Add Browser

You can add a browser creating a json file in $XDG_DATA_HOME/pybrowsers/ or ~/.local/share/pybrowsers

Example

{
  "name": "LibreWolf",
  "command": "librewolf",
  "path": "~/.librewolf/profiles.ini",
  "engine": "gecko",
  "enabled": true
}

🌐 Browsers

⚡️ Requirements

🧰 TODO

  • Update screenshots
  • Create interactive menu for adding browser data
  • Please, use pathlib.Path
  • BUG: Issue when the profile name contains spaces
  • Add support for json files (Prioritize)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pybrowsers_profiles-0.0.4.tar.gz (51.3 kB view details)

Uploaded Source

Built Distribution

pybrowsers_profiles-0.0.4-py3-none-any.whl (7.3 kB view details)

Uploaded Python 3

File details

Details for the file pybrowsers_profiles-0.0.4.tar.gz.

File metadata

  • Download URL: pybrowsers_profiles-0.0.4.tar.gz
  • Upload date:
  • Size: 51.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for pybrowsers_profiles-0.0.4.tar.gz
Algorithm Hash digest
SHA256 80bf007269c044947ec42a72629ac3645c1545650166e07a15f076dbe1408ca3
MD5 f51bed0e3d801101d3c32b38c575250f
BLAKE2b-256 c50b37ca93804a07861160d4871b6b449ef6f03d9899ee3dcd03e2610eb135c7

See more details on using hashes here.

File details

Details for the file pybrowsers_profiles-0.0.4-py3-none-any.whl.

File metadata

File hashes

Hashes for pybrowsers_profiles-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 c3e283dcbf56815ae0d95d8aa6dc16f867bd70e2b3584b2a02b9815aedbb4d03
MD5 e4d0fd493148495f266a5931f40be8e4
BLAKE2b-256 3ba13e066926cfa1f902760b3c487e76c097b8280cbed127a541026997923f19

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page