CLI tool for publishing tools and UI modules to the BrowsEZ platform
Project description
BrowsEZ CLI
A command-line tool for publishing tools and UI modules to the BrowsEZ platform.
Installation
From PyPI
pip install browsez-cli
From Source (GitHub)
# Clone and install in editable mode
cd cli-mode
pip install -e .
Quick Start
# Login to the platform
browsez login
# Validate a tool before publishing
browsez validate path/to/tool_directory
# Publish a tool
browsez publish path/to/tool_directory
Commands
| Command | Description |
|---|---|
browsez login |
Login to the BrowsEZ platform |
browsez logout |
Clear the current session |
browsez validate <dir> |
Validate a tool without uploading |
browsez publish <dir> |
Publish a tool to the backend |
browsez publish-ui <dir> |
Publish a UI module (coming soon) |
browsez config show |
Show current configuration |
browsez config set <key> <value> |
Set a config value |
Configuration
The CLI uses a .toolrc.json file for configuration. It is auto-created on first run:
{
"api_base_url": "https://browsez-platform-backend-production.up.railway.app",
"tenant_id": "sample-tenant-123",
"default_risk_level": "MEDIUM",
"upload_timeout": 300,
"retry_attempts": 3
}
Override settings via CLI:
browsez config set api-url https://api.example.com
browsez config set risk-level HIGH
Tool Directory Structure
A valid tool directory must have:
tool_name/
├── tool.yaml # Metadata (name, inputs, outputs)
├── requirements.txt # Python dependencies
└── src/
├── __init__.py
└── main.py # Entry point (run function, Input/Output classes)
Development
# Install with dev dependencies
pip install -e ".[dev]"
# Build the package
python -m build
# Upload to PyPI (requires twine and credentials)
twine upload dist/*
Features
- Strict Schema Validation: Ensures tools meet all requirements before packaging
- Deterministic Packaging: Creates consistent zip files with content-based hashing (SHA-256)
- Secure Uploads: Uses pre-signed S3 URLs for artifacts
- Configurable: Supports configuration via file, CLI arguments, and defaults
- Resilient: Implements retry logic and exponential backoff for network operations
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
browsez_cli-0.1.1.tar.gz
(13.8 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file browsez_cli-0.1.1.tar.gz.
File metadata
- Download URL: browsez_cli-0.1.1.tar.gz
- Upload date:
- Size: 13.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b7d7d3b4e5b566576426365d8c8beadaff6dac9e4d8104b8729b3cb6a8d09fce
|
|
| MD5 |
f4416f2a350fff375874273ef05ae565
|
|
| BLAKE2b-256 |
f6fc2a713599a97e9adbc5442b01d510ddd69cb1033a1368d39f438a6a6d525f
|
File details
Details for the file browsez_cli-0.1.1-py3-none-any.whl.
File metadata
- Download URL: browsez_cli-0.1.1-py3-none-any.whl
- Upload date:
- Size: 15.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c2c1c93f830bba634fc37b4c631bac53aefc2856ed2adc5faef3187d51e2e7f2
|
|
| MD5 |
6a185c649ef46ad8333c5b40e728b6d8
|
|
| BLAKE2b-256 |
4ae2c8cb0c2f1794c087192e9a977da1bcec8bf17762eb0106756545db329e8b
|