{"id":35495603,"url":"https://github.com/fatinul/mvw","last_synced_at":"2026-01-31T19:04:37.226Z","repository":{"id":332408361,"uuid":"1124471992","full_name":"fatinul/mvw","owner":"fatinul","description":"MoVie revieW inspired by fastfetch","archived":false,"fork":false,"pushed_at":"2026-01-29T14:24:28.000Z","size":81198,"stargazers_count":50,"open_issues_count":3,"forks_count":4,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-30T03:35:53.360Z","etag":null,"topics":["catalogue","movie","pixel","review"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/mvw/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fatinul.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-12-29T04:42:46.000Z","updated_at":"2026-01-29T23:52:57.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/fatinul/mvw","commit_stats":null,"previous_names":["fatinul/mvw"],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/fatinul/mvw","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fatinul%2Fmvw","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fatinul%2Fmvw/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fatinul%2Fmvw/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fatinul%2Fmvw/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fatinul","download_url":"https://codeload.github.com/fatinul/mvw/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fatinul%2Fmvw/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28950313,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-31T18:30:42.805Z","status":"ssl_error","status_checked_at":"2026-01-31T18:30:19.593Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["catalogue","movie","pixel","review"],"created_at":"2026-01-03T17:15:00.230Z","updated_at":"2026-01-31T19:04:37.202Z","avatar_url":"https://github.com/fatinul.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd valign=\"center\"\u003e\n\u003cpre\u003e\n   __  ______  __      ___     __\n  /  |/  /| | / /      | | /| / /\n / /|_/ / | |/ /       | |/ |/ / \n/_/  /_/o |___/ie revie|__/|__/ \n\u003c/pre\u003e\n    \u003c/td\u003e\n    \u003ctd valign=\"center\"\u003e\n      \u003ch3\u003eFastfetch inspired movie reviews\u003c/h3\u003e\n      \u003cp\u003e\u003cem\u003eCatalogue your own movie review inside your terminal.\u003c/em\u003e\u003c/p\u003e\n      \u003cimg src=\"https://img.shields.io/badge/python-3.12+-blue.svg\" alt=\"Python\"\u003e\n      \u003cimg src=\"https://img.shields.io/github/license/fatinul/mvw\" alt=\"License\"\u003e\n      \u003cimg alt=\"GitHub Release\" src=\"https://img.shields.io/github/v/release/fatinul/mvw?color=green\"\u003e\n      \u003cbr\u003e\u003cbr\u003e\n      \u003ccode\u003epipx install mvw\u003c/code\u003e\n      \u003cbr\u003e\u003cbr\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\u003c/div\u003e\n\n\n---\n\n\u003cimg src=\"https://raw.githubusercontent.com/fatinul/mvw/main/images/welcome.png\" align=\"center\"\u003e\n\n```\n  ▁▁     ╭─────────────────────────────────────╮\n ▁▁▁│    │ These are some demos when using MVW │\n┌┘└ ░▌   ╰─────────────────────────────────────╯\n╚═══╝    F: Psst.. his name is MOAI (nice to meet u)                                     \n```\n### Interactive\nDefault usage where you will get to experience the full experience of MVW. You will get to search, rate, review and also save your review. Every reviews will be saved in your local machine!\n\n![Interactive Command](https://raw.githubusercontent.com/fatinul/mvw/main/demos/demo-interactive.gif)\n\n### List\nYou will get to see every past reviews that you had done in a simple interface supported by [iterfzf](https://github.com/dahlia/iterfzf)) which uses the \"__Fuzzy Search__\"\n\n![List Command](https://raw.githubusercontent.com/fatinul/mvw/main/demos/demo-list.gif)\n\n### Config\nEverything that you can see in the config list can be configurable. From the poster_width, theme, your name, and even worldwide-boxoffice feature\n\n![Config Command](https://raw.githubusercontent.com/fatinul/mvw/main/demos/demo-config.gif)\n\n### Theme\n\n\u003e NOTE: Most modern browser supports nerdfont icons in `svg`, you just need to _choose_ nerdfont as **default** in the settings.\n\u003e You can see `svg` below if it is _supported_.\n\n- Gruvbox (The Default Theme)\n![Gruvbox](https://raw.githubusercontent.com/fatinul/mvw/main/images/gruvbox.svg)\n\n- Catppuccin\n![Catpuccin](https://raw.githubusercontent.com/fatinul/mvw/main/images/catppuccin.svg)\n\n- Nord\n![Nord](https://raw.githubusercontent.com/fatinul/mvw/main/images/nord.svg)\n---\n\n## Features\n\n| Features | Notes |\n| :----- | :------ |\n| **Auto fetch movie data** | Uses [OMDb API](http://www.omdbapi.com/apikey.aspx) behind the hood to fetch movie data fast |\n| **Search movies** | Just give the movie title or imdbid to fetch the movie (no more EXACT) |\n| **Menu** | List every accessible feature when selected after `mvw list` |\n| **Change poster** | Change the default poster after fetch |\n| **Pixelated poster** | Unique way to view the poster __(fully intentional)__ |\n| **Transparent support** | Transparent background from png or webp are supported  |\n| **Configurable poster size** | Can change the poster width |\n| **Review history** | All review are saved in a database |\n| **Autocomplete** | Provided by the Typer library |\n| **Themes** | Gruvbox, Catppuccin, Nord |\n| **Save Review** | The review can be saved in svg format with the theme |\n| **Worldwide Boxoffice** | Use webscrap tech to find the global box office |\n| **Half-star Rating** | Support 0.5 star rating |\n| **Review Editor** | Use default editor to edit review |\n| **Caching Poster** | No need to download the poster everytime fetching |\n| **Easy update** | When searching same movie, will use past review |\n| **Reset Config** | Default to the factory setting with single command |\n| **Moai help** | Fun gimmick to help you in the process __(can be hide dont worry)__ |\n\n```\n  ▁▁     ╭─────────────────────────╮\n ▁▁▁│    │ Why am I at the bottom? │\n┌┘└ ░▌   ╰─────────────────────────╯\n╚═══╝    F: Cause heroes appear last.. right..                                  \n```\n\n---\n\n## Motivation\n\nI have a deep interest in TUI/CLI and also movie in general. I also have a vault in Obsidian where I catalogue   movies that I watch but you know how it goes.. (Legend says that it was still there waiting for me :D)\nAt first, as someone like me whose personality (TUI + Movie) will obviously create a movie player that does everything (find, _torrent_, play, and done) which has already been done so many times. \nSo instead I just want to make something different and that's where I (finally) remember about my Obsidian movie catalogue. Then the code begins..\n\nAnd _also_, I just want to learn new things :)\n\nCan check my personal blog for more info -\u003e [here](https://fa.tinul.net/blog/build-mvw)\n \n---\n\n## Installation\n\n| Method | Command |\n| :----- | :------ |\n| pipx *(recommended)* | `pipx install mvw` |\n| uv | `uv tool install mvw` |\n| pip | `pip install mvw` |\n\n\n\u003e NOTE: This CLI require a nerdfont to have the icon fully showed\n\u003e --\u003e This [repo](https://github.com/officialrajdeepsingh/nerd-fonts-installer) seems legit way to install [nerdfont](https://www.nerdfonts.com/) but its up to you how to install, google it, you got this!\n\u003e --\u003e Also, If you are on Windows, don't forget to set nerdfont as default font in the settings.\n\n## Usage\n\n```bash\nmvw\n```\n\n### CLI\n\n```bash\n# Configure\nmvw config -h\n\n# All configure settings\nmvw config --api-key \"OMDB API key\"       # Required\nmvw config --name \"Name\"                  # Optional\nmvw config --poster-width 30\nmvw config --theme \"gruvbox\"\nmvw config --moai                         # Toggle\nmvw config --review                       # Toggle\nmvw config --worldwide-boxoffice          # Toggle\nmvw config --hide-key                     # Toggle\nmvw config --reset                        # Toggle\nmvw config --render                       # choose between pixel (default), blocks, ascii\nmvw config --render ascii --charset       # choose between minimal (default), dots, blocks\n\n# List all reviewed movies\nmvw list\n\n# Change the poster\nmvw poster --id \"ttxxxxxx\" \"poster_path\"\nmvd poster --title \"Inception\" \"poster_path\"\n\n# Preview the reviewed movies\nmvw preview --id \"ttxxxxxx\"\nmvd preview --title \"Inception\"\n\n# Delete the reviewed movies\nmvw delete --id \"ttxxxxxx\"\nmvd delete --title \"Inception\"\n```\n\nThe `--charset` flag is only available for `--render ascii`. A custom minimal charset was created to better fit the constrained size of the poster. You can also choose dots (\"•\") and blocks (unicode blocks). This latter option is already similar to what you would get with `--render pixel` or with `--render blocks`. It will give you a lower resolution.\n\n---\n\n## Configuration\n\nSettings are automatically configured using `mvw config`\n\n## FAQ\n```\n  ▁▁     ╭─────────────────╮\n ▁▁▁│    │ Why am I here?  │\n┌┘└ ░▌   ╰─────────────────╯\n╚═══╝     F: Just for fun i guess\n```\n\n### Why does the poster pixelated?\n\nDuring the early build of the project, I could not figure out a way to pipe a kitty image into the [iterfzf](https://github.com/dahlia/iterfzf) preview section. It took a long time to process so I try another method which is using [rich_pixel](https://github.com/darrenburns/rich-pixels) library which supports rich and also works on every OS. As of now, thats what I could think of to solve it. TLDR: you can think it as _the intended style_\n\n### Why do I need to register an API key?\n\n**Short answer:** It's easier for me to implement and it's very fast!\n\n**Long answer:** During the early build, I tried to use an API from TMDb, however I found that the registering process are quite intimidating. Then, I found OMDb (which is almost the same as TMDb but easier API key registration). Later down the road, I also tried a no-API-key path [Cinemagoer](https://github.com/cinemagoer/cinemagoer). However, I couldn't (as of now) make it work yet. Naybe in the future, another non-API option will arise?!\n\n### Who is MOAI?\n\nIt is just a console.print that I decided to add a face. I choose Moai because, the emoji 🗿 is just too perfect and one of my friends has used it during the phonk era (a lot). The emoji name is also MOAI so I thought why not just MO(AI) it. Same to LLM in [Ollama](https://ollama.com/), just too good to not use.\n\n---\n\n## Inspiration\n\nmvw is built with [Typer](https://github.com/Textualize/textual) + [iterfzf](https://github.com/dahlia/iterfzf) and inspired by:\n- [fastfetch](https://github.com/fastfetch-cli/fastfetch) - Visual system information Display.\n\n---\n\n## License\n\nGPL-3.0\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffatinul%2Fmvw","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffatinul%2Fmvw","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffatinul%2Fmvw/lists"}