nlpfileio


Namenlpfileio JSON
Version 0.1.1 PyPI version JSON
download
home_pageNone
SummaryAn open-source Python library for CLI and NLP tasks
upload_time2025-09-17 08:11:56
maintainerNone
docs_urlNone
authorFatemeh Ahmadzadeh
requires_python>=3.10
licenseMIT
keywords cli nlp text utilities
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # nlpfileio



**An open-source Python CLI tool for NLP tasks**

`nlpfileio` is a command-line interface library that simplifies natural language processing (NLP) tasks such as removing stopwords, normalizing text, stemming, and sentiment analysis.  
It is built with [Click](https://click.palletsprojects.com/) and provides an interactive, colorful CLI with configuration support.

---

## โœจ Features

- ๐Ÿ“ **Stopword Removal** โ€” Remove stopwords using spaCy or TextBlob.  
- ๐Ÿ”„ **Text Normalization** โ€” Clean and normalize sentences.  
- ๐ŸŒฑ **Stemming** โ€” Perform stemming on sentences.  
- ๐Ÿ˜Š **Sentiment Analysis** โ€” Get polarity & subjectivity for each sentence.  
- โš™๏ธ **Configurable** โ€” Supports `config.ini` for default settings.  
- ๐ŸŽจ **Interactive CLI** โ€” Colorful, user-friendly prompts.  

---

## ๐Ÿ“ฆ Installation

Install from PyPI (after publishing):

```bash
pip install nlpfileio
```
Then, download the required NLP resources (must be done once before first use):
``` bash
nlpfileio-download
```
Or install from source:

```bash
git clone https://github.com/Ahmadzadeh920/nlpcli-pakage-library.git
cd nlpcli-pakage-library
pip install .
```
---
## โšก Usage

The CLI tool is available as nlpfileio once installed.


Note: Before using nlpfileio for the first time, you must download the necessary NLP models and resources. Run:

```bash
  nlpfileio-download

```

Run it with an input file (.csv or .txt):
```bash
nlpfileio input.txt
```

---
## ๐Ÿ›  Commands
### 1. Remove Stopwords
```bash
nlpfileio input.txt remove_stop_words
```
Removes stopwords and shows an example. Optionally save results.

### 2. Normalize Sentences

```bash
nlpfileio input.txt normalize
```
Normalizes text and saves to normalized_sentences.txt if desired.

### 3. Stem Sentences
```bash
nlpfileio input.txt stem
```
Applies stemming. Example and optional file export included.

### 4. Sentiment Analysis
```bash
nlpfileio input.txt sentiment
```
Computes sentiment for each sentence:

```bash
Sentence: I love open-source projects.
Polarity: 0.500, Subjectivity: 0.600
```
Exports results to sentiments_sentences.txt if selected.

---

## ๐Ÿ“‚ Project Structure
```bash

nlpfileio/
โ”œโ”€โ”€ src/nlpclinlpfileio/
โ”‚   โ”œโ”€โ”€ cli.py          # CLI entry point
โ”‚   โ”œโ”€โ”€ services.py     # Core NLP functions
โ”‚   โ”œโ”€โ”€ config.ini      # Default configuration
โ”‚   โ””โ”€โ”€ __init__.py
โ”œโ”€โ”€ tests/              # Unit tests
โ”œโ”€โ”€ README.md           # Documentation
โ”œโ”€โ”€ pyproject.toml      # Project metadata
โ””โ”€โ”€ poetry.lock

```
---

## โš™๏ธ Configuration

Default options can be stored in config.ini, automatically loaded by the CLI.

Example:
```bash
[settings]
language = en
output_format = txt
```

---

## ๐Ÿงช Development

Clone and install dependencies:

```bash

poetry install

```

Run tests:

```bash
poetry run pytest
```

---
## ๐Ÿš€ Roadmap

Planned features and improvements:

- [ ] **Lemmatization** โ€” Add support for lemmatizing words.  
- [ ] **Language Detection** โ€” Automatically detect the language of input text.  
- [ ] **Additional Input Formats** โ€” Support JSON, Excel, and other file types.  
- [ ] **Enhanced Visualization** โ€” Use `rich` for better CLI output formatting.  


---
## ๐Ÿ“œ License
This project is licensed under the MIT License

----

## ๐Ÿ‘ฉโ€๐Ÿ’ป Author

**Fatemeh Ahmadzadeh**  
- ๐Ÿ“ง Email: [ahmadzade920@gmail.com](mailto:ahmadzade920@gmail.com)  
- ๐ŸŒ GitHub: [@Ahmadzadeh920](ahmadzadeh920.github.io)  
- ๐Ÿ’ผ LinkedIn: [Fatemeh Ahmadzadeh](https://www.linkedin.com/in/f-ahmadz/)  












            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "nlpfileio",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "cli, nlp, text, utilities",
    "author": "Fatemeh Ahmadzadeh",
    "author_email": "ahmadzade920@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/9d/a2/cdb376226bb010df5d362a8a17da00343f3e54adde9a0fa64a0156a47165/nlpfileio-0.1.1.tar.gz",
    "platform": null,
    "description": "# nlpfileio\n\n\n\n**An open-source Python CLI tool for NLP tasks**\n\n`nlpfileio` is a command-line interface library that simplifies natural language processing (NLP) tasks such as removing stopwords, normalizing text, stemming, and sentiment analysis.  \nIt is built with [Click](https://click.palletsprojects.com/) and provides an interactive, colorful CLI with configuration support.\n\n---\n\n## \u2728 Features\n\n- \ud83d\udcdd **Stopword Removal** \u2014 Remove stopwords using spaCy or TextBlob.  \n- \ud83d\udd04 **Text Normalization** \u2014 Clean and normalize sentences.  \n- \ud83c\udf31 **Stemming** \u2014 Perform stemming on sentences.  \n- \ud83d\ude0a **Sentiment Analysis** \u2014 Get polarity & subjectivity for each sentence.  \n- \u2699\ufe0f **Configurable** \u2014 Supports `config.ini` for default settings.  \n- \ud83c\udfa8 **Interactive CLI** \u2014 Colorful, user-friendly prompts.  \n\n---\n\n## \ud83d\udce6 Installation\n\nInstall from PyPI (after publishing):\n\n```bash\npip install nlpfileio\n```\nThen, download the required NLP resources (must be done once before first use):\n``` bash\nnlpfileio-download\n```\nOr install from source:\n\n```bash\ngit clone https://github.com/Ahmadzadeh920/nlpcli-pakage-library.git\ncd nlpcli-pakage-library\npip install .\n```\n---\n## \u26a1 Usage\n\nThe CLI tool is available as nlpfileio once installed.\n\n\nNote: Before using nlpfileio for the first time, you must download the necessary NLP models and resources. Run:\n\n```bash\n  nlpfileio-download\n\n```\n\nRun it with an input file (.csv or .txt):\n```bash\nnlpfileio input.txt\n```\n\n---\n## \ud83d\udee0 Commands\n### 1. Remove Stopwords\n```bash\nnlpfileio input.txt remove_stop_words\n```\nRemoves stopwords and shows an example. Optionally save results.\n\n### 2. Normalize Sentences\n\n```bash\nnlpfileio input.txt normalize\n```\nNormalizes text and saves to normalized_sentences.txt if desired.\n\n### 3. Stem Sentences\n```bash\nnlpfileio input.txt stem\n```\nApplies stemming. Example and optional file export included.\n\n### 4. Sentiment Analysis\n```bash\nnlpfileio input.txt sentiment\n```\nComputes sentiment for each sentence:\n\n```bash\nSentence: I love open-source projects.\nPolarity: 0.500, Subjectivity: 0.600\n```\nExports results to sentiments_sentences.txt if selected.\n\n---\n\n## \ud83d\udcc2 Project Structure\n```bash\n\nnlpfileio/\n\u251c\u2500\u2500 src/nlpclinlpfileio/\n\u2502   \u251c\u2500\u2500 cli.py          # CLI entry point\n\u2502   \u251c\u2500\u2500 services.py     # Core NLP functions\n\u2502   \u251c\u2500\u2500 config.ini      # Default configuration\n\u2502   \u2514\u2500\u2500 __init__.py\n\u251c\u2500\u2500 tests/              # Unit tests\n\u251c\u2500\u2500 README.md           # Documentation\n\u251c\u2500\u2500 pyproject.toml      # Project metadata\n\u2514\u2500\u2500 poetry.lock\n\n```\n---\n\n## \u2699\ufe0f Configuration\n\nDefault options can be stored in config.ini, automatically loaded by the CLI.\n\nExample:\n```bash\n[settings]\nlanguage = en\noutput_format = txt\n```\n\n---\n\n## \ud83e\uddea Development\n\nClone and install dependencies:\n\n```bash\n\npoetry install\n\n```\n\nRun tests:\n\n```bash\npoetry run pytest\n```\n\n---\n## \ud83d\ude80 Roadmap\n\nPlanned features and improvements:\n\n- [ ] **Lemmatization** \u2014 Add support for lemmatizing words.  \n- [ ] **Language Detection** \u2014 Automatically detect the language of input text.  \n- [ ] **Additional Input Formats** \u2014 Support JSON, Excel, and other file types.  \n- [ ] **Enhanced Visualization** \u2014 Use `rich` for better CLI output formatting.  \n\n\n---\n## \ud83d\udcdc License\nThis project is licensed under the MIT License\n\n----\n\n## \ud83d\udc69\u200d\ud83d\udcbb Author\n\n**Fatemeh Ahmadzadeh**  \n- \ud83d\udce7 Email: [ahmadzade920@gmail.com](mailto:ahmadzade920@gmail.com)  \n- \ud83c\udf10 GitHub: [@Ahmadzadeh920](ahmadzadeh920.github.io)  \n- \ud83d\udcbc LinkedIn: [Fatemeh Ahmadzadeh](https://www.linkedin.com/in/f-ahmadz/)  \n\n\n\n\n\n\n\n\n\n\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "An open-source Python library for CLI and NLP tasks",
    "version": "0.1.1",
    "project_urls": null,
    "split_keywords": [
        "cli",
        " nlp",
        " text",
        " utilities"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9c2426a090395498820d9423b33ae30438d636ca9f4e877f6cd85e4daf6a907d",
                "md5": "c0064d25456935067cf3ee629708182e",
                "sha256": "5feece1225034bef9345fe0edd2d6e0ac97a1ffb19af41924e1f7f3c42c8d9bb"
            },
            "downloads": -1,
            "filename": "nlpfileio-0.1.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "c0064d25456935067cf3ee629708182e",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 9993,
            "upload_time": "2025-09-17T08:11:53",
            "upload_time_iso_8601": "2025-09-17T08:11:53.479235Z",
            "url": "https://files.pythonhosted.org/packages/9c/24/26a090395498820d9423b33ae30438d636ca9f4e877f6cd85e4daf6a907d/nlpfileio-0.1.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9da2cdb376226bb010df5d362a8a17da00343f3e54adde9a0fa64a0156a47165",
                "md5": "08c21b14742ade9ca881090b414ca730",
                "sha256": "9d1f20728b5cb08d57e53dff5dd971efd5e9e020f0e2f770047d34934cd40279"
            },
            "downloads": -1,
            "filename": "nlpfileio-0.1.1.tar.gz",
            "has_sig": false,
            "md5_digest": "08c21b14742ade9ca881090b414ca730",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 6042,
            "upload_time": "2025-09-17T08:11:56",
            "upload_time_iso_8601": "2025-09-17T08:11:56.205280Z",
            "url": "https://files.pythonhosted.org/packages/9d/a2/cdb376226bb010df5d362a8a17da00343f3e54adde9a0fa64a0156a47165/nlpfileio-0.1.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-09-17 08:11:56",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "nlpfileio"
}
        
Elapsed time: 0.78245s