Metadata-Version: 2.1
Name: triangulate
Version: 0.1.0
Summary: Bug localization by reinforcement learning
Keywords: 
Author-email: triangulate authors <triangulate-automated@google.com>
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Intended Audience :: Science/Research
Requires-Dist: absl-py
Requires-Dist: numpy
Requires-Dist: rich
Requires-Dist: python-magic
Requires-Dist: pytest ; extra == "dev"
Requires-Dist: pytest-xdist ; extra == "dev"
Requires-Dist: pylint>=2.6.0 ; extra == "dev"
Requires-Dist: pytype ; extra == "dev"
Requires-Dist: pyink ; extra == "dev"
Project-URL: changelog, https://github.com/google-research/triangulate/blob/main/CHANGELOG.md
Project-URL: homepage, https://github.com/google-research/triangulate
Project-URL: repository, https://github.com/google-research/triangulate
Provides-Extra: dev

# Triangulate

Triangulate is a research project to improve bug localization by using
reinforcement learning.

[![Unittests](https://github.com/google-research/triangulate/actions/workflows/pytest_and_autopublish.yml/badge.svg)](https://github.com/google-research/triangulate/actions/workflows/pytest_and_autopublish.yml)
[![PyPI version](https://badge.fury.io/py/triangulate.svg)](https://badge.fury.io/py/triangulate)

*This is not an officially supported Google product.*

## Installation

Run the following command to install Triangulate.

```
pip3 install -e .
```

## Usage

Triangulate is designed to wrap a standard Python script invocation (a "subject" program), similar to `pdb`:

```
python3 -m triangulate.main [flags...] subject -- [subject_args...]
```

Under the hood, Triangulate runs `subject [subject_args...]`. If an exception is raised, Triangulate uses information from the exception to begin bug localization.

## Examples

```
python3 -m triangulate.main --max_steps 5 -- triangulate/testdata/quoter.py -- --index 1
```

