entrez-rs

Crates.ioentrez-rs
lib.rsentrez-rs
version0.1.4
sourcesrc
created_at2020-11-08 16:51:10.702498
updated_at2022-12-08 11:55:45.296859
descriptionRust wrapper for the Entrez API
homepage
repositoryhttps://github.com/Zenleaf/entrez-rs.git
max_upload_size
id309961
size37,973
Suneej Surendran-Nair (Zenleaf)

documentation

README

entrez-rs

A Rust wrapper for the Entrez API

release: Crates.io

master: Build Status

This library helps you access the Entrez API using idiomatic Rust. It also provides tools to parse the XML results from Entrez.

Installation

Add the following to your Cargo.toml:

   [dependencies]
   entrez-rs = "0.1.4"

Usage

use entrez_rs::eutils::{Eutils, ESearch, EFetch, DB};
use entrez_rs::parser::esearch::{ESearchResult};
use entrez_rs::parser::pubmed::{PubmedArticleSet};
use entrez_rs::errors::Error;

fn main() -> Result<(), Error>  {
        let xml = ESearch::new(
            DB::Pubmed, 
            "eclampsia")
            .run()?;

        let parsed = ESearchResult::read(&xml);

        println!("{:#?}", &parsed?
                          .id_list
                          .ids);
        
        let pm_xml = EFetch::new(
              DB::Pubmed,
              vec!["33246200", "33243171"])
              .run()?;
        
        let pm_parsed = PubmedArticleSet::read(&pm_xml);

        println!("{}", pm_parsed?.articles);

        Ok(())
}


Will add a walkthrough and tutorial of the API as soon as it reaches beta level.

Inspired by Entrez Direct, Entrezpy and BioPython.

Commit count: 44

cargo fmt