Skip to main content

Academic Literature Search & Export CLI Tool

Project description

Lixplore

Academic Literature Search & Export CLI Tool

Python Version License: MIT Documentation GitHub PyPI version Downloads Issues Buy Me A Coffee

Search across multiple academic databases (PubMed, arXiv, Crossref, DOAJ, EuropePMC) with Boolean operators, smart selection, and export to 8 formats including EndNote, Excel, and BibTeX.

๐Ÿ“š Complete Documentation | ๐Ÿ› Report Issues


โœจ Features

Core Features

  • ๐Ÿ” Multi-Source Search - Search 5 academic databases simultaneously (PubMed, arXiv, Crossref, DOAJ, EuropePMC)
  • ๐Ÿ”ค Boolean Operators - Advanced queries with AND, OR, NOT, parentheses
  • ๐Ÿ“Š Smart Sorting - Sort by relevance, newest, oldest, journal, or author
  • ๐Ÿ”ข Smart Selection - Export odd/even, ranges, first/last N articles
  • ๐Ÿ’พ 8 Export Formats - CSV, Excel, JSON, BibTeX, RIS, EndNote, XML
  • ๐Ÿ“– Review Mode - View articles in separate terminal windows
  • ๐ŸŽฏ Deduplication - Advanced duplicate removal with multiple strategies
  • ๐Ÿ“ Organized Exports - Auto-organized folders by format type

Advanced Features

  • ๐Ÿ“ฅ PDF Downloads - Automatic PDF downloads from PMC, arXiv, Unpaywall, and SciHub (optional)
  • ๐Ÿ”— PDF Link Display - Show clickable PDF links for open access articles in terminal (NEW!)
  • ๐Ÿ“š Reference Manager Integration - Direct Zotero API integration and Mendeley RIS export
  • ๐Ÿ“Š Statistics Dashboard - Comprehensive analytics with visualizations (publication trends, top journals, top authors)
  • ๐ŸŽจ Interactive TUI Mode - Browse, select, and export with an interactive terminal UI
  • ๐Ÿ“ Citation Export - Format citations in APA, MLA, Chicago, IEEE styles
  • ๐Ÿ”ง Custom API Integration - Plugin architecture for any REST API (Springer, BASE, etc.)
  • ๐Ÿ’ก Metadata Enrichment - Auto-enrich results from multiple APIs (Crossref, PubMed, arXiv)
  • ๐Ÿ’พ Smart Caching - 7-day cache with automatic expiration
  • ๐Ÿ“„ Pagination - Browse large result sets with automatic pagination
  • ๐ŸŽฏ Export Profiles - Save and reuse export configurations
  • ๐Ÿ“‹ Export Templates - Predefined templates (Nature, Science, IEEE)
  • ๐Ÿ—œ๏ธ Export Compression - ZIP compression for batch exports

Documentation

  • ๐Ÿ“š Complete Documentation Site - Comprehensive online documentation
  • ๐Ÿ“– 32+ Documentation Pages - Getting started, user guides, command reference, examples
  • ๐Ÿ” All 95 Flags Documented - Detailed examples for every command-line flag
  • ๐ŸŽ“ Step-by-Step Tutorials - From installation to advanced workflows
  • ๐Ÿ’ก Quick Examples - Built-in examples with --examples flag
  • ๐Ÿ“„ Man Page - Traditional Unix man page included

๐Ÿš€ Interactive Interface

  • ๐ŸŽจ Enhanced TUI Mode - Beautiful text-based interface with search, browse, annotate, and export
  • ๐Ÿ“ Annotation System - Rate, tag, comment, and organize your research library
  • ๐Ÿ“Š Statistics Dashboard - Visualize publication trends and analytics
  • ๐Ÿ’พ Smart Export - Export to 8 formats with intelligent deduplication

๐ŸŽฏ Two Ways to Use Lixplore

1๏ธโƒฃ Interactive TUI Mode - Visual Interface (Recommended)

Perfect for exploration, learning, and complex workflows

# Launch interactive TUI
lixplore --tui

# Or simply run without arguments
lixplore

# Navigate with arrow keys, search visually, annotate results, view stats

Features:

  • Visual search interface with source selection
  • Browse and select articles interactively
  • Annotation management with ratings and tags
  • Statistics dashboard with visualizations
  • Export functionality with format selection
  • Beautiful terminal UI with keyboard shortcuts

