Metadata-Version: 2.1
Name: braintrust
Version: 0.0.120
Summary: SDK for integrating Braintrust
Home-page: https://www.braintrustdata.com
Author: Braintrust
Author-email: info@braintrustdata.com
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Requires-Python: >=3.8.0
Description-Content-Type: text/markdown
Requires-Dist: GitPython
Requires-Dist: requests
Requires-Dist: chevron
Requires-Dist: braintrust_core==0.0.31
Requires-Dist: tqdm
Requires-Dist: exceptiongroup==1.2.0
Provides-Extra: cli
Requires-Dist: boto3; extra == "cli"
Requires-Dist: psycopg2-binary; extra == "cli"
Provides-Extra: dev
Requires-Dist: black; extra == "dev"
Requires-Dist: build; extra == "dev"
Requires-Dist: flake8; extra == "dev"
Requires-Dist: flake8-isort; extra == "dev"
Requires-Dist: IPython; extra == "dev"
Requires-Dist: isort==5.10.1; extra == "dev"
Requires-Dist: pre-commit; extra == "dev"
Requires-Dist: pytest; extra == "dev"
Requires-Dist: twine; extra == "dev"
Provides-Extra: doc
Requires-Dist: pydoc-markdown; extra == "doc"
Provides-Extra: all
Requires-Dist: IPython; extra == "all"
Requires-Dist: black; extra == "all"
Requires-Dist: boto3; extra == "all"
Requires-Dist: build; extra == "all"
Requires-Dist: flake8; extra == "all"
Requires-Dist: flake8-isort; extra == "all"
Requires-Dist: isort==5.10.1; extra == "all"
Requires-Dist: pre-commit; extra == "all"
Requires-Dist: psycopg2-binary; extra == "all"
Requires-Dist: pydoc-markdown; extra == "all"
Requires-Dist: pytest; extra == "all"
Requires-Dist: twine; extra == "all"

## Braintrust

A Python library for logging data to Braintrust. `braintrust` is distributed as
a [library on PyPI](https://pypi.org/project/braintrust/). It is open source and
[available on GitHub](https://github.com/braintrustdata/braintrust-sdk/tree/main/py).

### Quickstart

Install the library with pip.

```bash
pip install braintrust
```

Then, run a simple experiment with the following code (replace `YOUR_API_KEY` with
your Braintrust API key):

```python
from braintrust import Eval

def is_equal(expected, output):
    return expected == output

Eval(
  "Say Hi Bot",
  data=lambda: [
      {
          "input": "Foo",
          "expected": "Hi Foo",
      },
      {
          "input": "Bar",
          "expected": "Hello Bar",
      },
  ],  # Replace with your eval dataset
  task=lambda input: "Hi " + input,  # Replace with your LLM call
  scores=[is_equal],
)
```
