# 🔥 PyBro CLI
<!-- BADGES -->
[![PyPI version](https://badge.fury.io/py/pybro-cli.svg)](https://badge.fury.io/py/pybro-cli)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/pybro-cli)](https://pypi.org/project/pybro-cli/0.1.7/)
[![Generic badge](https://img.shields.io/badge/Debian-24.04-blue.svg)](https://shields.io/)
[![Generic badge](https://img.shields.io/badge/XFCE-4.18-green.svg)](https://shields.io/)
[![GitHub license](https://img.shields.io/github/license/iTrauco/pybro)](https://github.com/iTrauco/pybro/blob/main/LICENSE)
![GitHub stars](https://img.shields.io/github/stars/iTrauco/pybro?style=social)
![GitHub forks](https://img.shields.io/github/forks/iTrauco/pybro?style=social)
![GitHub followers](https://img.shields.io/github/followers/iTrauco?label=Follow&style=social)
![Twitter Follow](https://img.shields.io/twitter/follow/iTrauco?style=social)
---
A Python-based CLI tool for managing Google Chrome profiles in Linux. Born from the need to quickly switch between Chrome profiles using keyboard shortcuts, especially when paired with XFCE's tiling window management. Create custom aliases to launch Chrome with specific profiles and URLs, then bind them to keyboard shortcuts for lightning-fast workflow management.
## 🚀 Why PyBro?
I built this tool because I needed a way to:
- Quickly switch between different Chrome profiles (work, personal, client projects)
- Launch specific URLs in the correct profile
- Bind these actions to keyboard shortcuts in XFCE
- Integrate with tiling window management
- Avoid clicking through Chrome's profile menu every time
## 💻 System Requirements
### Tested Environment
- **OS**: Debian 24.04
- **Desktop Environment**: XFCE 4.18
- **Shell**: Zsh
- **Browser**: Google Chrome (Latest Stable)
**Note:** Currently only tested and confirmed working on Debian 24.04 with XFCE 4.18. While it may work on other Linux distributions or desktop environments, the package is specifically developed and tested for this environment.
### Default Chrome Profile Path
```bash
~/.config/google-chrome/ # Linux (Debian/Ubuntu)
```
## 📦 Installation
```bash
# Install specific version from PyPI
pip install pybro-cli==0.1.7
# Or latest version
pip install pybro-cli
# Run the CLI
pybro
```
**PyPI Package:** [https://pypi.org/project/pybro-cli/0.1.7/](https://pypi.org/project/pybro-cli/0.1.7/)
## 🎯 Example Workflow
### 1. Create Work Profile Alias
```bash
# Run PyBro
pybro
# Select option 1
# Choose your work profile
# Enter: work-chrome
# Enter URL: https://workspace.google.com
```
### 2. Create Development Profile
```bash
pybro
# Create: dev-chrome
# Select Profile
# Enter URL: http://localhost:3000
```
### 3. Set Up XFCE Keyboard Shortcuts
1. Open XFCE Settings → Keyboard → Application Shortcuts
2. Click "Add"
3. Example mappings:
```
Command: work-chrome
Shortcut: Super + 1
Command: dev-chrome
Shortcut: Super + 2
```
### 4. Tiling Management
- Use XFCE's built-in tiling:
- Tile left: `Super + Left`
- Tile right: `Super + Right`
- Example workflow:
```bash
Super + 1 # Launch work profile
Super + Left # Tile to left
Super + 2 # Launch dev profile
Super + Right # Tile to right
```
## 📝 Notes & Limitations
- **Shell Support**: Built for Zsh, other shells may require syntax modifications
- **Chrome Profiles**: Uses standard Chrome profile structure at `~/.config/google-chrome/`
- **Desktop Environment**: Optimized for XFCE 4.18 keyboard shortcuts and window management
- **URL Support**: Handles complex URLs with query parameters and special characters
- **Shell Reload**: May require manual `source ~/.zshrc` after creating new aliases
## 👥 Contact & Social
🧑💻 **Chris Trauco** - Senior Data Engineer @ [OGx Consulting](https://weareogx.com)
🔗 Connect with me:
- 🐙 GitHub: [@iTrauco](https://github.com/iTrauco)
- 🐦 Twitter: [@iTrauco](https://twitter.com/iTrauco)
- 💼 LinkedIn: [Chris Trauco](https://linkedin.trau.co)
- 📧 Email: dev@trau.co
🌐 Project Link: [https://github.com/iTrauco/pybro](https://github.com/iTrauco/pybro)
---
Made with ❤️ by [Chris Trauco](https://github.com/iTrauco)
Raw data
{
"_id": null,
"home_page": "https://github.com/iTrauco/pybro",
"name": "pybro-cli",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "cli, chrome, profile, manager, debian, linux, development, tools",
"author": "Chris Trauco",
"author_email": "dev@trau.co",
"download_url": "https://files.pythonhosted.org/packages/53/1d/01224da3775b1889efab8a1cc321ea383ee4f830698ac64bb18fab1692f6/pybro_cli-0.1.8.tar.gz",
"platform": null,
"description": "# \ud83d\udd25 PyBro CLI\n\n<!-- BADGES -->\n[![PyPI version](https://badge.fury.io/py/pybro-cli.svg)](https://badge.fury.io/py/pybro-cli)\n[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/pybro-cli)](https://pypi.org/project/pybro-cli/0.1.7/)\n[![Generic badge](https://img.shields.io/badge/Debian-24.04-blue.svg)](https://shields.io/)\n[![Generic badge](https://img.shields.io/badge/XFCE-4.18-green.svg)](https://shields.io/)\n[![GitHub license](https://img.shields.io/github/license/iTrauco/pybro)](https://github.com/iTrauco/pybro/blob/main/LICENSE)\n![GitHub stars](https://img.shields.io/github/stars/iTrauco/pybro?style=social)\n![GitHub forks](https://img.shields.io/github/forks/iTrauco/pybro?style=social)\n![GitHub followers](https://img.shields.io/github/followers/iTrauco?label=Follow&style=social)\n![Twitter Follow](https://img.shields.io/twitter/follow/iTrauco?style=social)\n\n---\n\nA Python-based CLI tool for managing Google Chrome profiles in Linux. Born from the need to quickly switch between Chrome profiles using keyboard shortcuts, especially when paired with XFCE's tiling window management. Create custom aliases to launch Chrome with specific profiles and URLs, then bind them to keyboard shortcuts for lightning-fast workflow management.\n\n## \ud83d\ude80 Why PyBro?\n\nI built this tool because I needed a way to:\n- Quickly switch between different Chrome profiles (work, personal, client projects)\n- Launch specific URLs in the correct profile\n- Bind these actions to keyboard shortcuts in XFCE\n- Integrate with tiling window management\n- Avoid clicking through Chrome's profile menu every time\n\n## \ud83d\udcbb System Requirements\n\n### Tested Environment\n- **OS**: Debian 24.04\n- **Desktop Environment**: XFCE 4.18\n- **Shell**: Zsh\n- **Browser**: Google Chrome (Latest Stable)\n\n**Note:** Currently only tested and confirmed working on Debian 24.04 with XFCE 4.18. While it may work on other Linux distributions or desktop environments, the package is specifically developed and tested for this environment.\n\n### Default Chrome Profile Path\n```bash\n~/.config/google-chrome/ # Linux (Debian/Ubuntu)\n```\n\n## \ud83d\udce6 Installation\n\n```bash\n# Install specific version from PyPI\npip install pybro-cli==0.1.7\n\n# Or latest version\npip install pybro-cli\n\n# Run the CLI\npybro\n```\n\n**PyPI Package:** [https://pypi.org/project/pybro-cli/0.1.7/](https://pypi.org/project/pybro-cli/0.1.7/)\n\n## \ud83c\udfaf Example Workflow\n\n### 1. Create Work Profile Alias\n```bash\n# Run PyBro\npybro\n\n# Select option 1\n# Choose your work profile\n# Enter: work-chrome\n# Enter URL: https://workspace.google.com\n```\n\n### 2. Create Development Profile\n```bash\npybro\n# Create: dev-chrome\n# Select Profile\n# Enter URL: http://localhost:3000\n```\n\n### 3. Set Up XFCE Keyboard Shortcuts\n1. Open XFCE Settings \u2192 Keyboard \u2192 Application Shortcuts\n2. Click \"Add\"\n3. Example mappings:\n ```\n Command: work-chrome\n Shortcut: Super + 1\n \n Command: dev-chrome\n Shortcut: Super + 2\n ```\n\n### 4. Tiling Management\n- Use XFCE's built-in tiling:\n - Tile left: `Super + Left`\n - Tile right: `Super + Right`\n- Example workflow:\n ```bash\n Super + 1 # Launch work profile\n Super + Left # Tile to left\n Super + 2 # Launch dev profile\n Super + Right # Tile to right\n ```\n\n## \ud83d\udcdd Notes & Limitations\n\n- **Shell Support**: Built for Zsh, other shells may require syntax modifications\n- **Chrome Profiles**: Uses standard Chrome profile structure at `~/.config/google-chrome/`\n- **Desktop Environment**: Optimized for XFCE 4.18 keyboard shortcuts and window management\n- **URL Support**: Handles complex URLs with query parameters and special characters\n- **Shell Reload**: May require manual `source ~/.zshrc` after creating new aliases\n\n## \ud83d\udc65 Contact & Social\n\n\ud83e\uddd1\u200d\ud83d\udcbb **Chris Trauco** - Senior Data Engineer @ [OGx Consulting](https://weareogx.com)\n\n\ud83d\udd17 Connect with me:\n- \ud83d\udc19 GitHub: [@iTrauco](https://github.com/iTrauco)\n- \ud83d\udc26 Twitter: [@iTrauco](https://twitter.com/iTrauco)\n- \ud83d\udcbc LinkedIn: [Chris Trauco](https://linkedin.trau.co)\n- \ud83d\udce7 Email: dev@trau.co\n\n\ud83c\udf10 Project Link: [https://github.com/iTrauco/pybro](https://github.com/iTrauco/pybro)\n\n---\nMade with \u2764\ufe0f by [Chris Trauco](https://github.com/iTrauco)\n",
"bugtrack_url": null,
"license": null,
"summary": "\ud83d\udd25 PyBro CLI - A Collection of Python Dev Tools for Debian 24.04",
"version": "0.1.8",
"project_urls": {
"Homepage": "https://github.com/iTrauco/pybro"
},
"split_keywords": [
"cli",
" chrome",
" profile",
" manager",
" debian",
" linux",
" development",
" tools"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "2474cfd40031bcc6a7029359aa78ad5677868df227587971bd80738af65b1711",
"md5": "27b5a466d824803f395607b8cc90894b",
"sha256": "342f829082aef2a0b9d3a96f3f0feb2526d3a66a189ac81d780a10c28bcfc37b"
},
"downloads": -1,
"filename": "pybro_cli-0.1.8-py3-none-any.whl",
"has_sig": false,
"md5_digest": "27b5a466d824803f395607b8cc90894b",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 16563,
"upload_time": "2024-11-25T02:37:24",
"upload_time_iso_8601": "2024-11-25T02:37:24.395220Z",
"url": "https://files.pythonhosted.org/packages/24/74/cfd40031bcc6a7029359aa78ad5677868df227587971bd80738af65b1711/pybro_cli-0.1.8-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "531d01224da3775b1889efab8a1cc321ea383ee4f830698ac64bb18fab1692f6",
"md5": "e8af0c305e03a49411531572c29645bc",
"sha256": "6f61b7f1197d2991017d071ccde94bf0a2b624c34d2cf2e353951f9fbdafde7c"
},
"downloads": -1,
"filename": "pybro_cli-0.1.8.tar.gz",
"has_sig": false,
"md5_digest": "e8af0c305e03a49411531572c29645bc",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 15026,
"upload_time": "2024-11-25T02:37:26",
"upload_time_iso_8601": "2024-11-25T02:37:26.129522Z",
"url": "https://files.pythonhosted.org/packages/53/1d/01224da3775b1889efab8a1cc321ea383ee4f830698ac64bb18fab1692f6/pybro_cli-0.1.8.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-25 02:37:26",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "iTrauco",
"github_project": "pybro",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "rich",
"specs": [
[
">=",
"10.0.0"
]
]
},
{
"name": "pathlib",
"specs": [
[
">=",
"1.0.1"
]
]
},
{
"name": "typing",
"specs": [
[
">=",
"3.7.4"
]
]
},
{
"name": "pytest",
"specs": [
[
">=",
"7.0.0"
]
]
},
{
"name": "black",
"specs": [
[
">=",
"22.0.0"
]
]
},
{
"name": "flake8",
"specs": [
[
">=",
"4.0.0"
]
]
}
],
"lcname": "pybro-cli"
}