Skip to main content

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)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

browsez_cli-0.1.1-py3-none-any.whl (15.7 kB view details)

Uploaded Python 3

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

Hashes for browsez_cli-0.1.1.tar.gz
Algorithm Hash digest
SHA256 b7d7d3b4e5b566576426365d8c8beadaff6dac9e4d8104b8729b3cb6a8d09fce
MD5 f4416f2a350fff375874273ef05ae565
BLAKE2b-256 f6fc2a713599a97e9adbc5442b01d510ddd69cb1033a1368d39f438a6a6d525f

See more details on using hashes here.

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

Hashes for browsez_cli-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c2c1c93f830bba634fc37b4c631bac53aefc2856ed2adc5faef3187d51e2e7f2
MD5 6a185c649ef46ad8333c5b40e728b6d8
BLAKE2b-256 4ae2c8cb0c2f1794c087192e9a977da1bcec8bf17762eb0106756545db329e8b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page