2๏ธโƒฃ Command Line Mode - Direct Commands

Perfect for scripting, automation, and quick searches

# Quick search and export
lixplore -P -q "machine learning" -m 20 -X xlsx

# Advanced workflow
lixplore -A -q "COVID-19" -m 50 -D --sort newest -X csv

Note: Legacy shell (--shell) and wizard (--wizard) modes are still available but deprecated in favor of the enhanced TUI mode.


๐Ÿ†• What's New in Version 2.0

Lixplore has been massively upgraded with powerful new features:

๐Ÿ“ฅ PDF Download & Link Display

Download PDFs automatically with smart fallback chain:

  • PubMed Central (open access)
  • arXiv (preprints)
  • DOI Resolution via Unpaywall
  • SciHub fallback (optional, user-configured)
lixplore -P -q "open access" -m 10 --download-pdf

Show PDF Links directly in search results (NEW!):

  • Display clickable PDF links for open access articles
  • Works in modern terminals (iTerm2, GNOME Terminal, Windows Terminal)
  • No download required - click to open in browser
lixplore -x -q "machine learning" -m 10 --show-pdf-links

๐Ÿ“š Reference Manager Integration

Direct integration with your favorite reference managers:

  • Zotero: API integration with collection support
  • Mendeley: RIS export for easy import

Setup Zotero (one-time):

  1. Get API key: https://www.zotero.org/settings/keys
  2. Configure: lixplore --configure-zotero YOUR_API_KEY YOUR_USER_ID

Usage:

# 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

๐Ÿ“Š Statistics Dashboard

Comprehensive analytics with beautiful ASCII visualizations:

  • Publication trends by year
  • Top journals and authors
  • Source distribution
  • Metadata completeness
lixplore -P -q "AI" -m 100 --stat

๐ŸŽจ Interactive TUI Mode

Browse results with a rich interactive terminal interface:

  • Navigate pages with keyboard
  • Select articles visually
  • Export selected items
  • View detailed information
lixplore -P -q "machine learning" -m 50 -i

๐Ÿ”ง Custom API Integration

Add ANY API source via simple JSON configuration:

  • No code modification needed
  • Supports Springer, BASE, and more
  • Plugin architecture for extensibility
lixplore --custom-api springer -q "quantum physics" -m 20

๐Ÿ’ก Smart Enhancements

  • Metadata Enrichment: Auto-fill missing data from multiple APIs
  • Export Profiles: Save and reuse export configurations
  • Citation Formatting: Export as APA, MLA, Chicago, IEEE
  • Batch Export: Export to multiple formats simultaneously
  • Deduplication Strategies: Multiple algorithms with customization

๐Ÿš€ Quick Start

Installation

# From PyPI (recommended)
pip install lixplore-cli

# From source
git clone https://github.com/pryndor/Lixplore_cli.git
cd Lixplore_cli
pip install -e .

Basic Usage

# 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

๐Ÿ“š Documentation

๐Ÿ“– Complete Online Documentation

Visit our comprehensive documentation site for:

  • Getting Started Guides - Installation and first search tutorial
  • User Guides - Search, filtering, export, annotations, PDF management
  • Command Reference - All 95 flags with detailed examples
  • Advanced Features - Automation, AI integration, Zotero, custom APIs
  • Examples - Common workflows, use cases, tool integrations

Quick Help

# 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/

Key Commands

Search Sources

-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)

Boolean Operators

# 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

Export Formats

-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

Smart Selection

# 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

Sorting

--sort newest   # Latest publications first
--sort oldest   # Earliest publications first
--sort journal  # Alphabetical by journal
--sort author   # Alphabetical by author

Review Mode

# 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

PDF Links

# 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

๐ŸŽฏ Use Cases

1. Literature Review

# 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

2. Boolean Search with Export

# 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

3. Quick Sample Review

# Search 50, export odd-numbered (25 articles)
lixplore -A -q "cancer immunotherapy" -m 50 -D \
  -S odd -X csv -o cancer_sample.csv

4. Historical Research

# Sort by oldest to study evolution
lixplore -P -q "diabetes" -m 100 --sort oldest \
  -X xlsx -o diabetes_history.xlsx

5. Multi-Step Workflow

# 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

๐Ÿ“Š Export Formats

