Metadata-Version: 2.1
Name: braintrust
Version: 0.0.104
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: braintrust-core ==0.0.19
Requires-Dist: tqdm
Requires-Dist: exceptiongroup ==1.2.0
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'
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'

## 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],
)
```
