Metadata-Version: 2.4
Name: puber
Version: 0.1.0
Summary: Text tools for publishers.
Author-email: Timur Ulyahin <ucomru@pm.me>
License: MIT
Project-URL: Homepage, https://github.com/ucomru/python-puber
Project-URL: Repository, https://github.com/ucomru/python-puber
Project-URL: Documentation, https://github.com/ucomru/python-puber
Project-URL: Issues, https://github.com/ucomru/python-puber/issues
Keywords: text,normalization,publishing,documents,tools,cli
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Topic :: Text Processing
Classifier: Intended Audience :: Developers
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: click
Dynamic: license-file

# puber – Text tools for publishers

**puber** is a lightweight toolkit for text normalization and preparation for publishing workflows.

The project is designed as a growing set of utilities for working with human-oriented text data.

> At the moment, the package provides basic name normalization, but its functionality
  will be expanded with additional text processing tools in future releases.

---

## Installation

### Using pip

```bash
pip install --upgrade puber
```
For development:

```bash
pip install -e .
```

### Recommended for CLI use: pipx

If you primarily use `puber` as a command-line tool, it is best installed with **pipx**.  
This isolates the package in its own virtual environment and avoids polluting your system Python:

```bash
pipx install --upgrade puber
```

After installation it will be available globally:

```bash
puber --help
```

### Requirements

- Python **3.9+**
- macOS, Linux, or Windows

---

## Usage

### Command-line interface

Currently available commands:

```bash
# Normalize as personal name
puber norm -n "Татьяна М. Иванова" # -> Иванова Т.М.
```

---

### Python API

```python
from puber import norm_name

print(norm_name("Татьяна М. Иванова"))  # -> Иванова Т.М.
```

---

## Testing

The project includes an extensive automated test suite for text normalization.

Run tests from the project root:

```bash
pytest
```

For `src`-layout development:

```bash
pip install -e .
pytest
```

---

## License

MIT License  
(c) 2025 Timur Ulyahin  
https://github.com/ucomru

---

## Project Homepage

GitHub:  
https://github.com/ucomru/python-puber

PyPI:  
https://pypi.org/project/puber/
