{"id":13753626,"url":"https://github.com/atanunq/viuer","last_synced_at":"2025-05-14T11:11:05.815Z","repository":{"id":39801100,"uuid":"295840671","full_name":"atanunq/viuer","owner":"atanunq","description":"Rust library for displaying images in the terminal.","archived":false,"fork":false,"pushed_at":"2024-12-22T14:34:28.000Z","size":185,"stargazers_count":295,"open_issues_count":21,"forks_count":50,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-05-14T03:15:58.158Z","etag":null,"topics":["image","rust","terminal"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/atanunq.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE-MIT","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-09-15T20:23:04.000Z","updated_at":"2025-05-09T07:56:18.000Z","dependencies_parsed_at":"2025-01-23T16:02:27.844Z","dependency_job_id":"b20bdea6-f553-4a5d-997b-a6a8857e13a3","html_url":"https://github.com/atanunq/viuer","commit_stats":{"total_commits":102,"total_committers":9,"mean_commits":"11.333333333333334","dds":0.0980392156862745,"last_synced_commit":"2a5cb3f7001e079ed0443a3a1ab45985367d3ee1"},"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atanunq%2Fviuer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atanunq%2Fviuer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atanunq%2Fviuer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atanunq%2Fviuer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/atanunq","download_url":"https://codeload.github.com/atanunq/viuer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254129494,"owners_count":22019628,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["image","rust","terminal"],"created_at":"2024-08-03T09:01:26.032Z","updated_at":"2025-05-14T11:11:05.733Z","avatar_url":"https://github.com/atanunq.png","language":"Rust","funding_links":[],"categories":["Rust"],"sub_categories":[],"readme":"# `viuer`\n\n![ci](https://github.com/atanunq/viuer/actions/workflows/ci.yml/badge.svg)\n\nDisplay images in the terminal with ease.\n\n`viuer` is a Rust library that makes it easy to show images in the terminal.\nIt has a straightforward interface and is configured through a single struct.\nThe default printing method is through lower half blocks (`▄` or `\\u2585`).\nHowever some custom graphics protocols are supported. They result in full\nresolution images being displayed in specific environments:\n\n- [Kitty](https://sw.kovidgoyal.net/kitty/graphics-protocol.html)\n- [iTerm](https://iterm2.com/documentation-images.html)\n- [Sixel](https://github.com/saitoha/libsixel) (behind the `sixel`\n  feature gate)\n\nFor a demo of the library's usage and example screenshots, see\n[`viu`](https://github.com/atanunq/viu?tab=readme-ov-file#examples).\n\n## Usage\n\nWith the default features, only [image::DynamicImage](https://docs.rs/image/latest/image/enum.DynamicImage.html) can be printed:\n\n```rust\nuse viuer::{print, Config};\n\nlet conf = Config {\n    // Start from row 4 and column 20.\n    x: 20,\n    y: 4,\n    ..Default::default()\n};\n\nlet img = image::DynamicImage::ImageRgba8(image::RgbaImage::new(20, 10));\nprint(\u0026img, \u0026conf).expect(\"Image printing failed.\");\n```\n\nAnd with the `print-file` feature, `viuer` can work with files, too:\n```rust\nuse viuer::{print_from_file, Config};\n\nlet conf = Config {\n    // Set dimensions.\n    width: Some(80),\n    height: Some(25),\n    ..Default::default()\n};\n\n// Display `img.jpg` with dimensions 80×25 in terminal cells.\n// The image resolution will be 80×50 because each cell contains two pixels.\nprint_from_file(\"img.jpg\", \u0026conf).expect(\"Image printing failed.\");\n```\n\n## Docs\n\nFind all the configuration options in the [full documentation](https://docs.rs/viuer/latest/viuer/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatanunq%2Fviuer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fatanunq%2Fviuer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatanunq%2Fviuer/lists"}