Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
9df5e1bd8f
|
@@ -52,6 +52,30 @@ Every response:
|
|||||||
|
|
||||||
**Requirements:** Python 3.10+, [uv](https://github.com/astral-sh/uv), Chrome, Chromium, Brave, Edge, Vivaldi
|
**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
|
```sh
|
||||||
git clone <repo>
|
git clone <repo>
|
||||||
cd browser-cli
|
cd browser-cli
|
||||||
|
|||||||
+2
-1
@@ -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.watch import watch_group
|
||||||
from browser_cli.commands.workspace import workspace_group
|
from browser_cli.commands.workspace import workspace_group
|
||||||
from browser_cli.commands.raw import cmd_command
|
from browser_cli.commands.raw import cmd_command
|
||||||
|
from browser_cli.constants import PYPI_PACKAGE_NAME
|
||||||
|
|
||||||
console = Console()
|
console = Console()
|
||||||
|
|
||||||
@@ -63,7 +64,7 @@ def _project_version() -> str:
|
|||||||
pass
|
pass
|
||||||
|
|
||||||
try:
|
try:
|
||||||
return package_version("browser-cli")
|
return package_version(PYPI_PACKAGE_NAME)
|
||||||
except PackageNotFoundError:
|
except PackageNotFoundError:
|
||||||
return "unknown"
|
return "unknown"
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ from rich.table import Table
|
|||||||
|
|
||||||
from browser_cli.commands import handle_errors, client_from_ctx
|
from browser_cli.commands import handle_errors, client_from_ctx
|
||||||
from browser_cli.client import active_browser_targets
|
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
|
from browser_cli.platform import is_windows
|
||||||
|
|
||||||
console = Console()
|
console = Console()
|
||||||
@@ -26,7 +26,7 @@ def _project_version() -> str:
|
|||||||
except OSError:
|
except OSError:
|
||||||
pass
|
pass
|
||||||
try:
|
try:
|
||||||
return package_version("browser-cli")
|
return package_version(PYPI_PACKAGE_NAME)
|
||||||
except PackageNotFoundError:
|
except PackageNotFoundError:
|
||||||
return "unknown"
|
return "unknown"
|
||||||
|
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import os
|
|||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
APP_NAME = "browser-cli"
|
APP_NAME = "browser-cli"
|
||||||
|
PYPI_PACKAGE_NAME = "real-browser-cli"
|
||||||
RUNTIME_DIRNAME = ".browser_cli"
|
RUNTIME_DIRNAME = ".browser_cli"
|
||||||
DEFAULT_ALIAS = "default"
|
DEFAULT_ALIAS = "default"
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
from importlib.metadata import version as _pkg_version
|
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, ...]:
|
def parse_version(v: str) -> tuple[int, ...]:
|
||||||
try:
|
try:
|
||||||
@@ -10,7 +10,7 @@ def parse_version(v: str) -> tuple[int, ...]:
|
|||||||
|
|
||||||
def get_installed_version() -> str:
|
def get_installed_version() -> str:
|
||||||
try:
|
try:
|
||||||
return _pkg_version("browser-cli")
|
return _pkg_version(PYPI_PACKAGE_NAME)
|
||||||
except Exception:
|
except Exception:
|
||||||
return "0.0.0"
|
return "0.0.0"
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"manifest_version": 3,
|
"manifest_version": 3,
|
||||||
"name": "browser-cli",
|
"name": "browser-cli",
|
||||||
"version": "0.14.2",
|
"version": "0.14.3",
|
||||||
"description": "Control your browser from the terminal or Python SDK",
|
"description": "Control your browser from the terminal or Python SDK",
|
||||||
"permissions": [
|
"permissions": [
|
||||||
"tabs",
|
"tabs",
|
||||||
|
|||||||
+9
-2
@@ -1,8 +1,10 @@
|
|||||||
[project]
|
[project]
|
||||||
name = "browser-cli"
|
name = "real-browser-cli"
|
||||||
version = "0.14.2"
|
version = "0.14.3"
|
||||||
description = "Control your real running browser from the terminal or Python SDK"
|
description = "Control your real running browser from the terminal or Python SDK"
|
||||||
|
readme = "README.md"
|
||||||
license = { file = "LICENSE" }
|
license = { file = "LICENSE" }
|
||||||
|
authors = [{ name = "Daniel Dolezal" }]
|
||||||
requires-python = ">=3.10"
|
requires-python = ">=3.10"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"click>=8",
|
"click>=8",
|
||||||
@@ -11,6 +13,11 @@ dependencies = [
|
|||||||
"msgpack>=1",
|
"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]
|
[project.optional-dependencies]
|
||||||
# Better/faster remote response compression than the stdlib zlib/gzip fallback.
|
# Better/faster remote response compression than the stdlib zlib/gzip fallback.
|
||||||
fast = ["zstandard>=0.22"]
|
fast = ["zstandard>=0.22"]
|
||||||
|
|||||||
@@ -2,46 +2,6 @@ version = 1
|
|||||||
revision = 3
|
revision = 3
|
||||||
requires-python = ">=3.10"
|
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]]
|
[[package]]
|
||||||
name = "cffi"
|
name = "cffi"
|
||||||
version = "2.0.0"
|
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" },
|
{ 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]]
|
[[package]]
|
||||||
name = "rich"
|
name = "rich"
|
||||||
version = "15.0.0"
|
version = "15.0.0"
|
||||||
|
|||||||
Reference in New Issue
Block a user