Metadata-Version: 2.2
Name: querysquirrel
Version: 0.1.10
Summary: A library for building and testing NLP models with PyTorch and Transformers.
Home-page: https://github.com/willarmstrong1/querysquirrel_library
Author: Will Armstrong, Thomas Burns, Caroline Cordes, Sarah Lawlis
Author-email: wma002@uark.edu
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: torch>=1.9.0
Requires-Dist: transformers>=4.12.0
Requires-Dist: sentence-transformers>=2.2.2
Requires-Dist: scikit-learn>=0.24.0
Requires-Dist: pandas>=1.3.0
Requires-Dist: numpy>=1.19.0
Requires-Dist: matplotlib>=3.4.3
Requires-Dist: seaborn>=0.11.2
Requires-Dist: dask[dataframe]>=2021.10.0
Requires-Dist: pyarrow>=5.0.0
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

<img src="https://raw.githubusercontent.com/willarmstrong1/querysquirrel_library/main/QuerySquirrelLogo.png" alt="QuerySquirrel Logo" width="400"/>


# QuerySquirrel
QuerySquirrel is a Python library for building, training, and testing NLP models using PyTorch and the Hugging Face Transformers library. It simplifies model development by providing high-level utilities for data handling, model training, evaluation, and fine-tuning.
---

## Table of Contents
- [Features](#features)
- [Installation](#installation)
  - [Install from PyPI](#install-from-pypi)
  - [Dependencies](#dependencies)
- [Usage](#usage)
  - [Quick Start](#quick-start)
- [Contributing](#contributing)
- [License](#license)

---

## Features
- **Easy Dataset Handling**: Load and preprocess text data efficiently.
- **Model Training and Fine-tuning**: Train Transformer-based models with minimal code.
- **Evaluation Metrics**: Built-in utilities for assessing model performance.
- **Custom Model Support**: Extend existing models or integrate your own architectures.
- **Integration with PyTorch and Transformers**: Seamless use of popular NLP frameworks.

## Installation
To install QuerySquirrel on your local machine, follow these steps:

### Install from PyPI
Run the following command to install QuerySquirrel via pip:

```sh
pip install querysquirrel
```
### Dependencies
QuerySquirrel requires Python 3.7+ and the following libraries:
- PyTorch
- Transformers (Hugging Face)
- Datasets
- NumPy
- scikit-learn
- torch
- torch.nn
- torch.nn.functional
- torch.optim
- tqdm
- torch.utils.data
- sklearn.metrics
- sklearn.preprocessing
- transformers
- sentence-transformers
- math
- os
- collections
- pandas
- pyarrow
- dask.dataframe
- numpy
- Counter (from collections)
- seaborn
- matplotlib

## Usage
Once installed, you can import QuerySquirrel in your Python projects like this:

```python
from querysquirrel import myfunctions as qs
```

### Quick Start
Here's an example of how to use QuerySquirrel to train a text classification model:

```python
import querysquirrel
from querysquirrel import myfunctions as qs

# Load dataset
data = qs.load_dataset("imdb")

# Preprocess data
data = qs.tokenize(data, model_name="bert-base-uncased")

# Train model
model = qs.train(data, model_name="bert-base-uncased", epochs=3)

# Evaluate model
results = qs.evaluate(model, data["test"])
print("Evaluation Results:", results)
```

## Contributing
We welcome contributions! To contribute:

1. Fork the repository.
2. Create a feature branch.
3. Make your changes and write tests.
4. Submit a pull request.

## License
QuerySquirrel is released under the MIT License.

