Metadata-Version: 2.4
Name: prepforge
Version: 0.1.0
Summary: AI Exam Preparation System with TUI, GUI, and Streamlit
Author: Himanshu Arora
License-Expression: MIT
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: transformers
Requires-Dist: peft
Requires-Dist: rich
Requires-Dist: prompt_toolkit
Provides-Extra: gui
Requires-Dist: PyQt6; extra == "gui"
Provides-Extra: web
Requires-Dist: streamlit; extra == "web"
Provides-Extra: train
Requires-Dist: datasets; extra == "train"
Requires-Dist: trl; extra == "train"
Provides-Extra: gpu
Requires-Dist: torch; extra == "gpu"
Provides-Extra: fast
Requires-Dist: unsloth; extra == "fast"
Dynamic: license-file

# 🎓 PrepForge

PrepForge is an AI-powered exam preparation system with multiple interfaces and support for base LLMs and LoRA adapters.

---

## 📦 Installation

Install directly from PyPI:

```bash
pip install prepforge
```

PyPI: https://pypi.org/project/prepforge/0.1.0/

---

## ✨ Features

- 🖥 Terminal UI (TUI)
- 🪟 Desktop GUI (PyQt6)
- 🌐 Web interface (Streamlit)
- 🧠 Supports base models and LoRA adapters
- 🏋️ Built-in training pipeline (QLoRA / Unsloth)
- ⚡ Offline inference support

---

## 🚀 Usage

### Terminal Interface (TUI)
```bash
prepforge run tui
```

### Desktop GUI
```bash
prepforge run gui
```

### Web Interface
```bash
prepforge run streamlit
```

---

## ⚙️ Configuration

Set default model:

```bash
prepforge config --model <model_name_or_path>
```

Set LoRA adapter:

```bash
prepforge config --lora <adapter_path>
```

---

## 🏋️ Training

```bash
prepforge train \
  --dataset dataset.jsonl \
  --epochs 3 \
  --output trained_model
```

---

## 📊 Dataset Format

```json
{
  "instruction": "Explain Newton's laws",
  "input": "",
  "output": "Newton's laws describe motion..."
}
```

---

## 📂 Project Structure

```
major_project/
├── core/
│   ├── model.py
│   ├── train.py
│   └── utils.py
├── tui_app.py
├── gui_app.py
├── streamlit_app.py
├── cli.py
├── config.py
```

---

## ⚠️ Notes

- Models are not bundled with the package  
- Users must download base models separately  
- GPU (CUDA) is recommended for best performance  

---

## 🧑‍💻 Author

Himanshu Arora

---

## 📜 License

MIT License
