Add project documentation
This commit is contained in:
96
README.md
Normal file
96
README.md
Normal file
@@ -0,0 +1,96 @@
|
|||||||
|
# Text Analyzer
|
||||||
|
|
||||||
|
A typed command-line tool for text file analysis.
|
||||||
|
|
||||||
|
## Requirements
|
||||||
|
|
||||||
|
- Python 3.12+
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
Create a virtual environment:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
python3 -m venv .venv
|
||||||
|
```
|
||||||
|
|
||||||
|
Activate it:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
source .venv/bin/activate
|
||||||
|
```
|
||||||
|
|
||||||
|
Install dependencies:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
python -m pip install -r requirements.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
Install the package in editable mode:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
python -m pip install -e .
|
||||||
|
```
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
Basic analysis:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
text-analyzer sample.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
Show the three most frequent words:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
text-analyzer sample.txt --top 3
|
||||||
|
```
|
||||||
|
|
||||||
|
Set minimum word length:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
text-analyzer sample.txt --min-len 4
|
||||||
|
```
|
||||||
|
|
||||||
|
JSON output:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
text-analyzer sample.txt --format json
|
||||||
|
```
|
||||||
|
|
||||||
|
Specify encoding:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
text-analyzer sample.txt --encoding utf-8
|
||||||
|
```
|
||||||
|
|
||||||
|
## Development checks
|
||||||
|
|
||||||
|
Type checking:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
mypy src
|
||||||
|
```
|
||||||
|
|
||||||
|
Linting:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ruff check .
|
||||||
|
```
|
||||||
|
|
||||||
|
Formatting:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ruff format --check .
|
||||||
|
```
|
||||||
|
|
||||||
|
Tests and coverage:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pytest
|
||||||
|
```
|
||||||
|
|
||||||
|
## Current test results
|
||||||
|
|
||||||
|
- 15 tests passed
|
||||||
|
- Core coverage: 96%
|
||||||
Reference in New Issue
Block a user