Name | catpic JSON |
Version |
0.5.1
JSON |
| download |
home_page | None |
Summary | Display images in terminals using Unicode mosaics and ANSI colors |
upload_time | 2025-10-12 12:02:35 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.8 |
license | MIT |
keywords |
ansi
ascii
image
meow
mosaic
terminal
tui
unicode
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
```
## AI Collaboration Context
**Project:** catpic - Terminal Image Viewer | **Session:** #1 | **Date:** 2025-01-27 | **Lead:** [Your Name]
**AI Model:** Claude Sonnet 4 | **Objective:** Create comprehensive catpic project structure
**Prior Work:** Initial session
**Current Status:** Complete project scaffolding with BASIS system and EnGlyph integration. Renamed to catpic with .meow extension
**Files in Scope:** New project - all files created
**Human Contributions:** Requirements analysis, EnGlyph research, BASIS system design, development strategy, UX design (viewer-first approach), naming (catpic/.meow)
**AI Contributions:** Project structure, code generation, documentation, testing framework
**Pending Decisions:** Phase 1 implementation approach, specific BASIS character sets for 2,3 and 2,4
```
# catpic - Terminal Image Viewer
Display images directly in your terminal using mosaic block characters and ANSI colors.
## Features
- **Instant display**: Show any image format directly in terminal with `catpic image.jpg`
- **Animation support**: Play GIFs directly with `catpic animation.gif`
- **Cat-able files**: Generate `.meow` files for sharing over wire and scripting
- **Scalable quality**: BASIS system from universal compatibility to ultra-high quality
- **Modern Python**: Built with UV, type hints, and comprehensive testing
## Installation
```bash
# Using uv (recommended)
uv add catpic
# Using pip
pip install catpic
```
## Quick Start
```bash
# Display any image directly in terminal
catpic photo.jpg
# Display animated GIF directly
catpic animation.gif
# Generate cat-able files when needed
catpic generate photo.jpg # Creates photo.meow
catpic convert animation.gif # Creates animation.meow
# Display cat-able files
cat photo.meow
catpic animation.meow # or cat animation.meow
```
## BASIS System
catpic uses a pixel subdivision system for different quality/compatibility levels:
- **BASIS 1,2**: 4 patterns ( ▀▄█) - Universal terminal compatibility
- **BASIS 2,2**: 16 patterns (quadrant blocks) - Balanced quality/compatibility
- **BASIS 2,3**: 64 patterns (sextant blocks) - High quality
- **BASIS 2,4**: 256 patterns (Legacy Computing) - Ultra quality
## MEOW Format
**MEOW** (Mosaic Encoding Over Wire) - A text-based format for terminal images that can be cat-ed, shared over SSH, and embedded in scripts.
## Python API
```python
from catpic import CatpicEncoder, CatpicDecoder, CatpicPlayer
# Display any image directly (primary use case)
encoder = CatpicEncoder(basis=(2, 2))
meow_content = encoder.encode_image('photo.jpg', width=80)
decoder = CatpicDecoder()
decoder.display(meow_content)
# Generate cat-able file
with open('photo.meow', 'w') as f:
f.write(meow_content)
# Animation
meow_anim = encoder.encode_animation('animation.gif')
player = CatpicPlayer()
player.play(meow_anim)
```
## Development
```bash
# Setup development environment
uv sync --dev
# Run tests
uv run pytest
# Format code
uv run black src/ tests/
uv run ruff check src/ tests/
# Type checking
uv run mypy src/
```
## License
MIT License - see LICENSE file for details.
Raw data
{
"_id": null,
"home_page": null,
"name": "catpic",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "ansi, ascii, image, meow, mosaic, terminal, tui, unicode",
"author": null,
"author_email": "Frisco Rose <friscorose@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/f2/6b/3a6a03eaab8aa5f849a9b3589dee86cc97787083c74b4f31985e3deefc59/catpic-0.5.1.tar.gz",
"platform": null,
"description": "```\n## AI Collaboration Context\n**Project:** catpic - Terminal Image Viewer | **Session:** #1 | **Date:** 2025-01-27 | **Lead:** [Your Name] \n**AI Model:** Claude Sonnet 4 | **Objective:** Create comprehensive catpic project structure\n**Prior Work:** Initial session \n**Current Status:** Complete project scaffolding with BASIS system and EnGlyph integration. Renamed to catpic with .meow extension\n**Files in Scope:** New project - all files created \n**Human Contributions:** Requirements analysis, EnGlyph research, BASIS system design, development strategy, UX design (viewer-first approach), naming (catpic/.meow) \n**AI Contributions:** Project structure, code generation, documentation, testing framework \n**Pending Decisions:** Phase 1 implementation approach, specific BASIS character sets for 2,3 and 2,4\n```\n\n# catpic - Terminal Image Viewer\n\nDisplay images directly in your terminal using mosaic block characters and ANSI colors.\n\n## Features\n\n- **Instant display**: Show any image format directly in terminal with `catpic image.jpg`\n- **Animation support**: Play GIFs directly with `catpic animation.gif` \n- **Cat-able files**: Generate `.meow` files for sharing over wire and scripting\n- **Scalable quality**: BASIS system from universal compatibility to ultra-high quality\n- **Modern Python**: Built with UV, type hints, and comprehensive testing\n\n## Installation\n\n```bash\n# Using uv (recommended)\nuv add catpic\n\n# Using pip\npip install catpic\n```\n\n## Quick Start\n\n```bash\n# Display any image directly in terminal\ncatpic photo.jpg\n\n# Display animated GIF directly \ncatpic animation.gif\n\n# Generate cat-able files when needed\ncatpic generate photo.jpg # Creates photo.meow\ncatpic convert animation.gif # Creates animation.meow\n\n# Display cat-able files\ncat photo.meow\ncatpic animation.meow # or cat animation.meow\n```\n\n## BASIS System\n\ncatpic uses a pixel subdivision system for different quality/compatibility levels:\n\n- **BASIS 1,2**: 4 patterns ( \u2580\u2584\u2588) - Universal terminal compatibility\n- **BASIS 2,2**: 16 patterns (quadrant blocks) - Balanced quality/compatibility\n- **BASIS 2,3**: 64 patterns (sextant blocks) - High quality\n- **BASIS 2,4**: 256 patterns (Legacy Computing) - Ultra quality\n\n## MEOW Format\n\n**MEOW** (Mosaic Encoding Over Wire) - A text-based format for terminal images that can be cat-ed, shared over SSH, and embedded in scripts.\n\n## Python API\n\n```python\nfrom catpic import CatpicEncoder, CatpicDecoder, CatpicPlayer\n\n# Display any image directly (primary use case)\nencoder = CatpicEncoder(basis=(2, 2))\nmeow_content = encoder.encode_image('photo.jpg', width=80)\ndecoder = CatpicDecoder()\ndecoder.display(meow_content)\n\n# Generate cat-able file\nwith open('photo.meow', 'w') as f:\n f.write(meow_content)\n\n# Animation\nmeow_anim = encoder.encode_animation('animation.gif')\nplayer = CatpicPlayer()\nplayer.play(meow_anim)\n```\n\n## Development\n\n```bash\n# Setup development environment\nuv sync --dev\n\n# Run tests\nuv run pytest\n\n# Format code\nuv run black src/ tests/\nuv run ruff check src/ tests/\n\n# Type checking\nuv run mypy src/\n```\n\n## License\n\nMIT License - see LICENSE file for details.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Display images in terminals using Unicode mosaics and ANSI colors",
"version": "0.5.1",
"project_urls": {
"Documentation": "https://github.com/friscorose/catpic/tree/main/docs",
"Homepage": "https://github.com/friscorose/catpic",
"Issues": "https://github.com/friscorose/catpic/issues",
"Repository": "https://github.com/friscorose/catpic"
},
"split_keywords": [
"ansi",
" ascii",
" image",
" meow",
" mosaic",
" terminal",
" tui",
" unicode"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "e48910a3b32446e8210c24506eb2bdf71b6fe379d279644692a25343008abdc6",
"md5": "5a3ec283849585dc602bb66b9bcc59bc",
"sha256": "9530d0052be0f0b237968a7734addb361469a008c855bb6116c794f32ebf6e7f"
},
"downloads": -1,
"filename": "catpic-0.5.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "5a3ec283849585dc602bb66b9bcc59bc",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 20339,
"upload_time": "2025-10-12T12:02:34",
"upload_time_iso_8601": "2025-10-12T12:02:34.582965Z",
"url": "https://files.pythonhosted.org/packages/e4/89/10a3b32446e8210c24506eb2bdf71b6fe379d279644692a25343008abdc6/catpic-0.5.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "f26b3a6a03eaab8aa5f849a9b3589dee86cc97787083c74b4f31985e3deefc59",
"md5": "65dd2cc3506ebd33e179d366a43f4c04",
"sha256": "1c688b81ddf532750a3cfde9e1a79dbb1b52cba8133ac91a0b1af59b667359e4"
},
"downloads": -1,
"filename": "catpic-0.5.1.tar.gz",
"has_sig": false,
"md5_digest": "65dd2cc3506ebd33e179d366a43f4c04",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 58677,
"upload_time": "2025-10-12T12:02:35",
"upload_time_iso_8601": "2025-10-12T12:02:35.861240Z",
"url": "https://files.pythonhosted.org/packages/f2/6b/3a6a03eaab8aa5f849a9b3589dee86cc97787083c74b4f31985e3deefc59/catpic-0.5.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-12 12:02:35",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "friscorose",
"github_project": "catpic",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "catpic"
}