Metadata-Version: 2.4
Name: arionxiv
Version: 1.0.2
Summary: AI-Powered Research Paper Analysis and Management System
Home-page: https://github.com/ArionDas/ArionXiv
Author: Arion Das
Author-email: Arion Das <ariondasad@gmail.com>
Maintainer-email: Arion Das <ariondasad@gmail.com>
License: MIT
Project-URL: Homepage, https://github.com/ArionDas/ArionXiv
Project-URL: Documentation, https://github.com/ArionDas/ArionXiv#readme
Project-URL: Repository, https://github.com/ArionDas/ArionXiv
Project-URL: Bug Tracker, https://github.com/ArionDas/ArionXiv/issues
Keywords: arxiv,research,papers,ai,machine-learning,nlp,analysis,academic,scientific,publication,pdf,text-extraction,mongodb,cli,api
Platform: any
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: Education
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Text Processing :: Linguistic
Classifier: Topic :: Database :: Front-Ends
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Operating System :: OS Independent
Classifier: Environment :: Console
Classifier: Environment :: Web Environment
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pymongo<5.0,>=4.9
Requires-Dist: motor>=3.0.0
Requires-Dist: fastapi>=0.100.0
Requires-Dist: uvicorn[standard]>=0.20.0
Requires-Dist: pydantic[email]>=2.0.0
Requires-Dist: PyJWT>=2.8.0
Requires-Dist: requests>=2.31.0
Requires-Dist: aiohttp>=3.8.0
Requires-Dist: python-dotenv>=1.0.0
Requires-Dist: bcrypt>=4.0.0
Requires-Dist: python-multipart>=0.0.6
Requires-Dist: PyPDF2>=3.0.0
Requires-Dist: pymupdf>=1.23.0
Requires-Dist: Pillow>=9.0.0
Requires-Dist: groq>=0.4.0
Requires-Dist: google-generativeai>=0.3.0
Requires-Dist: pydantic-settings>=2.0.0
Requires-Dist: structlog>=23.0.0
Requires-Dist: arxiv>=2.0.0
Requires-Dist: rich>=13.0.0
Requires-Dist: click>=8.0.0
Requires-Dist: colorama>=0.4.6
Requires-Dist: numpy<2.0.0,>=1.24.0
Requires-Dist: APScheduler>=3.10.0
Requires-Dist: httpx>=0.24.0
Provides-Extra: advanced-pdf
Requires-Dist: pdfplumber>=0.10.0; extra == "advanced-pdf"
Requires-Dist: pytesseract>=0.3.10; extra == "advanced-pdf"
Requires-Dist: tabula-py>=2.9.0; extra == "advanced-pdf"
Requires-Dist: Pillow>=9.0.0; extra == "advanced-pdf"
Requires-Dist: opencv-python>=4.8.0; extra == "advanced-pdf"
Provides-Extra: ml
Requires-Dist: sentence-transformers>=3.0.0; extra == "ml"
Requires-Dist: torch>=2.0.0; extra == "ml"
Requires-Dist: transformers>=4.20.0; extra == "ml"
Provides-Extra: enhanced-ui
Requires-Dist: inquirer>=3.1.0; extra == "enhanced-ui"
Requires-Dist: tabulate>=0.9.0; extra == "enhanced-ui"
Requires-Dist: prompt-toolkit>=3.0.0; extra == "enhanced-ui"
Requires-Dist: alive-progress>=3.1.0; extra == "enhanced-ui"
Provides-Extra: dev
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
Requires-Dist: black>=23.0.0; extra == "dev"
Requires-Dist: flake8>=6.0.0; extra == "dev"
Requires-Dist: mypy>=1.0.0; extra == "dev"
Requires-Dist: pre-commit>=3.0.0; extra == "dev"
Provides-Extra: all
Requires-Dist: pdfplumber>=0.10.0; extra == "all"
Requires-Dist: pytesseract>=0.3.10; extra == "all"
Requires-Dist: tabula-py>=2.9.0; extra == "all"
Requires-Dist: Pillow>=9.0.0; extra == "all"
Requires-Dist: opencv-python>=4.8.0; extra == "all"
Requires-Dist: sentence-transformers>=3.0.0; extra == "all"
Requires-Dist: torch>=2.0.0; extra == "all"
Requires-Dist: transformers>=4.20.0; extra == "all"
Requires-Dist: inquirer>=3.1.0; extra == "all"
Requires-Dist: tabulate>=0.9.0; extra == "all"
Requires-Dist: prompt-toolkit>=3.0.0; extra == "all"
Requires-Dist: alive-progress>=3.1.0; extra == "all"
Dynamic: author
Dynamic: home-page
Dynamic: license-file
Dynamic: platform
Dynamic: requires-python

