Metadata-Version: 2.1
Name: cltrier_nlp
Version: 0.1.8
Summary: 
Home-page: https://github.com/simon-muenker/cltrier_nlp
License: Apache-2.0
Author: Simon Münker
Author-email: muenker@uni-trier.de
Requires-Python: >=3.10,<4.0
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: Apache Software License
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 :: Text Processing
Requires-Dist: langcodes (>=3.4.0,<4.0.0)
Requires-Dist: langdetect (>=1.0.9,<2.0.0)
Requires-Dist: nltk (>=3.8.1,<4.0.0)
Requires-Dist: pydantic (>=2.7.1,<3.0.0)
Requires-Dist: torch (>=2.2.2,<3.0.0)
Requires-Dist: transformers (>=4.40.1,<5.0.0)
Project-URL: Documentation, https://simon-muenker.github.io/cltrier_nlp/
Project-URL: Repository, https://github.com/simon-muenker/cltrier_nlp
Description-Content-Type: text/markdown

# CLTrier NLP: academic teaching toolbox

## Usage

### Install

```bash
pip install cltrier_nlp
```

## Development

### Install

The project is managed by Poetry, a dependency management and packaging library. Please set up a local version according to the [official installation guidelines](https://python-poetry.org/docs/). When finished, install the local repository as follows:

```bash
# install package dependencies
poetry install

# add pre-commit to git hooks
poetry run pre-commit install  
```

### Tests

```bash
poetry run pytest
```

### Linting

```bash
poetry run pre-commit run --all-files
```

## Project Structure

```   
│ 
├── Makefile                    <- Makefile containing development targets
├── README.md                   <- top-level README
├── pyproject.toml              <- package-level (poetry) configuration
├── mkdocs.yaml                 <- documentation configuration
├── .pre-commit-config.yaml     <- git pre-commit actions
│
├── cltrier_nlp                 <- root source
│   └── corpus                  <- nltk inspired corpus module
│   └── encoder                 <- huggingface auto model wrapper
│   └── trainer                 <- pytorch training algorithm
│   └── functional              <- generic helper functions
│   └── utility                 <- utility classes and types
│
├── tests                       <- unittests
│
├── examples                    <- usage/application examples
│
├── scripts                     <- additional package building scripts
│   └── gen_docs_pages.py       <- automatic doc generation based on docstrings
│
```

## ToDos

- [ ] tests: add encoder testing
- [ ] tests: add functional testing
- [ ] tests: add utility testing
- [ ] cltrier_nlp:trainer: modernize and refactor
- [ ] examples:application: encoder with manifold reduction
- [ ] examples:application: encoder with unsupervised clustering
- [ ] examples:application: training pipeline with pytorch MLP

## Resources

- Project Template (Data Science): <https://github.com/drivendata/cookiecutter-data-science>
- Project Template (Poetry): <https://github.com/fpgmaas/cookiecutter-poetry>
