Automatically analyze and generate usage examples for scientific code from research papers
PaperProbe bridges the gap between scientific papers and their associated code repositories. It automatically:
- Scans research papers (arXiv URLs or local PDFs) for GitHub repository links
- Analyzes repositories to understand structure, dependencies, and usage patterns
- Generates usage examples using AI-powered code analysis
- Provides insights on repository statistics, code quality, and documentation
Perfect for researchers, developers, and students who want to quickly understand and utilize code from scientific publications.
- Beautiful terminal interface built with Textual
- Real-time progress updates and visual feedback
- Keyboard shortcuts for efficient navigation
- arXiv papers: Direct URL scanning
- Local PDFs: Parse papers from your filesystem
- GitHub URLs: Direct repository analysis
- Intelligent code structure analysis
- Automated usage example generation
- Context-aware documentation extraction
- GitHub statistics (stars, forks, contributors)
- Dependency analysis
- Code quality metrics
- File structure visualization
pipx install paperprobepip install paperprobegit clone https://github.com/Brook-B-Nigatu/PaperProbe.git
cd PaperProbe
pip install -e .Tip
Package version may need to be specified. pipx install paperprobe==0.2.0
- Python: 3.12 or higher (some dependencies don't work on Python v3.13)
- API Keys: AI API key for AI-powered analysis
- GitHub Token (optional): For enhanced GitHub API access
PaperProbe requires API keys to function.
Add to your shell configuration file (~/.zshrc, ~/.bashrc, etc.):
export CONSTRUCTOR_KM_ID=""
export CONSTRUCTOR_API_KEY=""
export CONSTRUCTOR_API_URL=""
export GITHUB_TOKEN="" #optional
Then reload your shell:
source ~/.zshrcpaperprobe-
Enter a source:
- arXiv URL:
https://arxiv.org/abs/2301.12345 - Local PDF:
/path/to/paper.pdf - GitHub URL:
https://github.com/username/repo
- arXiv URL:
-
Scan for repositories: PaperProbe extracts GitHub links from papers
-
Select a repository: Choose from the discovered repos
-
Choose analysis mode:
- Basic: Quick repository overview
- Deep: Comprehensive analysis with usage examples
-
View results: Interactive markdown display with insights
| Shortcut | Action |
|---|---|
Ctrl+S |
Use sample URL |
Ctrl+Q |
Quit application |
Enter |
Submit input / Select item |
↑/↓ |
Navigate lists |
Try the built-in sample by pressing Ctrl+S on the intro screen, or paste this URL:
https://github.com/Brook-B-Nigatu/PaperProbe
PaperProbe/
├── src/
│ ├── core/ # Core analysis logic
│ │ ├── llm_service.py # AI service integration
│ │ └── task_manager.py # Async task orchestration
│ ├── github_repo/ # GitHub repository handling
│ ├── preprocessing_utilities/
│ │ └── pdf_parser.py # PDF text extraction
│ ├── tool_providers/ # Analysis tool providers
│ └── ui/ # Terminal UI components
│ ├── app.py # Main TUI application
│ ├── controller.py # Business logic
│ └── style.tcss # TUI styling
├── pyproject.toml # Project configuration
└── README.md
# Clone the repository
git clone https://github.com/Brook-B-Nigatu/PaperProbe.git
cd PaperProbe
# Install in editable mode
pip install -e .
# Or use uv for faster installs
uv pip install -e .# Run linter
ruff check .
# Format code
ruff format .This project is licensed under the MIT License - see the LICENSE.txt file for details.
- Built with Textual for the beautiful TUI
- Powered by LangChain and OpenAI for intelligent analysis
- PDF parsing with pdfminer.six