Dr. Claw
Full-stack research workspace. From idea to paper with AI agents.
Fast, lightweight, multi-source academic literature search and export tool for researchers
EducationPython · ShellGitHub @pryndorOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
A Unix-inspired command-line tool for searching scientific literature, built for terminal users who want speed, automation and minimal interfaces. Search PubMed, arXiv, Crossref, DOAJ and Europe PMC in one command, deduplicate results, export to BibTeX/RIS/CSV and more, and get new-paper alerts on email, Telegram, Slack and 14 other channels.
Taken from the repository README
Loading the full README.
Read the full README ↗A Unix-inspired command-line tool for searching scientific literature, built for terminal users who want speed, automation and minimal interfaces.
Search PubMed, arXiv, Crossref, DOAJ and Europe PMC in one command with Boolean queries, deduplicate the results, and export to 8 formats including BibTeX, RIS, EndNote and Excel. Browse and annotate papers in a full-screen TUI, and get new-paper alerts on email, Telegram, Slack and 14 other channels.
📚 Complete Documentation | 🐛 Report Issues
./exports/--tui)--examples flagPerfect for exploring, reading and curating papers
pip install "lixplore-cli[tui]" # adds Textual (Python 3.9+)
lixplore --tui
┌ ◆ Lixplore (semaglutide OR tirzepatide) AND obesity ● PubMed ● EuropePMC ○ arXiv [Search] ┐
├──────────────┬──────────────────────────────────────────────┬─────────────────────────────────┤
│ Search ^F │ Title Author Year Src│ GLP-1 Receptor Agonists in │
│ Library ^L │ 4★ GLP-1 Receptor Agonists Yuan Y 2026 PM │ Heart Failure: A Systematic … │
│ Alerts ^N │ ● An RNA thermogenic ther… Thorne 2026 PM │ Yuan Y, Chen C, Li X +2 │
│ Stats ^T │ Patient characteristics… Tewksb… 2026 EP │ Drugs · 2026 · PubMed │
│ │ │ ── Your notes ────────── │
│ RECENT │ │ ★★★★☆ ○ unread ▲ medium │
│ semaglutide… │ 36 results · 1 selected · sorted by newest │ ── Abstract ──────────── │
├──────────────┴──────────────────────────────────────────────┴─────────────────────────────────┤
│ ⏎ Read o Browser a Annotate space Select e Export f Filter 1-5 Rate esc Back ? Help │
└───────────────────────────────────────────────────────────────────────────────────────────────┘
1–5, annotate (status, priority, tags, notes) on one formCtrl+P), themes, works on Linux, macOS and WindowsPerfect for scripting, automation, and quick searches
All 75 flags fully functional and tested!
# Quick search and export
lixplore -P -q "machine learning" -m 20 -X xlsx
# Advanced workflow with deduplication
lixplore -A -q "COVID-19" -m 50 -D --sort newest -X csv
# Citation export with enrichment
lixplore -P -q "CRISPR" -m 30 --enrich crossref -C apa
# Batch export to multiple formats
lixplore -x -q "quantum computing" -m 25 -X csv,bibtex,ris --zip
All Features Available:
Note: Legacy shell (--shell) and wizard (--wizard) modes are still available but deprecated in favor of the enhanced TUI mode.
Download PDFs automatically with smart fallback chain:
lixplore -P -q "open access" -m 10 --download-pdf
Show PDF Links directly in search results (NEW!):
lixplore -x -q "machine learning" -m 10 --show-pdf-links
Direct integration with your favorite reference managers:
Setup Zotero (one-time):
lixplore --configure-zotero YOUR_API_KEY YOUR_USER_IDUsage:
# Add to Zotero library
lixplore -P -q "research" -m 10 --add-to-zotero
# Add to specific collection
lixplore -P -q "AI" -m 20 --add-to-zotero --zotero-collection 4FCVPNAP
Comprehensive analytics with beautiful ASCII visualizations:
lixplore -P -q "AI" -m 100 --stat
Open any CLI search in the TUI to read, rate, select and export:
lixplore -P -q "machine learning" -m 50 -i
Add ANY API source via simple JSON configuration:
lixplore --custom-api springer -q "quantum physics" -m 20
Get new papers for your searches delivered on a schedule, run free by GitHub Actions. No server, no file edits:
LIXPLORE_QUERIES (one search per line), plus secrets for any channel: Email, Telegram, Discord, Slack, Microsoft Teams, Google Chat, Matrix, WeCom, Feishu, DingTalk, ntfy, Gotify, Pushover, PushPlus, ServerChan3, AstrBot or a custom webhook (n8n/Zapier for WhatsApp, SMS and more).Each digest lists only papers new since the last one, with a CSV/BibTeX attachment. Full guide: docs/guide/alerts.md.
Prefer your own computer? pip install -U lixplore-cli, then lixplore --alerts init creates the settings file and lixplore --alerts schedule prints the cron / Task Scheduler line.
Before installing Lixplore, ensure you have:
Python 3.9 or higher:
python3 --version
Best for most users. Installs in an isolated environment, no virtual env needed.
# Install pipx if you don't have it
# Arch: sudo pacman -S python-pipx
# Ubuntu/Debian: sudo apt install pipx
# Fedora: sudo dnf install pipx
# macOS: brew install pipx
# Then install lixplore
pipx install lixplore-cli
# Upgrade
pipx upgrade lixplore-cli
Why pipx? Modern Linux distros (Arch, Fedora 38+, Ubuntu 23.04+, Debian 12+) block system-wide
pip install(PEP 668).pipxhandles this automatically by creating isolated environments per tool while keeping thelixplorecommand available globally.
# Create and activate a virtual environment
python3 -m venv ~/.venvs/lixplore
source ~/.venvs/lixplore/bin/activate
# Install
pip install lixplore-cli
# Upgrade
pip install --upgrade lixplore-cli
# Using yay
yay -S lixplore-cli
# Using paru
paru -S lixplore-cli
brew install pryndor/lixplore/lixplore-cli
# Upgrade
brew update && brew upgrade lixplore-cli
Works on Apple Silicon and Intel Macs. Includes the full-screen TUI (lixplore --tui).
git clone https://github.com/pryndor/Lixplore_cli.git
cd Lixplore_cli
pip install -e .
For lixplore --tui (Textual; without it you get a simpler Rich TUI):
# With pipx (inject into existing install)
pipx inject lixplore-cli rich textual
# With pip
pip install "lixplore-cli[tui]"
# Arch Linux (AUR) and Homebrew: included, nothing to install
An NCBI API key raises PubMed's rate limit from 3 to 10 requests per second (get one free). Set PUBMED_EMAIL / PUBMED_API_KEY in your environment, or create ~/.lixplore/config.json:
{"pubmed": {"email": "[email protected]", "api_key": "your-ncbi-key"}}
lixplore --version
lixplore --help
This means your distro blocks system-wide pip installs. Use pipx (Method 1) instead.
# Use pip3 or python module syntax
pip3 install lixplore-cli
python -m pip install lixplore-cli
# Use pipx (recommended) or install for current user
pipx install lixplore-cli
# or
pip install --user lixplore-cli
lixplore --tui uses Textual (≥ 4.0). Without Textual it falls back to a simpler TUI built on rich (≥ 13.0). If it fails to launch, follow these steps:
lixplore --check-tui
This prints your Python version, Textual and Rich status, and exact fix instructions.
| Installation method | Fix command |
|---|---|
| pipx (most common) | pipx inject lixplore-cli textual rich |
| pip + venv | pip install "lixplore-cli[tui]" (activate venv first) |
| Arch Linux (AUR) | included since 1.2.3-2; older installs: sudo pacman -S python-textual python-rich |
| Homebrew | included, nothing to install |
pipx users — common gotcha: pipx creates an isolated environment per tool. Installing
textualwith plainpiporpacmanputs it in a different Python environment that lixplore cannot see. Always usepipx inject lixplore-cli textual richso it lands inside the same isolated env.
Rich needs a terminal that supports ANSI escape codes and Unicode. Verify yours:
# Should print "xterm-256color" or similar (not "dumb")
echo $TERM
# Quick Unicode/color test
python3 -c "from rich.console import Console; Console().print('[bold cyan]OK[/bold cyan]')"
Known-working terminals on Linux: GNOME Terminal, Konsole, Alacritty, Kitty, Tilix, Xfce4-terminal, WezTerm.
When connecting over SSH the TERM variable is sometimes lost, disabling Rich:
# On your local machine, connect with terminal forwarding
ssh -t user@host
# Or force 256-color on the remote side
export TERM=xterm-256color
lixplore --tui
Rich will not render correctly in Docker containers, CI runners, or terminals with NO_COLOR=1 set. In these environments, unset the variable if it was set unintentionally:
unset NO_COLOR
lixplore --tui
Multiplexers like tmux and screen sometimes set TERM=screen, which limits color support. Inside a tmux session:
# Quick fix for current session
export TERM=xterm-256color
lixplore --tui
# Permanent fix — add to ~/.tmux.conf
# set -g default-terminal "screen-256color"
For screen, launch it with: screen -T xterm-256color
If you are logged in directly on a raw Linux console (not inside GNOME Terminal, Konsole, etc.) your TERM will be linux, which does not support 256 colors. The TUI will look broken or fail to render.
Solution: Log in via SSH from a color-capable terminal, or start a desktop session and use a terminal emulator listed in Step 3 above. Alternatively, use CLI mode (all features work without a terminal emulator).
All flags work in CLI mode without any extra dependencies. CLI mode is fully production-ready and is what we recommend for scripting, automation, and SSH sessions:
# CLI equivalents for common TUI workflows
lixplore -P -q "your topic" -m 20 # search PubMed
lixplore -A -q "your topic" -m 50 -D # search all + deduplication
lixplore -P -q "topic" -m 20 -X xlsx # export to Excel
lixplore -P -q "topic" -m 20 -i # open the results in the TUI
# Search PubMed
lixplore -P -q "cancer treatment" -m 10
# Search all sources with deduplication
lixplore -A -q "COVID-19" -m 50 -D
# Export to Excel
lixplore -P -q "diabetes" -m 20 -X xlsx -o results.xlsx
Visit our comprehensive documentation site for:
# Show quick examples
lixplore --examples
# Show complete help
lixplore --help
# View man page (after installing)
man lixplore
# Browse online documentation
# https://pryndor.github.io/Lixplore_cli/
-P, --pubmed # Search PubMed
-C, --crossref # Search Crossref
-J, --doaj # Search DOAJ
-E, --europepmc # Search EuropePMC
-x, --arxiv # Search arXiv
-A, --all # Search all sources
-s PX # Combined (PubMed + arXiv)
# AND - both terms required
lixplore -P -q "cancer AND treatment" -m 10
# OR - either term
lixplore -P -q "cancer OR tumor" -m 10
# NOT - exclude term
lixplore -P -q "diabetes NOT type1" -m 10
# Complex queries
lixplore -P -q "(cancer OR tumor) AND treatment" -m 20
-X csv # CSV format
-X xlsx # Excel with formatting
-X json # JSON structured data
-X bibtex # BibTeX for LaTeX
-X ris # RIS for reference managers
-X enw # EndNote Tagged (recommended)
-X endnote # EndNote XML
-X xml # Generic XML
# Export odd-numbered articles
lixplore -P -q "research" -m 50 -S odd -X csv
# Export first 10 articles
lixplore -P -q "cancer" -m 50 -S first:10 -X xlsx
# Export range
lixplore -P -q "study" -m 50 -S 10-20 -X enw
# Mixed patterns
lixplore -P -q "science" -m 50 -S 1 3 5-10 odd -X csv
--sort newest # Latest publications first
--sort oldest # Earliest publications first
--sort journal # Alphabetical by journal
--sort author # Alphabetical by author
# Step 1: Search
lixplore -P -q "aspirin" -m 10
# Step 2: Review in separate terminal
lixplore -R 2
# Close review window: Press 'q' or Ctrl+C
# Show clickable PDF links in results
lixplore -x -q "neural networks" -m 10 --show-pdf-links
# Combine with abstracts
lixplore -P -q "cancer" -m 20 -a --show-pdf-links
# Multi-source with PDF links
lixplore -A -q "COVID-19" -m 50 -D --show-pdf-links
# Search all sources, deduplicate, sort newest, export top 20
lixplore -A -q "machine learning healthcare" -m 100 -D \
--sort newest -S first:20 -X xlsx -o ml_healthcare.xlsx
# Advanced query with multiple conditions
lixplore -P -q "(COVID-19 OR coronavirus) AND (vaccine OR treatment)" \
-m 50 --sort newest -X enw -o covid_papers.enw
# Search 50, export odd-numbered (25 articles)
lixplore -A -q "cancer immunotherapy" -m 50 -D \
-S odd -X csv -o cancer_sample.csv
# Sort by oldest to study evolution
lixplore -P -q "diabetes" -m 100 --sort oldest \
-X xlsx -o diabetes_history.xlsx
# 1. Search
lixplore -P -q "neuroscience" -m 20
# 2. Review specific articles
lixplore -R 2 5 8
# 3. Export selected
lixplore -P -q "neuroscience" -m 20 -S 2 5 8 -X enw
All exports are automatically organized into folders under exports/ in the folder you run lixplore from (use -o FILE to choose a path yourself):
exports/
├── csv/ # CSV files
├── excel/ # Excel files (.xlsx)
├── json/ # JSON files
├── bibtex/ # BibTeX files
├── ris/ # RIS files
├── endnote_tagged/ # EndNote Tagged (.enw)
├── endnote_xml/ # EndNote XML files
└── xml/ # Generic XML files
| Pattern | Syntax | Example | Result |
|---|---|---|---|
| Specific | 1 3 5 | -S 1 3 5 | Articles #1, #3, #5 |
| Range | 1-10 | -S 1-10 | Articles #1 through #10 |
| Odd | odd | -S odd | Odd-numbered articles |
| Even | even | -S even | Even-numbered articles |
| First N | first:10 | -S first:10 | First 10 articles |
| Last N | last:5 | -S last:5 | Last 5 articles |
| Mixed | 1 3 5-10 | -S 1 3 5-10 | Combined patterns |
relevant - Default API order (most relevant first)newest - Latest publications (2025 → 2020)oldest - Earliest publications (1990 → 2000)journal - Alphabetical by journal nameauthor - Alphabetical by first authorLixplore works on all major platforms:
Review feature works with: xfce4-terminal, gnome-terminal, konsole, xterm, alacritty, kitty
Review feature uses Terminal.app
Review feature uses cmd.exe
| Method | Command | Best for |
|---|---|---|
| pipx (recommended) | pipx install lixplore-cli | All Linux/macOS users |
| pip + venv | pip install lixplore-cli | Virtual environments |
| AUR | yay -S lixplore-cli | Arch Linux users |
| Homebrew | brew install pryndor/lixplore/lixplore-cli | macOS & Homebrew users |
| From source | pip install -e . | Development |
See Quick Start above for detailed instructions.
biopython - PubMed/NCBI API accessrequests - HTTP requestsopenpyxl - Excel export supporttextual + rich (optional) - Full-screen TUIAll core dependencies are automatically installed. For the TUI, install with pip install "lixplore-cli[tui]" or pipx inject lixplore-cli textual rich.
After installation, install the man page using whichever method suits you:
Option 1 — built-in command (any install method):
lixplore --install-man
man lixplore
Option 2 — from a cloned repo:
bash docs/install_man_page.sh
man lixplore
The installer automatically finds the right directory, handles sudo when needed, and refreshes the man database. If man lixplore still fails after a user-local install, add this to your shell profile:
export MANPATH=$HOME/.local/share/man:$MANPATH
If you find Lixplore useful for your research, consider supporting its development!
Why support?
"If you value independent research tools and open access to literature, consider buying me a coffee ☕—it helps keep development and research going!"
Your support enables:
Other ways to support:
We're actively working to bring all CLI features into the TUI mode. Upcoming updates will include:
Current Status: The Textual TUI covers search, reading, rating, annotation, library, alerts, stats and export. Enrichment, citation styles and PDF download are CLI flags for now.
Contributions are welcome! Please feel free to submit a Pull Request.
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)Community write-ups, tutorials, and independent reviews of Lixplore:
This project is licensed under the MIT License - see the LICENSE file for details.
Made with ❤️ for the research community