AI-Powered Research Paper Analysis and Management System
Project description
ArionXiv - AI-Powered Research Paper Analysis and Management
ArionXiv is a comprehensive Python package for discovering, analyzing, and managing research papers from arXiv with AI-powered insights and organizational features.
Features
- Advanced Search: Intelligent paper discovery with category filtering and relevance scoring
- AI Analysis: Deep content analysis using state-of-the-art language models (Groq LLM)
- Comprehensive Insights: Daily trend analysis and research direction recommendations
- Interactive Chat: Chat with papers to extract specific insights and answers
- Personal Library: Organize and manage your research collection
- Beautiful CLI: Rich terminal interface with customizable themes
- Web API: FastAPI server for integration with web applications
- Trending Analysis: Discover trending topics and emerging research areas
- Secure Authentication: Local email/password login with JWT session tokens
- Cloud Database: MongoDB Atlas integration for scalable data storage
Installation
From PyPI (Recommended)
pip install arionxiv
From Source
git clone https://github.com/ArionDas/arionxiv.git
cd arionxiv
pip install -e .
Quick Start
1. Configuration
Create a .env file with your API keys:
# Copy the template
cp .env.template .env
# Edit with your credentials
MONGODB_URI=your_mongodb_atlas_connection_string
GROQ_API_KEY=your_groq_api_key
2. CLI Usage
# Search for papers
arionxiv search "machine learning transformers"
# Fetch and analyze a specific paper
arionxiv fetch 2301.00001
arionxiv analyze 2301.00001
# Daily analysis and trending topics
arionxiv daily
arionxiv trending
# Interactive chat with papers
arionxiv chat
# Manage your library
arionxiv library
3. Web Server
# Start the API server
arionxiv-server
# Access at http://localhost:8000
# API docs at http://localhost:8000/docs
Advanced Configuration
Environment Variables
| Variable | Description | Default |
|---|---|---|
MONGODB_URI |
MongoDB connection string | Required |
OPENROUTER_API_KEY |
OpenRouter API key for LLM (FREE - primary) | Required |
GEMINI_API_KEY |
Google Gemini API key for embeddings | Optional |
GROQ_API_KEY |
Groq API key for LLM (fallback) | Optional |
DEFAULT_ANALYSIS_MODEL |
LLM model name | llama-3.3-70b-versatile |
ARXIV_MAX_RESULTS |
Max papers per search | 50 |
ANALYSIS_BATCH_SIZE |
Papers per analysis batch | 5 |
Automated Daily Dose with GitHub Actions
ArionXiv supports automated daily paper analysis via GitHub Actions. This runs hourly and triggers daily dose for users based on their configured schedule time (in UTC).
Setup Instructions:
-
Fork this repository to your GitHub account
-
Add repository secrets in Settings > Secrets and variables > Actions:
MONGODB_URI: Your MongoDB connection stringOPENROUTER_API_KEY: Your OpenRouter API key (FREE - get at https://openrouter.ai/keys)GEMINI_API_KEY: (Optional) For Gemini embeddingsGROQ_API_KEY: (Optional) Fallback LLM provider
-
Enable GitHub Actions if not already enabled in your fork
-
Configure your schedule using the CLI:
arionxiv settings daily --time 14:00 --enable
Note: Times are in UTC. The workflow runs every hour and processes users scheduled for that hour.
How It Works:
- The workflow runs at the start of every hour (
:00) - It queries the database for users with daily dose enabled and scheduled for the current hour
- Each matching user gets their personalized daily dose generated
- Results are stored in the database and viewable via
arionxiv daily --view
Manual Trigger:
You can manually trigger the workflow from the Actions tab:
- Go to Actions > "ArionXiv Daily Dose"
- Click "Run workflow"
- Optionally specify a
force_hour(0-23) to test a specific time slot
Optional Dependencies
Install additional features:
# Advanced PDF processing
pip install arionxiv[advanced-pdf]
# Machine learning features
pip install arionxiv[ml]
# Enhanced UI components
pip install arionxiv[enhanced-ui]
# Development tools
pip install arionxiv[dev]
# Everything
pip install arionxiv[all]
Database Collections
- users - User accounts and authentication
- papers - Fetched paper metadata and content
- analyses - AI-generated paper analyses
- libraries - User paper collections
- preferences - User settings and preferences
- daily_doses - Daily paper recommendations
- chat_sessions - Interactive chat history
- bookmarks - Saved papers
- reading_progress - Paper reading status
- trending - Trending topics cache
- system_metrics - Performance and usage analytics
- cron_logs - Automated job execution logs
Setup and Installation
Prerequisites
- Python 3.8+
- MongoDB (local or cloud instance)
- Git
Installation
-
Clone the repository
git clone https://github.com/ArionDas/ArionXiv.git cd ArionXiv ``
-
Install dependencies
pip install -r requirements.txt ``
-
Configure MongoDB
- Update
config/settings.pywith your MongoDB connection string - Ensure MongoDB is running and accessible
- Update
-
Initialize the system
cd backend python setup_cron.py # Set up scheduled jobs python main.py # Start the main application ``
Usage
Starting the System
# Start the scheduler for automated analysis
python backend/start_scheduler.py
# Run the main application
python backend/main.py
Accessing the UI
Open frontend/daily-dose-demo.html in your web browser to see the Daily Dose of Papers interface.
API Endpoints
The system provides RESTful API endpoints for:
- User authentication and management
- Paper retrieval and searching
- Daily analysis results
- User preferences and bookmarks
Configuration
Key configuration options in config/settings.py:
- MongoDB Settings: Database connection and collection names
- ArXiv API Settings: Rate limiting and query parameters
- Analysis Settings: Scoring algorithms and thresholds
- Scheduling Settings: Cron job timing and frequency
- Authentication: Local account policies, password hashing, and JWT settings
Automated Analysis
The system runs four types of scheduled analyses:
- Daily Analysis (9:00 AM): Comprehensive paper analysis and scoring
- Hourly Updates (Every hour): Incremental updates and new paper checks
- Weekly Summary (Sundays): Aggregate analysis and trend reports
- Monthly Archive (1st of month): Data archival and cleanup
UI Features
The Daily Dose of Papers interface includes:
- Interactive Paper Cards: Expandable cards with detailed information
- Smart Filtering: Filter by category, relevance, bookmark status
- Sorting Options: Sort by relevance, quality, title, or author
- Bookmark System: Save papers for later reading
- Reading Progress: Track viewed and unread papers
- PDF Integration: Direct access to paper PDFs
- Responsive Design: Works on desktop and mobile devices
Analysis Components
Paper Scoring
- Relevance Score: Based on user preferences and research interests
- Quality Score: Evaluated using citation patterns, author reputation, and content analysis
- Overall Score: Weighted combination of relevance and quality metrics
AI Summary Generation
- Automated abstract summarization
- Key insight extraction
- Reading time estimation
- Difficulty level assessment
Security and Authentication
- Local email/password authentication with PBKDF2 hashing
- JWT-based session management
- User data protection
- API rate limiting
Monitoring and Logging
- Comprehensive logging system
- Performance metrics tracking
- Error monitoring and alerting
- Usage analytics
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests for new functionality
- Submit a pull request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Support
For support and questions, please create an issue in the repository or contact the development team.
Built for the research community
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
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 arionxiv-1.0.0.tar.gz.
File metadata
- Download URL: arionxiv-1.0.0.tar.gz
- Upload date:
- Size: 168.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
17c1a633665bf4241e763f9ec8a12be6c7413eb094aa268812f1c9b63df8e90a
|
|
| MD5 |
df00c05758fd958cb8bd56de730db001
|
|
| BLAKE2b-256 |
4e169be42d3cd348e13ef90d36cd5d99eda95aca7326d8a842399637e6470017
|
File details
Details for the file arionxiv-1.0.0-py3-none-any.whl.
File metadata
- Download URL: arionxiv-1.0.0-py3-none-any.whl
- Upload date:
- Size: 191.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
91e95a7453e04035a143f854f2953b31a366b983e1fcbed9756903d94bf93e11
|
|
| MD5 |
baae4b883817132e84bfa527cb138d1a
|
|
| BLAKE2b-256 |
13219585374395cb1eb7f45cb9b1722694e04cfc645f33dd463ec573a0dd6473
|