ResearchPulse
Your daily pulse on research. A free, open-source agent that fetches new papers in your fields and opens them in your browser.
Quick Install (Recommended)
Windows
- Download install.bat
- Double-click to run
Or run in Command Prompt:
install.bat
Mac / Linux
- Download install.sh
- Run:
chmod +x install.sh
./install.sh
The install scripts will:
- Check if Python is installed
- Install Python automatically if missing
- Install ResearchPulse
Update
Windows
Download update.bat
update.bat
Mac / Linux
Download update.sh
chmod +x update.sh
./update.sh
Or manually:
pip install research-pulse --upgrade
Manual Install
If you already have Python installed:
pip install research-pulse
Or with pipx (Mac/Linux):
pipx install research-pulse
Desktop App
Launch the GUI application:
# Install with desktop support
pip install research-pulse[desktop]
# Launch the app
research-pulse desktop
Features:
- Dark mode interface
- Browse papers with ranking and venue info
- Search papers across multiple sources
- Manage topics with checkboxes
- Rate papers and track reading history
- Open papers in browser with one click
CLI Usage
research-pulse # Today's papers
research-pulse search "query" # Search papers
research-pulse search "attention" --venue neurips,icml --core A --year 2024
research-pulse conferences # List CORE-ranked venues
research-pulse conferences --core "A*" # Top-tier only
research-pulse topics # View/change topics
research-pulse topics ai-ml nlp cv # Set topics directly
research-pulse add-topic --id my-field --label "My Field" --keywords "kw1,kw2"
research-pulse chat # Interactive agent
research-pulse help # All commands
Email Newsletter
ResearchPulse includes a built-in email newsletter system.
Subscribe
research-pulse subscribe # Interactive - choose topics, frequency, email
research-pulse subscribe email@example.com # Quick subscribe with saved topics
Frequencies available:
- Every 3 days
- Weekly
- Biweekly (every 2 weeks)
- Monthly
Unsubscribe
research-pulse unsubscribe # Interactive unsubscribe
What it does
- Fetches papers from arXiv, OpenAlex, Europe PMC, bioRxiv, Crossref, Semantic Scholar
- Auto-detects topics from your Zotero library (if installed)
- Opens a clean HTML digest in your browser
- Tracks your reading history and ratings
- 31 built-in research domains (AI, NLP, medicine, physics, etc.)
- Follow any field:
research-pulse follow "quantum computing" - Conference metadata: venue name, year, and CORE rank (A*, A, B, C) on each paper
- Filter by conference:
--venue neurips,--core A,--year 2024on search - Email newsletters: Automated paper digests sent to subscribers
Conference filtering
Each paper shows venue, year, and CORE rank when available (from OpenAlex, Crossref, or arXiv comments).
research-pulse conferences # all ranked venues in catalog
research-pulse search "diffusion models" --venue neurips,icml
research-pulse search "LLM reasoning" --core A --year 2024
CORE ranks come from a bundled offline catalog (config/core_venues.yaml). Edit or extend it for your field — no CORE API key needed.
Zotero Integration
If you have Zotero installed, topics are auto-detected from your library on first run only. Manual topic choices are kept after that.
research-pulse zotero # See detected topics
research-pulse zotero --apply # Re-sync digest topics from Zotero
Topics
Set topics with IDs (the short names in parentheses), not display labels:
research-pulse topics # Interactive picker
research-pulse topics ai-ml nlp cv # Set directly
research-pulse topics show # See current topics + config file path
Run research-pulse topics with no args to see the full list and current selection.
One config file — avoid mixing installs
Topic choices are stored in data/local.json. Where that file lives depends on how you run ResearchPulse:
| How you run it | Config location |
|---|---|
research-pulse (pip/pipx) |
%USERPROFILE%\.research-pulse\data\local.json (Windows) or ~/.research-pulse/data/local.json |
python -m research_agent from a git clone |
<repo>/data/local.json |
If you set topics one way but run the digest another, you'll see the wrong topics (often defaults ai-ml, nlp).
Fix: use the same entry point for both, or reinstall from your clone:
pip install -e "D:\Research Agent" # editable install — one path for everything
research-pulse topics show # confirm config file path
Set RESEARCHPULSE_HOME to force a single config directory anywhere.
Interactive Agent
research-pulse chat
Inside the agent:
search <query>— search paperssummarize <n>— summarize papercompare <n1> <n2>— compare papersrate <n> <1-5>— rate a paperask <question>— ask AI about papersinsights— get research insightsmemory— view reading history
Add Custom Topics
research-pulse add-topic --id data-science --label "Data Science" --keywords "data,analytics,visualization" --arxiv "stat.ML,cs.DB"
Changelog
v0.5.1 (Latest)
New Features:
- Email newsletter system with SMTP support.
- Subscribe command with topic selection:
research-pulse subscribe - Quick subscribe with email:
research-pulse subscribe email@example.com - Automatic SMTP failover (primary → backup)
- Configurable delivery frequency (3 days, weekly, biweekly, monthly)
- Email templates with responsive HTML design
- Unsubscribe links in every email
Improvements:
- Topic selection now shows saved topics with checkmark
- Better error messages for unauthorized access
v0.5.0
- Desktop application with dark mode
- Paper rating and reading history
- CORE conference rankings
- Zotero integration
- 31 built-in research domains
License
MIT — see LICENSE.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file research_pulse-0.5.4-py3-none-any.whl.
File metadata
- Download URL: research_pulse-0.5.4-py3-none-any.whl
- Upload date:
- Size: 117.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/4.0.2 CPython/3.7.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
90cdff3622baa045725b841e247aef43f693e30f75a639a7837903897a1d03f5
|
|
| MD5 |
ea3c958e20ba6c2c86852b27480ff43e
|
|
| BLAKE2b-256 |
0ab5ee9f59ed0143bb091dd6a01d2f6e7ba300c20d181e09de78dc4057c937f9
|