Metadata-Version: 2.1
Name: bia-bob
Version: 0.3.0
Summary: A Jupyter-based assistant for data analysis tasks
Home-page: https://github.com/haesleinhuepf/bia-tischi
Author: Robert Haase, Christian Tischer
Author-email: robert.haase@tu-dresden.de
License: BSD-3-Clause
Project-URL: Bug Tracker, https://github.com/haesleinhuepf/bia-bob/issues
Project-URL: Documentation, https://github.com/haesleinhuepf/bia-bob#README.md
Project-URL: Source Code, https://github.com/haesleinhuepf/bia-bob
Project-URL: User Support, https://github.com/haesleinhuepf/bia-bob/issues
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Topic :: Scientific/Engineering :: Image Processing
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy
Requires-Dist: openai
Requires-Dist: ipython
Provides-Extra: testing
Requires-Dist: tox; extra == "testing"
Requires-Dist: pytest; extra == "testing"
Requires-Dist: pytest-cov; extra == "testing"

# bia-bob

BIA `bob` is a Jupyter-based assistant for interacting with data using generated python code. It is based on [OpenAI's API](https://openai.com/blog/openai-api). You need an openai API account to use it.

![img.png](https://github.com/haesleinhuepf/bia-bob/raw/main/docs/images/screencast.gif)

## Usage

You can initialize Bob like this:
```
from bia_bob import bob
```

Afterwards, you can ask Bob questions like this:
```
%bob Load blobs.tif and show it
```

It will then respond with a python code snippet that you can execute ([see full example](https://github.com/haesleinhuepf/bia-bob/blob/main/demo/analysis_workflow.ipynb)):

```
from skimage.io import imread
import stackview

image = imread('blobs.tif')
stackview.insight(image)
```

![img.png](https://github.com/haesleinhuepf/bia-bob/raw/main/docs/images/load_and_show_blobs.png)

## Known issues

If you want to ask `bob` a question, you need to put a space before the `?`.

```
%bob What do you know about blobs.tif ?
```

## Installation

You can install `bia-bob` using pip. it is recommended to install it into via conda/mamba environment. If you have never used conda before, please [read this guide first](https://biapol.github.io/blog/mara_lampert/getting_started_with_mambaforge_and_python/readme.html).  

```
mamba create --name bt39 python=3.9 git
mamba activate bt39
pip install bia-bob
```

## Similar projects

There are similar projects offering LLM-based support in Jupyter notebooks:
* [jupyter-ai](https://github.com/jupyterlab/jupyter-ai)

## Issues

If you encounter any problems or want to provide feedback or suggestions, please create a thread on [image.sc](https://image.sc) along with a detailed description and tag [@haesleinhuepf].





