Compare commits

..

1 Commits

Author SHA1 Message Date
daniel156161 9df5e1bd8f chore(release): publish as real-browser-cli
Testing / remote-protocol-compat (0.9.5) (push) Successful in 40s
Testing / remote-protocol-compat (0.9.3) (push) Successful in 42s
Package Extension / package-extension (push) Successful in 32s
Build & Publish Package / publish (push) Successful in 25s
Testing / test (push) Successful in 31s
- Rename the PyPI distribution from browser-cli to real-browser-cli after PyPI rejected the original name as too similar to an existing project.
- Keep the installed console command as browser-cli so user-facing CLI usage remains unchanged.
- Add README-based package metadata, author information, and project URLs so PyPI renders a proper project description.
- Centralize the PyPI distribution name for importlib.metadata version lookups used by the CLI, doctor command, and remote user agent.
- Document uv tool install, optional fast extra installation, and upgrade commands.
- Bump package and extension metadata to 0.14.3 for the republished release.
2026-06-14 16:18:12 +02:00
8 changed files with 81 additions and 48 deletions
+24
View File
@@ -52,6 +52,30 @@ Every response:
**Requirements:** Python 3.10+, [uv](https://github.com/astral-sh/uv), Chrome, Chromium, Brave, Edge, Vivaldi
### Install with uv
Once published on PyPI, install the CLI as a uv tool:
```sh
uv tool install real-browser-cli
browser-cli --version
browser-cli install brave # or: chrome, chromium, edge, vivaldi
```
The PyPI package is named `real-browser-cli`; the installed command is still `browser-cli`.
For better remote-response compression, install the optional `fast` extra:
```sh
uv tool install "real-browser-cli[fast]"
```
To upgrade later:
```sh
uv tool upgrade real-browser-cli
```
### Install from source
```sh
git clone <repo>
cd browser-cli
+2 -1
View File
@@ -35,6 +35,7 @@ from browser_cli.commands.serve_http import cmd_serve_http
from browser_cli.commands.watch import watch_group
from browser_cli.commands.workspace import workspace_group
from browser_cli.commands.raw import cmd_command
from browser_cli.constants import PYPI_PACKAGE_NAME
console = Console()
@@ -63,7 +64,7 @@ def _project_version() -> str:
pass
try:
return package_version("browser-cli")
return package_version(PYPI_PACKAGE_NAME)
except PackageNotFoundError:
return "unknown"
+2 -2
View File
@@ -11,7 +11,7 @@ from rich.table import Table
from browser_cli.commands import handle_errors, client_from_ctx
from browser_cli.client import active_browser_targets
from browser_cli.constants import NATIVE_HOST_DIRS, NATIVE_HOST_NAME
from browser_cli.constants import NATIVE_HOST_DIRS, NATIVE_HOST_NAME, PYPI_PACKAGE_NAME
from browser_cli.platform import is_windows
console = Console()
@@ -26,7 +26,7 @@ def _project_version() -> str:
except OSError:
pass
try:
return package_version("browser-cli")
return package_version(PYPI_PACKAGE_NAME)
except PackageNotFoundError:
return "unknown"
+1
View File
@@ -9,6 +9,7 @@ import os
from pathlib import Path
APP_NAME = "browser-cli"
PYPI_PACKAGE_NAME = "real-browser-cli"
RUNTIME_DIRNAME = ".browser_cli"
DEFAULT_ALIAS = "default"
+2 -2
View File
@@ -1,6 +1,6 @@
from importlib.metadata import version as _pkg_version
from browser_cli.constants import MAX_MSG_BYTES, PROTOCOL_MIN_CLIENT
from browser_cli.constants import MAX_MSG_BYTES, PROTOCOL_MIN_CLIENT, PYPI_PACKAGE_NAME
def parse_version(v: str) -> tuple[int, ...]:
try:
@@ -10,7 +10,7 @@ def parse_version(v: str) -> tuple[int, ...]:
def get_installed_version() -> str:
try:
return _pkg_version("browser-cli")
return _pkg_version(PYPI_PACKAGE_NAME)
except Exception:
return "0.0.0"
+1 -1
View File
@@ -1,7 +1,7 @@
{
"manifest_version": 3,
"name": "browser-cli",
"version": "0.14.2",
"version": "0.14.3",
"description": "Control your browser from the terminal or Python SDK",
"permissions": [
"tabs",
+9 -2
View File
@@ -1,8 +1,10 @@
[project]
name = "browser-cli"
version = "0.14.2"
name = "real-browser-cli"
version = "0.14.3"
description = "Control your real running browser from the terminal or Python SDK"
readme = "README.md"
license = { file = "LICENSE" }
authors = [{ name = "Daniel Dolezal" }]
requires-python = ">=3.10"
dependencies = [
"click>=8",
@@ -11,6 +13,11 @@ dependencies = [
"msgpack>=1",
]
[project.urls]
Homepage = "https://git.yiprawr.dev/Automatisation/browser-cli"
Repository = "https://git.yiprawr.dev/Automatisation/browser-cli"
Issues = "https://git.yiprawr.dev/Automatisation/browser-cli/issues"
[project.optional-dependencies]
# Better/faster remote response compression than the stdlib zlib/gzip fallback.
fast = ["zstandard>=0.22"]
Generated
+40 -40
View File
@@ -2,46 +2,6 @@ version = 1
revision = 3
requires-python = ">=3.10"
[[package]]
name = "browser-cli"
version = "0.14.2"
source = { editable = "." }
dependencies = [
{ name = "click" },
{ name = "cryptography" },
{ name = "msgpack" },
{ name = "rich" },
]
[package.optional-dependencies]
fast = [
{ name = "zstandard" },
]
[package.dev-dependencies]
dev = [
{ name = "pytest" },
{ name = "pytest-cov" },
{ name = "zstandard" },
]
[package.metadata]
requires-dist = [
{ name = "click", specifier = ">=8" },
{ name = "cryptography", specifier = ">=48" },
{ name = "msgpack", specifier = ">=1" },
{ name = "rich", specifier = ">=13" },
{ name = "zstandard", marker = "extra == 'fast'", specifier = ">=0.22" },
]
provides-extras = ["fast"]
[package.metadata.requires-dev]
dev = [
{ name = "pytest", specifier = ">=8" },
{ name = "pytest-cov", specifier = ">=7.1.0" },
{ name = "zstandard", specifier = ">=0.22" },
]
[[package]]
name = "cffi"
version = "2.0.0"
@@ -503,6 +463,46 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/9d/7a/d968e294073affff457b041c2be9868a40c1c71f4a35fcc1e45e5493067b/pytest_cov-7.1.0-py3-none-any.whl", hash = "sha256:a0461110b7865f9a271aa1b51e516c9a95de9d696734a2f71e3e78f46e1d4678", size = 22876, upload-time = "2026-03-21T20:11:14.438Z" },
]
[[package]]
name = "real-browser-cli"
version = "0.14.3"
source = { editable = "." }
dependencies = [
{ name = "click" },
{ name = "cryptography" },
{ name = "msgpack" },
{ name = "rich" },
]
[package.optional-dependencies]
fast = [
{ name = "zstandard" },
]
[package.dev-dependencies]
dev = [
{ name = "pytest" },
{ name = "pytest-cov" },
{ name = "zstandard" },
]
[package.metadata]
requires-dist = [
{ name = "click", specifier = ">=8" },
{ name = "cryptography", specifier = ">=48" },
{ name = "msgpack", specifier = ">=1" },
{ name = "rich", specifier = ">=13" },
{ name = "zstandard", marker = "extra == 'fast'", specifier = ">=0.22" },
]
provides-extras = ["fast"]
[package.metadata.requires-dev]
dev = [
{ name = "pytest", specifier = ">=8" },
{ name = "pytest-cov", specifier = ">=7.1.0" },
{ name = "zstandard", specifier = ">=0.22" },
]
[[package]]
name = "rich"
version = "15.0.0"