Metadata-Version: 2.4
Name: torchlingo
Version: 0.0.2
Summary: Educational PyTorch NMT library for coursework and instruction.
Author: TorchLingo Maintainers
License-Expression: AGPL-3.0-or-later
Project-URL: Homepage, https://commanderjcc.github.io/torchlingo/
Keywords: nmt,neural-machine-translation,translation,pytorch,transformer,educational,deep-learning,nlp,natural-language-processing
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Science/Research
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Text Processing :: Linguistic
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: torch>=2.0
Requires-Dist: pandas>=1.5
Requires-Dist: sentencepiece>=0.1.99
Requires-Dist: tensorboard>=2.12
Requires-Dist: sacrebleu>=2.3
Provides-Extra: docs
Requires-Dist: mkdocs-material>=9.5; extra == "docs"
Requires-Dist: mkdocstrings[python]>=0.24; extra == "docs"
Requires-Dist: mkdocs-jupyter>=0.24; extra == "docs"
Requires-Dist: griffe>=0.40; extra == "docs"
Requires-Dist: ruff>=0.12; extra == "docs"
Requires-Dist: black>=24.0; extra == "docs"
Provides-Extra: dev
Requires-Dist: ruff>=0.1; extra == "dev"
Requires-Dist: isort>=5.12; extra == "dev"
Requires-Dist: build>=1.0; extra == "dev"
Requires-Dist: twine>=4.0; extra == "dev"
Provides-Extra: japanese
Requires-Dist: fugashi>=1.3; extra == "japanese"
Requires-Dist: unidic-lite>=1.0; extra == "japanese"
Provides-Extra: chinese
Requires-Dist: jieba>=0.42; extra == "chinese"
Provides-Extra: asian
Requires-Dist: fugashi>=1.3; extra == "asian"
Requires-Dist: unidic-lite>=1.0; extra == "asian"
Requires-Dist: jieba>=0.42; extra == "asian"
Dynamic: license-file

# TorchLingo

[![PyPI version](https://badge.fury.io/py/torchlingo.svg)](https://badge.fury.io/py/torchlingo)
[![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/)
[![License: AGPL v3](https://img.shields.io/badge/License-AGPLv3-blue.svg)](https://www.gnu.org/licenses/agpl-3.0.en.html)

**TorchLingo** is an educational PyTorch library for Neural Machine Translation (NMT). Designed for students and instructors, it provides a clean, well-documented implementation of the Transformer architecture for learning and experimentation.

## Features

- 🎓 **Educational Focus**: Clean, readable code designed for learning
- 🔄 **Transformer Architecture**: Full encoder-decoder implementation with multi-head attention
- 📝 **SentencePiece Tokenization**: BPE and Unigram subword models
- 🔁 **Back-Translation**: Data augmentation for improved translation quality
- 🌍 **Multilingual Support**: Train a single model for multiple language pairs
- 📊 **TensorBoard Integration**: Monitor training progress in real-time

## Installation

```bash
pip install torchlingo
```

For development:

```bash
pip install torchlingo[dev]
```

## Documentation

For full documentation, tutorials, and API reference, visit:
- [Getting Started Guide](https://commanderjcc.github.io/torchlingo/getting-started/installation/)
- [API Reference](https://commanderjcc.github.io/torchlingo/reference/)

## Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

## License

This project is licensed under the GNU Affero General Public License v3.0 - see the [LICENSE](LICENSE) file for details.
