Metadata-Version: 2.1
Name: tortus
Version: 1.0.2
Summary: Easy text annotation in a Jupyter Notebook
Home-page: https://github.com/SiphuLangeni/tortus/
Author: Siphu Langeni
Author-email: szlangeni@gmail.com
License: UNKNOWN
Project-URL: Source Code, https://github.com/SiphuLangeni/tortus/blob/master/src/tortus/tortus.py
Project-URL: Documentation, https://tortus.readthedocs.io/
Keywords: nlp,annotation,labeling,jupyter-notebook,ipywidgets
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Framework :: Jupyter
Classifier: Operating System :: OS Independent
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Requires-Dist: pandas (>=1.0.1)
Requires-Dist: ipywidgets (>=7.5.1)
Requires-Dist: ipython (>=7.12.0)
Requires-Dist: jupyter-contrib-nbextensions (>=0.5.1)
Provides-Extra: dev
Requires-Dist: pytest (>=3.7) ; extra == 'dev'
Requires-Dist: check-manifest (==0.10.1) ; extra == 'dev'
Requires-Dist: twine (==3.2.0) ; extra == 'dev'

<p align='center'>
    <img src='https://raw.githubusercontent.com/SiphuLangeni/tortus/master/src/tortus/Images/tortus_logo.svg?sanitize=true' alt='tortus logo' />
</p>
<br>

## A python package that makes it easy to add labels to text data within a Jupyter Notebook.

Ideal use is for datasets that can be managed within a pandas dataframe. Labels are applied to the selected number of records. Timestamped annotations can be saved in a dataframe for future use in any NLP/sentiment analysis project.

## Target audience  
 * Data practitioners
 * Researchers
 * Students
 * Data enthusiasts

Anyone in need of a simple and intuitive product to label text data easily and efficiently will benefit from **tortus**.  


## Installation

Run the following to install:
```python
pip install tortus
jupyter nbextension enable --py widgetsnbextension
```

## Usage
Import the necessary modules into a Jupyter Notebook.  

```python
import pd as pandas
from tortus import Tortus
```  

Read your dataset into a pandas dataframe.  

```python
movie_reviews = pd.read_csv('movie_reviews.csv')
```  

Create an instance of Tortus class. You are required to enter the dataframe and the name 
of the column of the text to be annotated. Optional parameters include ``num_records``, 
``id_column``, ``annotations``, ``random`` and ``labels``.  

```python
tortus = Tortus(movie_reviews, 'reviews', num_records=3, id_column='review_id')
```  

Call the ``annotate`` method to begin annotations.  

```python
tortus.annotate()
```  

At any time, annotations can be stored into an object. This can be passed to ``annotations`` if further
annotations are required at a later time.  

```python
annotations = tortus.annotations
```  

## Example
<img src='https://media.giphy.com/media/eFZVzxe5I2OyeaOFei/giphy.gif' width='600' alt='tortus example' /> 

<br>

Click [here](https://github.com/SiphuLangeni/tortus/tree/master/sample_project) to see a sample project using tortus.



