9 Command-Line Tools to Make Life Easier and More Fun
Tags: productivity, python
Published: 2021-04-30 23:55:04


![Photo by [Christian Perner](https://unsplash.com/photos/UKLIuV8rAks) on [Unsplash](https://unsplash.com/)](https://cdn-images-1.medium.com/max/6032/1*_YJ49XexGh3xKFSXu_UMDA.jpeg)

### [1. StarCLI](https://github.com/hedythedev/starcli)

![Screenshot taken from [https://github.com/hedythedev/starcli](https://github.com/hedythedev/starcli)](https://cdn-images-1.medium.com/max/2456/1*BQd4asyYPZbxBVNVDcU0tw.png)

This head honcho is a wonderful source for finding new cool things people are building every day.

Function: Discover trending Github projects, filter by language, time (day, week, month), topic, and more.

### 2. [Deep Daze](https://github.com/lucidrains/deep-daze)

This command-line tool zooms you into the future

Function: Generate images from text.

It uses OpenAI’s CLIP image re-ranking model and Siren.

While it is not as impressive as OpenAI’s [DALL-E](https://openai.com/blog/dall-e/), it can be fun to play with.

Often times you get the impression or essence of what you want rather than a precise version of it.

For example, here’s the 37th iteration I got when I tried: “command line text art of a Japanese bread character”

![command line text art of a Japanese bread character](https://cdn-images-1.medium.com/max/2000/1*UvfWfw8P63vK5RLFmk2Z5A.jpeg)

After you install it with:

    pip install deep-daze

All you have to do is:

    imagine “a potato dreaming on the beach”

And you can get even better results with:

    imagine “a potato being on the beach” --deeper

If you’ve got more power, you can increase layers for better results:

    imagine "stranger in strange lands" --num-layers 32

Limitations: This one can be slow depending on how powerful your computer is.

Currently there are several projects trying to replicate DALL-E, here’s [another one](https://github.com/lucidrains/DALLE-pytorch).

### 3. [Rebound](https://github.com/shobrook/rebound)

Function: Fetch Stack Overflow results whenever an exception is thrown.

Limitations: Python only

### 4. [Exa](https://github.com/ogham/exa)

Function: A modern alternative to ls. List files in a beautiful way:

![Photo by Exa creator at [https://github.com/ogham/exa](https://github.com/ogham/exa)](https://cdn-images-1.medium.com/max/4532/1*1GgkhltggvLD39fpjyUCMQ.png)

### 5. [Peco](https://github.com/peco/peco)

Function: Simple interactive filtration/search tool for the command line.

If like me you’ve ever been frustrated that the command line does not have some sort of auto-complete or fuzzy match, Peco is the answer.

![GIF by Peco creator at [https://github.com/peco/peco](https://github.com/peco/peco)](https://cdn-images-1.medium.com/max/2000/1*s2eTtRI_TtyAFLiTEhuxgg.gif)

![GIF by Peco creator at [https://github.com/peco/peco](https://github.com/peco/peco)](https://cdn-images-1.medium.com/max/2000/1*40qVcja8L64traI3r_g5Fw.gif)

### 6. [icdiff](https://www.jefftk.com/icdiff)

Function: Highlight differences in code

As the creator Jeff points out, your terminal can display color but a lot of diff tools don’t use it. icdiff highlights those differences.

![Photo by icdiff creator at [https://www.jefftk.com/icdiff](https://www.jefftk.com/icdiff)](https://cdn-images-1.medium.com/max/4660/1*Mf2tavy6L83PCD-JV0N6qg.png)

Limitations: only available on Mac/Linux.

### 7. [ack](https://beyondgrep.com/why-ack/)

Function: With ack, you can search a directory of source code files for text inside the code, from inside the terminal, and get pretty formatted code segments in your terminal.

It’s:

 1. Conveniently easy

 2. Fast

Instead of typing:

$ grep pattern $(find . -type f | grep -v '\.git')

You can type:

$ ack pattern

Here’s [a lightning talk](https://www.youtube.com/watch?v=sKmyl5D8Da8) from Cameron Pope on why you should use it.

You can install it [here](https://beyondgrep.com/install/).

### 8. [Theme.sh](https://github.com/lemnos/theme.sh)

Function: Interactive theme selection for the terminal.

![GIF by Theme.sh creator at [https://github.com/lemnos/theme.sh](https://github.com/lemnos/theme.sh)](https://cdn-images-1.medium.com/max/2160/1*D5RMQ1y4Ybp0fZfjCNJ3hA.gif)

### 9. [Pyp](https://github.com/hauntsaninja/pyp)

Function: Run Python commands in the shell.

This can be handy if you want to do something quick in the terminal that integrates Python.

For example, here’s a line that gets the file formats in a directory and sorts them by most common:

    ls | pyp ‘Path(x).suffix’ | pyp ‘Counter([line for line in lines if line != “”]).most_common()’



Result:

(‘.wav’, 9)

(‘.py’, 4)

(‘.mp3’, 1)

(‘.zip’, 1)

### **Resources**

All the choices above in a glance:

 1. [StarCLI](https://github.com/hedythedev/starcli)

 2. [Deep daze](https://github.com/lucidrains/deep-daze)

 3. [Rebound](https://github.com/shobrook/rebound)

 4. [Exa](https://github.com/ogham/exa)

 5. [Peco](https://github.com/peco/peco)

 6. [icdiff](https://www.jefftk.com/icdiff)

 7. [ack](https://beyondgrep.com/why-ack/)

 8. [Theme.sh](https://github.com/lemnos/theme.sh)

 9. [Pyp](https://github.com/hauntsaninja/pyp)