Metadata-Version: 2.1
Name: wrangl
Version: 0.0.9
Summary: Parallel data preprocessing for NLP and ML.
Home-page: https://github.com/r2llab/wrangl
Author: Victor Zhong
Author-email: victor@victorzhong.com
License: Apache 2
Keywords: text nlp machine-learning
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Requires-Python: >3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: ujson
Requires-Dist: plotille
Requires-Dist: pandas
Requires-Dist: pdoc
Requires-Dist: wandb
Requires-Dist: hydra-core
Requires-Dist: hydra-submitit-launcher
Requires-Dist: lightning
Requires-Dist: gitpython
Requires-Dist: seaborn
Provides-Extra: dev
Requires-Dist: check-manifest; extra == "dev"
Requires-Dist: pdoc; extra == "dev"
Requires-Dist: twine; extra == "dev"
Provides-Extra: test
Requires-Dist: coverage; extra == "test"
Requires-Dist: nose; extra == "test"

# Wrangl

[![Tests](https://github.com/r2llab/wrangl/actions/workflows/test.yml/badge.svg)](https://github.com/r2llab/wrangl/actions/workflows/test.yml)

Fast experiments for NLP and ML.
See [docs here](https://r2llab.github.io/wrangl/).

## Why?
I built this library to prototype ideas quickly.
In essence it combines [Hydra](https://hydra.cc) and [Pytorch Lightning](https://www.pytorchlightning.ai) for supervised learning.
The following are supported with command line or config tweaks (e.g. no additional boilerplate code):

- checkpointing
- early stopping
- auto git diffs
- logging to  wandb
- Slurm launcher


## Installation

```bash
pip install -e .  # add [dev] if you want to run tests and build docs.

# for latest
pip install git+https://github.com/r2llab/wrangl

# pypi release
pip install wrangl
```

## Usage

See [the documentation](https://wrangl.pages.dev) for how to use Wrangl.
Examples of projects using Wrangl are found in `wrangl.examples`.
In particular `wrangl.examples.learn.xor_clf` shows an example of using Wrangl to quickly set up a supervised classification task.
