A tool to monitor Google Scholar alerts and classify research papers using Perplexity AI.
- Connects to Gmail to fetch Google Scholar alert emails
- Uses Perplexity AI to parse and extract paper information
- Supports multiple research topics and keywords
- Sends notifications to Slack
- Clone the repository
- Create a virtual environment:
python -m venv .venv
- Activate the virtual environment:
source .venv/bin/activate
(Unix) or.venv\Scripts\activate
(Windows) - Install dependencies:
pip install -r requirements.txt
- Copy
.env.example
to.env
and fill in your credentials - Copy
config.example.yml
toconfig.yml
and customize settings
Create a .env
file with:
[email protected]
GMAIL_APP_PASSWORD=your-app-specific-password
PPLX_API_KEY=your-perplexity-api-key
SLACK_API_TOKEN=your-slack-api-token
- Go to Google Scholar
- Search for the researcher you want to track
- Click on their profile
- Click the "Follow" button (bell icon) to receive email alerts for new papers
- In Gmail, create a filter to move these alerts to your designated Scholar folder
- Update your
config.yml
to include any Slack users to notify:
research_topics:
- name: "LLM Inference"
description: "Papers about large language model inference, optimization, and deployment"
keywords:
- "language model inference"
- "LLM serving"
- "model optimization"
slack_users:
- "@user1"
- "@user2"
slack_channel: "#llm-papers" # optional
To add researchers to the HyScale Scholar tracking:
- Email the admin ([email protected]) with:
- Researcher's name and Google Scholar profile link
- Your Slack username to receive notifications
- Any specific keywords you want to track
- The admin will:
- Set up the Google Scholar alert
- Update the configuration
- Confirm once tracking is active
Run the main script:
python scholar_classifier.py
To run the integration tests under the root directory:
python -m unittest tests/test_integration.py -v
The integration tests require a test_config.yml
file in the tests/
directory with your Gmail credentials and settings. Example structure:
email:
username: [email protected]
password: your-app-specific-password # Gmail App Password, not your regular password
folder: "Inbox" # IMAP folder where Scholar alerts are stored
Note:
- You'll need to create an App Password for Gmail
- The tests expect Google Scholar alert emails from January 5th, 2025 in the specified folder
- Make sure your Scholar alerts are being properly filtered to the specified folder, namely provide the correct path to the folder in the
config.yml
file
MIT