﻿# ArionXiv - AI-Powered Research Paper Analysis

**ArionXiv** is a CLI tool for discovering, analyzing, and managing research papers from arXiv with AI-powered insights.

## Features

- **Smart Search**: Find papers with intelligent relevance scoring
- **AI Analysis**: Deep paper analysis using OpenRouter (FREE models available)
- **Daily Dose**: Personalized daily paper recommendations
- **Chat with Papers**: Ask questions about any paper
- **Personal Library**: Organize your research collection
- **Beautiful CLI**: Rich terminal interface with customizable themes
- **Trending**: Discover trending research topics

## Installation

```bash
pip install arionxiv
```

## Quick Start

### 1. First Run Setup

On first run, ArionXiv will guide you through API key setup:

```bash
arionxiv
```

> **Note**: If `arionxiv` command is not found, use `python -m arionxiv` instead.
> This happens when Python's Scripts folder is not in your PATH.

### 2. Required Setup

You need:
- **MongoDB Atlas** (free tier available): https://www.mongodb.com/atlas
- **OpenRouter API Key** (FREE): https://openrouter.ai/keys

### 3. Basic Commands

```bash
# Search for papers
arionxiv search "transformer architecture"

# Fetch a paper
arionxiv fetch 2301.00001

# Analyze a paper with AI
arionxiv analyze 2301.00001

# Chat with a paper
arionxiv chat 2301.00001

# Get your daily dose
arionxiv daily

# See trending topics
arionxiv trending

# Manage settings
arionxiv settings
```

> **Alternative**: Replace `arionxiv` with `python -m arionxiv` if the command is not found.

### 4. Authentication

```bash
# Register a new account
arionxiv register

# Login
arionxiv login

# Check session
arionxiv session
```

## Configuration

### Environment Variables

Set these in your `.env` file or system environment:

| Variable | Required | Description |
|----------|----------|-------------|
| `MONGODB_URI` | ✅ Yes | MongoDB connection string |
| `OPENROUTER_API_KEY` | ✅ Yes | OpenRouter API key (FREE tier available) |
| `JWT_SECRET_KEY` | ✅ Yes | Secret key for authentication |
| `GEMINI_API_KEY` | Optional | Google Gemini for embeddings |
| `GROQ_API_KEY` | Optional | Groq as fallback LLM |

### Getting API Keys

1. **MongoDB Atlas** (Free):
   - Go to https://www.mongodb.com/atlas
   - Create free cluster
   - Get connection string

2. **OpenRouter** (Free):
   - Go to https://openrouter.ai/keys
   - Create account
   - Generate API key (free models available!)

3. **JWT Secret**:
   - Generate a secure random string (32+ characters)

## Daily Dose Automation

### Using GitHub Actions (Recommended)

ArionXiv can automatically deliver your daily paper recommendations:

1. Fork the repository
2. Add these secrets in Settings > Secrets:
   - `MONGODB_URI`
   - `OPENROUTER_API_KEY`
   - `JWT_SECRET_KEY`
3. Configure your schedule:
   ```bash
   arionxiv settings daily
   ```

The workflow runs hourly and processes users based on their scheduled time.

### Manual Daily Dose

```bash
# Run daily dose now
arionxiv daily --run

# View today's papers
arionxiv daily --view
```

## Settings & Customization

```bash
# View all settings
arionxiv settings show

# Change theme color
arionxiv settings theme

# Configure API keys
arionxiv settings api

# Set research preferences
arionxiv settings prefs

# Configure daily dose
arionxiv settings daily
```

## Optional Dependencies

```bash
# Advanced PDF processing (OCR, tables)
pip install arionxiv[advanced-pdf]

# ML features (local embeddings)
pip install arionxiv[ml]

# All extras
pip install arionxiv[all]
```

## Commands Reference

| Command | Description |
|---------|-------------|
| `arionxiv search <query>` | Search for papers |
| `arionxiv fetch <paper_id>` | Download a paper |
| `arionxiv analyze <paper_id>` | AI analysis of paper |
| `arionxiv chat [paper_id]` | Chat with papers |
| `arionxiv daily` | Daily dose of papers |
| `arionxiv trending` | Trending topics |
| `arionxiv library` | Manage saved papers |
| `arionxiv settings` | Configure ArionXiv |
| `arionxiv login` | Login to account |
| `arionxiv register` | Create account |
| `arionxiv --help` | Show all commands |

## License

MIT License - see [LICENSE](LICENSE) for details.

## Links

- **PyPI**: https://pypi.org/project/arionxiv/
- **GitHub**: https://github.com/ArionDas/ArionXiv
- **Issues**: https://github.com/ArionDas/ArionXiv/issues

---

**Built for researchers, by researchers** 🔬

