# nastya-tail
⚡ Lightweight and optimized implementation of Unix `tail` utility in Python with Click framework.
## Features
- ✅ Output last N lines from files or stdin (default: 10)
- ✅ Byte-based output with `-c` option
- ✅ Multiple file support with headers
- ✅ Memory-efficient using `deque` for large files
- ✅ Optimized file seeking for byte operations
- ✅ Compatible with Unix tail behavior
- ✅ Published on PyPI
## Installation
```bash
pip install nastya-tail-lnu
```
## Usage
```bash
# Last 10 lines (default)
tail file.txt
# Last 20 lines
tail -n 20 file.txt
# Last 100 bytes
tail -c 100 file.txt
# Multiple files with headers
tail file1.txt file2.txt
```
## Command Options
| Option | Description |
|--------|-------------|
| `-n, --lines N` | Output the last N lines (default: 10) |
| `-c, --bytes N` | Output the last N bytes |
| `-v, --verbose` | Always print filename headers |
| `-q, --quiet` | Never print filename headers |
| `-h, --help` | Show help message |
## Performance
- Uses `collections.deque` for memory efficiency
- File seeking for byte operations
- Memory usage: O(n) where n is number of lines to output
- Works efficiently with GB-sized files
---
## 📁 Структура директорій
Створіть таку структуру:
```
nastya-tail/
├── .github/
│ └── workflows/
│ └── pypi-publish.yml
├── nastya_tail/
│ ├── __init__.py
│ └── cli.py
├── .gitignore
├── LICENSE
├── MANIFEST.in
├── pyproject.toml
├── README.md
└── setup.py
Raw data
{
"_id": null,
"home_page": "https://github.com/Nastia2004/nastya-tail-lnu",
"name": "nastya-tail-lnu",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "tail cli utility unix file-processing",
"author": "Nastya",
"author_email": "nastavasilik1@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/a1/fc/56a4d9e0ab4e668240c973b8fe5dce2185e1daa1eab4c7e15a9c0ec9aeda/nastya_tail_lnu-0.1.2.tar.gz",
"platform": null,
"description": "# nastya-tail\n\n\u26a1 Lightweight and optimized implementation of Unix `tail` utility in Python with Click framework.\n\n## Features\n\n- \u2705 Output last N lines from files or stdin (default: 10)\n- \u2705 Byte-based output with `-c` option\n- \u2705 Multiple file support with headers\n- \u2705 Memory-efficient using `deque` for large files\n- \u2705 Optimized file seeking for byte operations\n- \u2705 Compatible with Unix tail behavior\n- \u2705 Published on PyPI\n\n## Installation\n```bash\npip install nastya-tail-lnu\n```\n\n## Usage\n```bash\n# Last 10 lines (default)\ntail file.txt\n\n# Last 20 lines\ntail -n 20 file.txt\n\n# Last 100 bytes\ntail -c 100 file.txt\n\n# Multiple files with headers\ntail file1.txt file2.txt\n```\n\n## Command Options\n\n| Option | Description |\n|--------|-------------|\n| `-n, --lines N` | Output the last N lines (default: 10) |\n| `-c, --bytes N` | Output the last N bytes |\n| `-v, --verbose` | Always print filename headers |\n| `-q, --quiet` | Never print filename headers |\n| `-h, --help` | Show help message |\n\n## Performance\n\n- Uses `collections.deque` for memory efficiency\n- File seeking for byte operations\n- Memory usage: O(n) where n is number of lines to output\n- Works efficiently with GB-sized files\n\n---\n\n## \ud83d\udcc1 \u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0456\u0439\n\n\u0421\u0442\u0432\u043e\u0440\u0456\u0442\u044c \u0442\u0430\u043a\u0443 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443:\n```\nnastya-tail/\n\u251c\u2500\u2500 .github/\n\u2502 \u2514\u2500\u2500 workflows/\n\u2502 \u2514\u2500\u2500 pypi-publish.yml\n\u251c\u2500\u2500 nastya_tail/\n\u2502 \u251c\u2500\u2500 __init__.py\n\u2502 \u2514\u2500\u2500 cli.py\n\u251c\u2500\u2500 .gitignore\n\u251c\u2500\u2500 LICENSE\n\u251c\u2500\u2500 MANIFEST.in\n\u251c\u2500\u2500 pyproject.toml\n\u251c\u2500\u2500 README.md\n\u2514\u2500\u2500 setup.py\n",
"bugtrack_url": null,
"license": null,
"summary": "Lightweight and optimized implementation of Unix tail utility",
"version": "0.1.2",
"project_urls": {
"Homepage": "https://github.com/Nastia2004/nastya-tail-lnu"
},
"split_keywords": [
"tail",
"cli",
"utility",
"unix",
"file-processing"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "1f73bbee8f74d150d000de011028ca73280f84a4259696494cae2c2e96a37d29",
"md5": "a79d770fc0fd85e12d54d9bad5a18326",
"sha256": "2c87a289bbb325ba6a3486c7c87139befe8e19c92ed2824fb4913b5ed6d87c57"
},
"downloads": -1,
"filename": "nastya_tail_lnu-0.1.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "a79d770fc0fd85e12d54d9bad5a18326",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 4801,
"upload_time": "2025-10-20T07:31:01",
"upload_time_iso_8601": "2025-10-20T07:31:01.733855Z",
"url": "https://files.pythonhosted.org/packages/1f/73/bbee8f74d150d000de011028ca73280f84a4259696494cae2c2e96a37d29/nastya_tail_lnu-0.1.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "a1fc56a4d9e0ab4e668240c973b8fe5dce2185e1daa1eab4c7e15a9c0ec9aeda",
"md5": "89eea2d648f7235aea88f6ddb3fe0f8d",
"sha256": "c7bbab4d7a5879f0bb2ae02de52f30475cc7dac1834faf6013cd3769cd39bc19"
},
"downloads": -1,
"filename": "nastya_tail_lnu-0.1.2.tar.gz",
"has_sig": false,
"md5_digest": "89eea2d648f7235aea88f6ddb3fe0f8d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 4458,
"upload_time": "2025-10-20T07:31:02",
"upload_time_iso_8601": "2025-10-20T07:31:02.699837Z",
"url": "https://files.pythonhosted.org/packages/a1/fc/56a4d9e0ab4e668240c973b8fe5dce2185e1daa1eab4c7e15a9c0ec9aeda/nastya_tail_lnu-0.1.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-20 07:31:02",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Nastia2004",
"github_project": "nastya-tail-lnu",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "nastya-tail-lnu"
}