my-collection 0.1.3
A Python package for text processing and argument parsing
License: MIT
Requires Python: >=3.10

# my-collection

[License: MIT](https://git.foxminded.ua/liliia-shpytsia-mentoring/task-5-packaging/-/blob/dev/LICENSE)  
[GitLab Repo](https://git.foxminded.ua/liliia-shpytsia-mentoring/task-5-packaging)

Python-пакет для обробки тексту, включаючи підрахунок унікальних символів,підтримує обробку даних черех командний рядок.

---

## Зміст

- [Посилання проекту](#посилання-проекту)
- [Встановлення](#встановлення)
- [Використання](#використання)
  - [CLI](#cli)
  - [Використання у Python-коді](#використання-у-python-коді)
- [Документація](#документація)
- [Приклади](#приклади)
- [Оновлення пакету](#оновлення-пакету)
- [Тестування](#тестування)
- [Структура проєкту](#структура-проекту)
- [Пошук проблем](#пошук-проблем)

---

## Посилання проекту

- **Домашня сторінка**: [my-collection на GitLab](https://git.foxminded.ua/liliia-shpytsia-mentoring/task-5-packaging)  
- **Випуски**: [Releases](https://git.foxminded.ua/liliia-shpytsia-mentoring/task-5-packaging/-/releases)  
- **Ліцензія**: [MIT License](https://git.foxminded.ua/liliia-shpytsia-mentoring/task-5-packaging/-/blob/dev/LICENSE)  
- **Відкрити Issue**: [Створити Issue](https://git.foxminded.ua/liliia-shpytsia-mentoring/task-5-packaging/-/issues)

---

## Встановлення

```bash
pip install my-collection
```

---

## Використання

### CLI

- Для обробки текстового рядка:

```bash
my-collection --string "This is a test"
```

- Для обробки текстового файлу:

```bash
my-collection --file path/to/text.txt
```

> **Примітка** aргумент `--file` має вищий пріоритет над `--string`. Якщо обидва аргументи не передані, програма 
завершиться з помилкою.

### Використання у Python-коді

```markdown
from my_collection import unique_char_count

text = "example text"
result = unique_char_count(text)
print(f"Unique character count: {result}")
```

---

### Документація

1. Відкрий Python-інтерпретатор:

```bash
python
```

1. Імпортуй функцію та використовуй `help()`:

```markdown
from my_collection import unique_char_count
help(unique_char_count)
```

---

## Приклади

### Підрахунок унікальних символів у рядку

```markdown
from my_collection import unique_char_count

print(unique_char_count("abbbccdf"))  # Виведе: 3
```

### Використання CLI

```bash
my-collection --string "abbbccdf" 
# Виведе: Unique character count: 3
```

---

## Оновлення пакету

```bash
pip install --upgrade my-collection
```

---

## Тестування

1. Клонувати репозиторій:

```bash
git clone https://git.foxminded.ua/liliia-shpytsia-mentoring/task-5-packaging.git 
cd task-5-packaging
```

1. Встановити залежності для розробки:

```bash
pip install -r requirements.txt
```

1. Запустити тести:

```bash
pytest
```

---

## Структура проекту

```plaintext
task_5_packaging/
+-- src/
|   +-- my_collection/
|   |   +-- __init__.py
|   |   +-- collect_framework.py
|   |   +-- text.txt
|   |   +-- unique_char.py
|-- tests/
|   +-- __init__.py
|   +-- test_collect_framework.py
|   +-- test_unique_char.py
|-- .flake8
|-- .gitignore
|-- .gitlab-ci.yml
|-- LICENSE
|-- pyproject.toml
+-- requirements.txt
```
---

## Пошук проблем
- Якщо виникли проблеми, створи [Issue] (https://git.foxminded.ua/liliia-shpytsia-mentoring/task-5-packaging/-/issues) 
на GitLab.

---