#arxiv #api #wrapper

arxiv-rs

A wrapper of the arXiv API for Rust

6 releases

0.1.5 Apr 15, 2021
0.1.4 Apr 15, 2021
0.1.3 Mar 13, 2021
0.1.2 Sep 7, 2020
0.1.0 Aug 31, 2020

#1343 in Web programming

Download history 20/week @ 2023-02-06 21/week @ 2023-02-13 22/week @ 2023-02-20 17/week @ 2023-02-27 12/week @ 2023-03-06 22/week @ 2023-03-13 10/week @ 2023-03-20 10/week @ 2023-03-27 22/week @ 2023-04-03 28/week @ 2023-04-10 18/week @ 2023-04-17 145/week @ 2023-04-24 80/week @ 2023-05-01 81/week @ 2023-05-08 55/week @ 2023-05-15 68/week @ 2023-05-22

299 downloads per month
Used in 4 crates (2 directly)

MIT license

13KB
252 lines

Welcome to arxiv-rs 👋

Crates.io Documentation License

This is a wrapper crate for the arXiv API

Usage

Add dependencies to Cargo.toml

[dependencies]
arxiv-rs = "0.1.5"
tokio = { version = "1.3.0", features = ["full"]}
anyhow = "1.0.32"

Fetch the paper information and save it as a pdf

use anyhow::Result;
use arxiv::ArxivQueryBuilder;

#[tokio::main]
async fn main() -> Result<()> {
    let query = ArxivQueryBuilder::new()
        .search_query("cat:cs.CL")
        .start(0)
        .max_results(5)
        .sort_by("submittedDate")
        .sort_order("descending")
        .build();
    let arxivs = arxiv::fetch_arxivs(query).await?;
    for arxiv in arxivs {
        arxiv.fetch_pdf(&arxiv.title).await?;
    }
    Ok(())
}

You can easily build the query using the macro

use arxiv::query;

let query = query!(
    search_query = "cat:cs.CL",
    start = 0,
    max_results = 5,
    sort_by = "submittedDate",
    sort_order = "descending"
);

Show your support

Give a ⭐️ if this project helped you!


This README was generated with ❤️ by readme-md-generator

Dependencies

~4–12MB
~234K SLoC