I was reading Dostoevsky’s The Brothers Karamazov, and all of a sudden stumbled upon this word called “cupola”, chances are you might know this word. I didn’t and did what I always do, googled it. Ended up knowing that it meant (roof or part of a roof shaped like a dome
).
What began as an innocent dictionary search opened the door to digital distraction and notifications beckoning, headlines competing for attention, and before I knew it, I wandered far from 19th-century Russia into the endless corridors of the internet.
I suspect we’ve all been there, deep in a book, article, or technical documentation, fully immersed in the text. Suddenly, an unfamiliar word appears. The instinct kicks in: reach for your phone, open a browser tab, type the word, hit search, and just like that, your flow is shattered. That quick lookup spirals into checking notifications, glancing at headlines, or tumbling down an internet rabbit hole. By the time you return to reading, the momentum is gone, and you struggle to regain focus.
This frustrating cycle led me to build sollu, a terminal-based dictionary. The name sollu comes from Tamizh, meaning say or tell perfectly capturing its purpose. Since I typically read with my laptop open anyway (for looking up words and, with the rise of LLMs, exploring questions about the book’s content and ideas), creating a terminal solution felt intuitive. Now, sollu addresses both my reading goals: maintaining focus and preserving flow state.
Installing and Configuring sollu
Getting sollu on your system is straightforward using pip. Highly recommended to install sollu within a dedicated Python virtual environment.
pip install sollu
Before you can look up words, sollu needs access to your Gemini API Key,which you can obtain for free from Google AI Studio. The decision to use Gemini as a backbone for building this was quite straightforward. Gemini-2.0-Flash
has no hard daily query cap; costs scale with usage (usage limits are generous, thanks to the Gemini dev team).
Certain dictionary API’s had hard limits on the number of calls that could be made over a particular day or month. Also, chances are that if I want to scale this tool or improve something down the line, I feel that using this might be easier to scale.Do let me know if you are trying to integrate this in your workflow or would want any changes.
Once you have your API key, configure sollu using the config command group:
sollu config set --key YOUR_API_KEY
Replace YOUR_API_KEY
with the actual key you obtained. sollu securely stores this key in a configuration file (.env)
within the standard user configuration directory (~/.config/sollu)
.
You can also manage your configuration using other config subcommands like sollu config delete
or sollu config reset
.
Use sollu config --help
for details.
Using sollu
Fairly straightforward to use , all you need to do is
sollu define <word>
Inorder to define multiple words at once if you ever need
sollu define <word1> <word2> <word3> ...
Sharing few definitions using sollu
Using sollu, I’ve had to slightly modify my reading approach, noting questions I want to explore later rather than investigating immediately. This allows me to quickly look up words without breaking stride. So yea try using sollu and let me know it’s open-source, lightweight, and designed by a reader, for readers.
Resources
Get started with sollu today
- Install: Python Package
- Source Code: Git repo
- API Key: Get your Gemini API key