All exports are automatically organized into folders:

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

๐Ÿ”ง Advanced Features

Smart Selection Patterns

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

Sort Options

  • relevant - Default API order (most relevant first)
  • newest - Latest publications (2025 โ†’ 2020)
  • oldest - Earliest publications (1990 โ†’ 2000)
  • journal - Alphabetical by journal name
  • author - Alphabetical by first author

๐Ÿ–ฅ๏ธ Platform Support

Lixplore works on all major platforms:

  • โœ… Linux (all distributions)
  • โœ… macOS (10.14+)
  • โœ… Windows (10+)

Platform-Specific Notes

Linux

Review feature works with: xfce4-terminal, gnome-terminal, konsole, xterm, alacritty, kitty

macOS

Review feature uses Terminal.app

Windows

Review feature uses cmd.exe


๐Ÿ“ฆ Installation Methods

Method 1: PyPI (Recommended)

pip install lixplore-cli

Method 2: From Source

git clone https://github.com/pryndor/Lixplore_cli.git
cd Lixplore_cli
pip install -e .

Method 3: Using pipx (Isolated)

pipx install lixplore

๐Ÿ” Requirements

  • Python 3.7 or higher
  • Internet connection for API access
  • Terminal emulator (for review feature)

Dependencies

  • biopython - PubMed/NCBI API access
  • requests - HTTP requests
  • litstudy - Literature study support
  • openpyxl - Excel export support

All dependencies are automatically installed.


๐Ÿ“– Man Page

After installation, install the man page:

sudo cp docs/lixplore.1 /usr/local/share/man/man1/
sudo mandb -q
man lixplore

โ˜• Support the Project

If you find Lixplore useful for your research, consider supporting its development!

Buy Me A Coffee

Why support?

  • โœจ Keeps the project actively maintained and updated
  • ๐Ÿš€ Helps add new features and integrations
  • ๐Ÿ“š Supports free, open-source academic tools
  • ๐ŸŒ Makes research more accessible to everyone

"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:

  • Regular updates and bug fixes
  • New API integrations (IEEE Xplore, Scopus, Web of Science)
  • Advanced features (LLM integration, citation networks, collaboration tools)
  • Better documentation and tutorials
  • Faster response to issues and feature requests

Other ways to support:

  • โญ Star the repository on GitHub
  • ๐Ÿ› Report bugs and issues
  • ๐Ÿ’ก Suggest new features
  • ๐Ÿ“– Improve documentation
  • ๐Ÿ”€ Contribute code via pull requests
  • ๐Ÿ“ข Share Lixplore with your research community

๐Ÿค Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

๐Ÿ“ License

This project is licensed under the MIT License - see the LICENSE file for details.


๐Ÿ™ Acknowledgments

  • PubMed/NCBI for providing free API access
  • arXiv for open preprint access
  • Crossref for DOI metadata
  • DOAJ for open access journal data
  • EuropePMC for European literature access

๐Ÿ“ง Support & Community


๐Ÿ”— Quick Links


Made with โค๏ธ for the research community

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lixplore_cli-1.0.1.tar.gz (1.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lixplore_cli-1.0.1-py3-none-any.whl (92.9 kB view details)

Uploaded Python 3

File details

Details for the file lixplore_cli-1.0.1.tar.gz.

File metadata

  • Download URL: lixplore_cli-1.0.1.tar.gz
  • Upload date:
  • Size: 1.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.6

File hashes

Hashes for lixplore_cli-1.0.1.tar.gz
Algorithm Hash digest
SHA256 33d0ca0e1759a3929a87ef08fd04595820a3035ea9e7ce391c13288335d2550d
MD5 28ccc820d61c26515558332f04a03e42
BLAKE2b-256 1d235e52ffd053dff18ae2aeb136bb4043ec54b71bed211f094b863ccb3f45c2

See more details on using hashes here.

File details

Details for the file lixplore_cli-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: lixplore_cli-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 92.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.6

File hashes

Hashes for lixplore_cli-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2809fe3d508b5767527a639e7a6521072b6345d86cf3527a87b2dcb7cec0a0b7
MD5 85f77d2763adbaeacad81b4d22b4951c
BLAKE2b-256 ba23622eff8d851f10e9209fff4bb2fed72522f2e59e12d69e40e1b2f3610aa2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page