Metadata-Version: 2.1
Name: circrl
Version: 1.0.0
Summary: Tools for applying circuits-style interpretability techniques to RL agents.
Project-URL: Homepage, https://github.com/montemac/circrl
Author-email: montemac <m.macdiarmid@gmail.com>
License-File: LICENSE
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.8
Requires-Dist: bidict>=0.22.1
Requires-Dist: blosc>=1.11.1
Requires-Dist: einops>=0.6.0
Requires-Dist: gym>=0.21.0
Requires-Dist: holoviews>=1.15.2
Requires-Dist: hvplot>=0.8.1
Requires-Dist: moviepy>=1.0.3
Requires-Dist: numpy>=1.22.1
Requires-Dist: pandas>=1.5.2
Requires-Dist: scikit-learn>=1.2.1
Requires-Dist: torch>=1.13.1
Requires-Dist: tqdm>=4.64.1
Requires-Dist: xarray>=2022.12.0
Description-Content-Type: text/markdown

# CircRL

A small library of mech interp tools, primarily focused on
interpreting RL policies (though most of the tools are general).

The library has three main components:
- **Hooks**: Tools for hooking into PyTorch models that provide
  simple, safe wrappers around PyTorch forward hooks
  functionality and allow easy caching, patching and arbitrary hook
  functions.
- **Probing**: Tools for training linear probes on model activations
  (or any other data), including sparse probes.
- **Rollouts**: Tools for running rollouts and collectiong various
  kinds of data through a unified interface.

## Installation

CircRL is available on PyPI, and can be installed with pip:

```bash
pip install circrl
```

## Usage

A detailed, self-contained demo of CircRL is available in the
[CircRL demo notebook](demo.ipynb).

## License

CircRL is licensed under the MIT license.

## Citation

If you use CircRL in your research, please cite according to:

```bibtex
@misc{circrl,
  author    = {MacDiarmid, Monte},
  title     = {CircRL},
  year      = {2023},
  url       = {https://github.com/montemac/circrl}
}
```
