Skip to main content

Tracking daily arXiv updates and generating intelligent summaries with LLMs.

Project description

arxiv-daily

PyPI version Python Version License

AI-powered arXiv research assistant - Beautiful terminal interface for tracking arXiv preprints and generating intelligent summaries with LLMs.

Build your own personal RAG (Retrieval-Augmented Generation) knowledge base - track daily papers, generate structured summaries with rich metadata, and export them to Markdown for seamless integration with vector databases, semantic search engines, and note-taking workflows like Obsidian.

Key capabilities:

  • Daily arXiv Updates: Fetch and filter the latest preprints from any arXiv channel.
  • AI-Powered Summaries: Generate structured, organized summaries using LLMs.
  • Paper Metadata: Fetch detailed metadata for any arXiv paper.
  • Beautiful Output: Colorful terminal output, syntax highlighting, and progress bars using the Rich library.
  • Smart Filtering: Filter by arXiv categories and channels for focused research.
  • Obsidian Integration: Export summaries as Markdown with frontmatter for knowledge management.

Quick Start

Install

Install the package from PyPI:

pip install arxiv-daily

Or install from source for development:

git clone https://github.com/GZU-MuTian/arxiv-daily.git
cd arxiv-daily
pip install -e .

Environment Setup (Recommended)

To streamline usage and avoid repetitive CLI flags, we recommend configuring environment variables. This approach simplifies command execution and enhances security by avoiding credentials in command history.

# LLM Configuration (required)
DEEPSEEK_API_KEY="your-deepseek-api-key-here"

# Default arXiv categories (comma-separated)
export ARXIV_CATEGORY="cs.AI,astro-ph.HE,hep-ph"

# Default output directory for summaries (optional)
export ARXIV_SUMMARIZE_OUTPUT="/path/to/your/obsidian/vault"

Usage Guide

Command-Line Interface

arxiv-daily includes a CLI named arXiv.

🔧 Tip: Run arXiv --help for an overview, or arXiv <command> --help for command-specific options.

Fetch the latest preprints from any arXiv channel with beautiful terminal formatting:

# Get the latest papers in Astrophysics
arXiv new

# Specific channel (e.g., Computer Science - AI)
arXiv new --channel cs.AI

# Filter by multiple categories
arXiv new --channel astro-ph --category astro-ph.HE,astro-ph.IM

Fetch Paper Metadata:

# Get metadata for a specific paper
arXiv meta 2401.12345

# Supports various input formats
arXiv meta arXiv:2401.12345
arXiv meta arXiv:2401.12345v1

Generate AI Summaries:

# Basic summary with default model (DeepSeek)
arXiv summarize 2401.12345

# Specify model and provider
arXiv summarize 2401.12345 --model deepseek-chat --provider deepseek

# Short form
arXiv summarize 2401.12345 -m deepseek-chat -p deepseek -t 0.5

# Save to file (if ARXIV_SUMMARIZE_OUTPUT is set)
arXiv summarize 2401.12345

# Save to specific directory
arXiv summarize 2401.12345 -o /path/to/output

Adjust verbosity for debugging or quiet runs:

# Production - errors only (default)
arXiv --log-level ERROR new

# Short form for detailed debugging
arXiv -v DEBUG new

Project Structure

arxiv_daily/
├── agents.py        # LangGraph agents for complex summarization workflows
├── chains.py        # LangChain chains for LLM interactions
├── cli.py           # Command-line interface built with Typer
├── core.py          # Core functions (_run_new, _run_summarize)
├── llm_client.py    # Unified LLM provider interface
├── utils.py         # Utility functions
└── __init__.py

Related Resources

Contact

For questions and support:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

arxiv_daily-0.1.4.tar.gz (163.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

arxiv_daily-0.1.4-py3-none-any.whl (20.5 kB view details)

Uploaded Python 3

File details

Details for the file arxiv_daily-0.1.4.tar.gz.

File metadata

  • Download URL: arxiv_daily-0.1.4.tar.gz
  • Upload date:
  • Size: 163.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.1 {"installer":{"name":"uv","version":"0.11.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for arxiv_daily-0.1.4.tar.gz
Algorithm Hash digest
SHA256 0f06b1865a27a36de14f489bf58582374808c1cc98e031971c2bd9960754605e
MD5 e7bd7c6a99ab67ccef951c5be6f9c7e5
BLAKE2b-256 028cf80c4a508cd0663a45b8ffc0e298b7bdc78aeacd97db609dbfa468ecffa0

See more details on using hashes here.

File details

Details for the file arxiv_daily-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: arxiv_daily-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 20.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.1 {"installer":{"name":"uv","version":"0.11.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for arxiv_daily-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 1b2c2b1fb4f31a5afd0890b33a5676ca542cb6977c32da0e9d15f47178458e97
MD5 5a298a9bd007dad23306c997ea6c9160
BLAKE2b-256 0d0ded1db39dc28d47d5ddfea8f7ff2904bf7dd7c05326f74f29967bb62b3c10

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page