learner 0.1.0

A simple library for learning stuff
Documentation

learner

A Rust-powered academic research management system

Crates.io docs.rs CI License

Features

  • Extract metadata from academic papers
  • Support for multiple sources:
    • arXiv papers
    • IACR ePrints
    • DOI-based papers
  • Handle both URLs and direct identifiers
  • Async-first design
  • Strong typing and error handling

📦 Installation

Add this to your Cargo.toml:

[dependencies]
learner = "0.1.0"

Quick Start

use learner::Paper;

#[tokio::main]
async fn main() {
    // From arXiv URL
    let paper = Paper::new("https://arxiv.org/abs/2301.07041").await?;
    println!("Title: {}", paper.title);
    
    // From arXiv ID
    let paper = Paper::new("2301.07041").await?;
}

Note The Paper::new() method automatically detects the source type from the input string, handling both URLs and direct identifiers.

Roadmap

Phase 1: Core Functionality

  • PDF content extraction
  • Local database for paper management
  • Filesystem daemon for monitoring new papers
  • REST API for paper submission and retrieval

Warning The PDF extraction feature is experimental and may not work with all paper formats.

Phase 2: Advanced Features

  • LLM-powered paper analysis and summarization
  • RSS feed integration for automated paper discovery
  • Citation graph analysis
  • Automatic tagging and categorization

Contributing

Contributions are welcome! Please feel free to submit a Pull Request, but please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments