Metadata-Version: 2.1
Name: datawords
Version: 0.5.0rc1
Summary: A library to work with text data
Project-URL: Documentation, https://github.com/unknown/datawords#readme
Project-URL: Issues, https://github.com/unknown/datawords/issues
Project-URL: Source, https://github.com/unknown/datawords
Author-email: Xavier Petit <nuxion@gmail.com>
License-Expression: MPL-2.0
License-File: LICENSE
License-File: NOTICE.md
Keywords: datascience,nlp,text,transformers
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.7
Requires-Dist: annoy~=1.17.0
Requires-Dist: emoji~=1.5.0
Requires-Dist: gensim~=4.3.0
Requires-Dist: langcodes[data]~=3.2.1
Requires-Dist: langdetect~=1.0.9
Requires-Dist: nltk~=3.6.4
Requires-Dist: pydantic!=1.8,!=1.8.1,<1.11.0,>=1.7.4
Requires-Dist: pytextrank~=3.2.1
Requires-Dist: python-levenshtein~=0.12.2
Requires-Dist: scikit-learn~=1.2.0
Requires-Dist: scikit-network~=0.28.3
Requires-Dist: spacy~=3.4.4
Requires-Dist: toolz
Requires-Dist: tqdm
Requires-Dist: unidecode~=1.3.2
Provides-Extra: transformers
Requires-Dist: sacremoses~=0.0.53; extra == 'transformers'
Requires-Dist: sentencepiece; extra == 'transformers'
Requires-Dist: transformers; extra == 'transformers'
Description-Content-Type: text/markdown

# datawords

[![PyPI - Version](https://img.shields.io/pypi/v/datawords.svg)](https://pypi.org/project/datawords)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/datawords.svg)](https://pypi.org/project/datawords)
[![readthedocs](https://readthedocs.org/projects/datawords/badge/?version=latest)](https://datawords.readthedocs.io/en/latest/)

-----

This is a library oriented to common and uncommon NLP tasks.


**Datawords** emerge after two years of solving different projects that required NLP techniques 
like training and saving Word2Vec ([Gensim](https://radimrehurek.com/gensim/)) models, finding entities on text ([Spacy](https://spacy.io/)), ranking texts ([scikit-network](https://scikit-network.readthedocs.io/en/latest/)), indexing it ([Spotify Annoy](https://github.com/spotify/annoy)), translating it ([Hugging Face](https://huggingface.co/docs/transformers/index)). 

Then to use those libraries some pre-processing, post-processing tasks and transformations were also required. For this reasons, **datawords exists**. 

Sometimes it’s very opinated (Indexing happens over text, and not over vectors besides Annoy allows it), and sometimes gives you freedom and provide you with helper classes and functions to use freely.

Another way to see this library is as an agreggator of all that excellent libraries mentioned before.

In a nutshell, **Datawords let’s you**:

- Train Word2Vec models (Gensim)
- Build Indexes for texts (Annoy, SQLite)
- Translate texts (Transformers)
- Rank texts (PageRank)


**Table of Contents**

- [Installation](#installation)
- [License](#license)

## Installation

```console
pip install datawords
```

To use transformes from [HuggingFace](https://huggingface.co/) please do:

```console
pip install datawords[transformers]
```

## Quickstart

**deepnlp**:

```python
from datawords.deepnlp import translators
mn = translators.build_model_name("es", "en")
rsp = transform_mp("es", "en", model_path=fp, texts=["hola mundo", "adios mundo", "notias eran las de antes", "Messi es un dios para muchas personas"])

```

## License

`datawords` is distributed under the terms of the [MPL-2.0](https://www.mozilla.org/en-US/MPL/2.0/) license.
