Shows any Pokémon sprite in your terminal!
  • Python 87.2%
  • Nix 5.5%
  • Rust 5.3%
  • Shell 2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-10-27 21:07:43 +01:00
bin fixed uninstall.sh 2025-07-27 23:29:48 +02:00
src WORKING VERSION (withouth external install.sh args) 2025-07-27 14:16:47 +02:00
.gitignore working flake 2025-07-27 15:36:29 +02:00
.pre-commit-config.yaml Refactoring + Shiny 2024-09-27 22:26:13 +02:00
Cargo.lock working flake 2025-07-27 15:36:29 +02:00
Cargo.toml WORKING VERSION (withouth external install.sh args) 2025-07-27 14:16:47 +02:00
compile.sh fixed install.sh, now everything works with the env var POKEMON_ICAT_DATA; NIX FLAKE *DOES NOT WORK YET* 2025-07-27 23:19:20 +02:00
default.nix Update outputHash value in default.nix 2026-10-27 21:07:43 +01:00
development.md dev.md typo 2025-07-27 23:25:16 +02:00
flake.lock working flake 2025-07-27 15:36:29 +02:00
flake.nix working flake 2025-07-27 15:36:29 +02:00
install.sh readme update 2025-07-27 23:38:37 +02:00
LICENSE Fixed typo, I added a double space to LICENSE by mistake 2024-09-27 22:37:44 +02:00
poetry.lock Update dependencies 2024-10-25 21:30:02 +02:00
pyproject.toml Refactoring + Shiny 2024-09-27 22:26:13 +02:00
README.md update readme 2025-08-03 17:53:03 +02:00
requirements.txt Update dependencies 2024-10-25 21:30:02 +02:00
screenshot.png pic updat 2024-04-23 11:32:58 +02:00
setup_icons.py Update SPRITES_COMMIT to latest working commit 2026-01-02 15:19:07 +01:00

pokemon-icat

This script is inspired by this project, but since the output heavily depends on the font of your terminal, I decided to make a script that shows a true PNG image of the Pokémon (of course, this script requires a terminal that supports images).

Screenshot

Requirements

Important: this program relies on viuer, so check if your terminal is supported first.

To use the script, you must first install the required dependencies:

  • a supported terminal
  • Python 3.9.x or newer
  • Run:
    pip install -r requirements.txt
    

Installation

After making sure that you have all of the requirements, run the following command:

git clone https://github.com/aflaag/pokemon-icat && cd pokemon-icat && sh install.sh

which should start the installation process of the script, by downloading every picture of every Pokémon.

Note that this script will add an environment variable $POKEMON_ICAT_DATA which is used by the binary at runtime. To achieve this, the script modifies the following files:

  • $HOME/.profile
  • $HOME/.zprofile
  • $HOME/.zshrc
  • $HOME/.config/fish/config.fish Some users reported that a reboot was necessary for the program to function correctly.

Moreover, by default this will download every Pokémon with an upscaling factor of the original image of 3, but if you want to change this behaviour run the last command with the option --upscale <FACTOR>, for example:

sh install.sh -u 15

Arch

If you would like to contribute, an AUR package would be awesome!

NixOS

The current flake does not work yet, it is still WIP.

Usage

To show a random Pokémon, simply run:

pokemon-icat

If you want to specify one or more generations in particular, simply add --generations <GENERATIONS> at the end, for example (note: the generations must be comma-separated, and trailing commas are not supported):

pokemon-icat -g 3,4,Hisui,5

Shiny Pokémons are supported too, and the default shiny rate can be changed as follows:

pokemon-icat --shiny-probability=10

If you want to show a Pokémon in particular, just use the --pokemon <POKEMON> flag, for example:

pokemon-icat -p charizard

and if you want to suppress the Pokémon info, use the --quiet flag:

pokemon-icat -p charizard -q

To check all the available options, use the --help option.

Known issues

  • Multiple images return an error while downloading because they do not exist
  • Last DLC pokemons don't get downloaded (change the csv when this is fixed)
  • Image 678.png doesn't get downloaded

would-like-to-do list

  • AUR package (very requested)
  • Nix package (WIP)
  • rename the other images to include every available sprite
    • do they contain regional forms?

Development

Check out development.md