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.

📦 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
# or
$ python -m virtualenv .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 browser (won't appear in the `found` arg)
$ pybrowsers --disable firefox
# or
$ pybrowsers -d firefox
# 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 (Maybe in the future, create a interactive menu for add browser)

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.7.tar.gz (56.5 kB view hashes)

Uploaded Source

Built Distribution

pybrowsers_profiles-0.0.7-py3-none-any.whl (7.4 kB view hashes)

Uploaded Python 3

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