WikiSH 🌐
Terminal Wikipedia Reader
WikiSH is a powerful command-line interface (CLI) tool that lets you search and read Wikipedia articles directly from your terminal.
It features a clean, rich interface and integrates with AI to provide concise summaries of long articles.
✨ Features
- 🔍 Fast Search: Instantly search Wikipedia for any topic.
- 📖 Terminal Reader: Read full Wikipedia articles with beautiful Markdown formatting and a pager for easy navigation.
- 🤖 AI Summarization: Generate 300-word summaries of any article using Llama 3 via Replicate.
- 🎨 Rich UI: Utilizes
richfor a vibrant terminal experience with tables, panels, and colored output.
🚀 Getting Started
Prerequisites
- Python 3.8+
- Replicate API Token (optional, for summaries)
Installation
📦 Recommended: Using pipx
The easiest way to install WikiSH and have it work immediately is using pipx. This handles the system PATH automatically.
pipx install wikish
🐍 Standard: Using pip
You can also install it directly from PyPI or GitHub:
# From PyPI
pip install wikish
# Or from GitHub
pip install git+https://github.com/yourusername/wikish.git
[!IMPORTANT] Windows Users: If the
wikishcommand is not recognized after installation, you likely need to add your Python Scripts folder to your system's PATH.
- Run
pip show wikishto find where it is installed.- Add the
Scriptsfolder (e.g.,...\Python314\Scripts) to your Environment Variables.- Restart your terminal.
🛠 Usage
Once installed, you can launch WikiSH from anywhere:
wikish
Or search for a specific topic directly:
wikish "Quantum Physics"
⌨️ Navigation
- Article Selection: Enter the index number from the search results to read an article.
- Reading: Use arrow keys or Space/PageDown to scroll. Press
qto exit the pager. - Actions:
s: Generate an AI summary.n: Return to search results.q: Quit the application.
⚙️ Configuration
Create a .env file in your project or set the environment variable:
REPLICATE_API_TOKEN=your_token_here
(Optional: Only needed for AI-powered summaries)
📂 Project Structure
wikish/
├── src/ # Source code
│ └── wikish/ # Core package
│ ├── ai.py
│ ├── cli.py
│ ├── models.py
│ ├── search.py
│ └── utils.py
├── main.py # Entry point (for local dev)
├── pyproject.toml # Build system and dependencies
├── .env # Environment variables (secret)
└── requirements.txt # legacy dependency list
📦 Dependencies
typer: For CLI argument parsing.rich: For beautiful terminal formatting.nlpia2-wikipedia: For accessing Wikipedia content.replicate: For AI-powered summaries.python-dotenv: For managing environment variables.mdv: For terminal markdown viewing.
📝 License
This project is open-source and available under the MIT License.
Metadata
Release files for wikish 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| wikish-0.1.1.tar.gz | 9.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| wikish-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 17.4 kB
Release files / wikish-0.1.1.tar.gz
| Download URL | wikish-0.1.1.tar.gz |
|---|---|
| Size | 9.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3694bc400ff40b7638a10c73e2f730b3904153423714c94d9151ec37b018df39
|
|
BLAKE2b-256 checksum How to use checksums |
7669f73cb2d290b788e04839207c4b284cd8a6a90b45fee0f1946064bee7178c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.4
|
Release files / wikish-0.1.1-py3-none-any.whl
| Download URL | wikish-0.1.1-py3-none-any.whl |
|---|---|
| Size | 8.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8dbfee0ddb4c7206cdd9d1e1c0456ef2c41ce87ecd7b3576ba2add514d6e3eea
|
|
BLAKE2b-256 checksum How to use checksums |
49cc955879c02a268fe0d0c1c8999d9381e754850c87bb979774e816dc1da90a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.4
|