Metadata-Version: 2.4
Name: botgauge-cli
Version: 0.1.1
Summary: The botgauge command-line tool: one entry point for every installed BotGauge component.
Author-email: "BotGauge AI Inc." <support@botgauge.com>
License-Expression: FSL-1.1-ALv2
Project-URL: Homepage, https://www.botgauge.com/
Keywords: botgauge,cli
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Environment :: Console
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file

<p align="center">
  <a href="https://www.botgauge.com/"><img src="https://www.botgauge.com/og_images/web-app-manifest-512x512.png" alt="BotGauge" width="80"></a>
</p>

<h1 align="center">botgauge-cli</h1>

<p align="center">
  The <code>botgauge</code> command: one entry point for every installed BotGauge component.
</p>

<p align="center">
  <a href="https://pypi.org/project/botgauge-cli/"><img src="https://img.shields.io/pypi/v/botgauge-cli?style=flat-square&label=pypi%20botgauge-cli" alt="PyPI version"></a>
  <a href="https://pypi.org/project/botgauge-cli/"><img src="https://img.shields.io/pypi/pyversions/botgauge-cli?style=flat-square" alt="Python versions"></a>
  <img src="https://img.shields.io/badge/dependencies-standard%20library%20only-success?style=flat-square" alt="Standard library only">
  <img src="https://img.shields.io/badge/license-FSL--1.1--ALv2-blue?style=flat-square" alt="License: FSL-1.1-ALv2">
</p>

`botgauge-cli` owns the `botgauge` console script (and its short alias, `botg`) and hands each command
to the installed BotGauge component that provides it. It is a building block: install
[`botgauge`](https://pypi.org/project/botgauge/), which brings this command together with the tracing
SDK that provides its commands.

## Install

```bash
pip install botgauge          # the tracing SDK and this command
botgauge setup --install      # adds tracing for the frameworks your app uses
```

On its own, `botgauge-cli` only runs `botgauge help` and `botgauge version`; the other commands come
from `botgauge-tracing`, and `botgauge help` says how to install whatever is missing.

## Commands

| Command | What it does | Provided by |
|---|---|---|
| `botgauge help` | Lists every installed command, and which package provides the ones that are missing | `botgauge-cli` |
| `botgauge version` | Shows the installed BotGauge versions | `botgauge-cli` |
| `botgauge instrument python app.py` | Traces an existing app without changing its code | [`botgauge-tracing`](https://pypi.org/project/botgauge-tracing/) |
| `botgauge doctor` | Read-only check of the tracing setup in the current process | `botgauge-tracing` |
| `botgauge setup --detect` | Recommends the framework extras to install, without installing anything | `botgauge-tracing` |
| `botgauge probe --endpoint URL` | Sends one diagnostic span and confirms the endpoint accepted it | `botgauge-tracing` |

`botg` works everywhere `botgauge` does: `botg instrument python app.py`.

## How it works

Components register commands in the `botgauge.commands` entry-point group. Top-level names are
reserved per package (`src/botgauge/cli/_names.py`), so one package can never take over another's
command. It uses the standard library only, and every BotGauge component depends on it.

## Links

- Website: [botgauge.com](https://www.botgauge.com/)
- Console and API keys: [cloud.botgauge.com](https://cloud.botgauge.com)
- Support: [support@botgauge.com](mailto:support@botgauge.com)
